Python基础(一)--初识Python

目录

 

                                 Python基础(一)--初识Python

1 Python基本概念

1.1 什么是Python

1.2 Python的语言特征

1.3 Python的应用领域

2 Python开发环境

2.1 Windows操作系统

2.2 Linux / Mac操作系统

2.3 Python虚拟环境

2.4 Python开发工具

3 环境变量

4 变量

4.1 什么是变量

4.2 变量的作用

4.3 定义变量

4.3 平行赋值与None

4.4 删除变量

5 输出与输出

5.1 输出函数print

5.2 输入函数input

5.3 Python2与Python3的输入输出区别

6 注释

6.1 什么是注释

6.2 单行注释

6.3 特殊注释

7 标识符

7.1 什么是标识符

7.2 标识符的语法要求

8 关键字

8.1 什么是关键字


                                 Python基础(一)--初识Python

1 Python基本概念

1.1 什么是Python

Python是计算机编程语言(与计算机沟通的一种方式)中的一种。

Python目前存在两个活跃的版本,分别是Python2与Python3。两个版本互不兼容。

1.2 Python的语言特征

(1)简洁

(2)面向过程与面向对象

(3)解释执行

(4)跨平台性

(5)可扩展

(6)强大的库(内置库与社区库)支持

1.3 Python的应用领域

Python在很多领域都有着广泛的应用,如:网络爬虫,数据分析与科学计算,Web应用开发,可视化桌面程序,游戏编程,

人工智能。

2 Python开发环境

2.1 Windows操作系统

安装过程比较简单,直接下一步就好。在安装时,可以将Python加入到环境变量的选项勾选。如果安装时没有勾选,也可以自行配置。

2.2 Linux / Mac操作系统

Linux / Mac操作系统自带Python2与Python3开发环境。通过python -V或python --version可查看Python的版本信息

2.3 Python虚拟环境

Python虚拟环境是一个半隔离的环境,在该环境中安装的库仅对该环境下的程序有效,不会对系统环境造成影响。为了能够实现Python多版本共存,同时,彼此之间又不会相互干扰,可以通过创建Python虚拟环境来实现。

2.4 Python开发工具

编写Python程序非常简单,可以使用任何存文本编辑器。

3 环境变量

环境变量:操作系统中一种特殊的对象,该对象可以为操作系统提供信息。环境变量由环境变量名与环境变量值组成,变量名用来区别于其他的环境变量,而变量值就是给操作系统提供的信息。环境变量可以具有多个值,多个值之间使用指定的符号分隔。不同的操作系统,分隔符也是不同的。例如,Windows系统的分隔符为“;”,而Linux系统的分隔符为“:”。

Window通过set可查看环境变量,Linux可通过env查看。环境变量分为用户环境变量和系统环境变量。

操作系统中存在很多环境变量,与开发密切相关的就是PATH环境变量,它的作用就是:执行可执行程序处理的时候,操作系统寻找程序的路径。Window设置path环境变量可以通过set PATH= 或者图形化界面的方式;Linux操作系统通过sudo vi /etc/environment设置环境变量,sudo vi ~/.profile  $PATH="$PATH:/new_path"设置用户环境变量。

4 变量

4.1 什么是变量

变量:使用指定的名称来绑定特定的值。

4.2 变量的作用

变量可以保存一个中间结果,可以在下次直接使用,而不必重复进行一次计算

4.3 定义变量

变量具有变量名与变量值。

定义变量方式:变量名 = 变量值。如:age=18。

这样,就定义了一个变量,变量名为age,值为18。将名称age绑定18,中间的“=”是赋值号,不是数学上的等号(数学上的等号Python中使用“==”),意为将18赋值给age,这是一个从右向左的运算符。定义之后,我们就可以使用变量名来访问其所绑定的值。

变量可以更改绑定的值,再次执行age = 20时,age绑定的值就由之前的18变成20。

在python中是可以一次性定义多个变量的,语法为:a=b=c=1 这样,我们就一次性的定义了三个变量,所有变量绑定的值均为1。

注意:在python中定义变量时,必须要绑定一个具体的值,否则无法使用;变量在第一次赋值时叫做变量的定义,后面赋值时就不在是变量的定义,而是变更绑定值。

4.3 平行赋值与None

平时赋值是Python语言所特有的语法。在进行多变量操作时,可以提供简便性。

# 平行赋值,计算从右向左,先进行右侧的计算,然后赋值给左侧对应的变量
x,y=y,x

None是Python中内置的一个常量值,表示变量值缺失。因为我们在定义变量时,必须给变量一个明确的值。但可能在有些情况下,变量在定义时,值不方便给出,而是在随后的计算中才能确定,因此,我们就可以在定义变量时,给变量赋予None值。如:age=None。

None是一个特殊的值,表示变量不绑定有效的变量,None也经常作为参数的默认值,应用与函数的参数传递中。

4.4 删除变量

定义变量时,实际上就是使用变量名关联了指定的值。当变量不需要,我们也可以删除变量名,删除变量名使用del,语法如下:

del 变量名

当删除变量名后,我们就无法再使用变量名来访问其之前所关联的值。

注意:删除的仅仅是变量,但是变量所绑定的对象还在。所以将值关联多个变量。当删除一个变量名后,不会影响到其他的变量名,因为del删除的只是变量名称,而并非变量名所关联的值对象。

5 输出与输出

5.1 输出函数print

print内置函数的使用,print可以输出括号里面的内容,并在输出之后产生换行

(1)输出之后不换行,设置end参数

# print默认end参数值为\n(换行符)
print("hello",end="")

(2)多关键字输出,用,分割

x=y=z=1
print(x,y,z)

(3)设置分隔字符,使用sep关键字,默认是空格

print(x,y,z,sep="#")

5.2 输入函数input

input内置函数的使用,当解释器解析input函数是,程序会暂停执行,等待我们进行输入

(1)获取输入的内容

# input函数会返回我们输入的内容
print("请输入:")
x = input()

(2)指定提示信息

input("指定提示的内容:")

5.3 Python2与Python3的输入输出区别

(1)在Python2中,print是关键字,可以是用print然后空格输出,不过也支持函数的形式;Python3中,print是函数

(2)在Python3中不会对输入的内容进行特殊的处理,无论输入什么类型都会以字符串的形式返回;在Python2中,input函数会进行计算,可能会带来潜在的不安全性,想在Python2中实现Python3的功能可以使用raw_input。

6 注释

6.1 什么是注释

注释:对程序进行解释说明的文字,注释的内容会被解释器所忽略

6.2 单行注释

单行注释使用#表示,从#开始,到本行的末尾,都是注释内容。根据惯例,注释内容写在其解释说明的程序上方。

6.3 特殊注释

在Python中,存在两种特殊类型的注释。严格来说,以上两种特殊注释不是真正的注释,算是一种设置。因为编译器会忽略注释内容,但不会忽略这两种设置。

(1)设置Python解释器的位置

在文件的第一行加入:#!/usr/bin/python3

作用:告知系统Python解释器的位置(这里的位置为/usr/bin/目录下)。这样设置后,我们就可以在终端直接执行Python文件(该文件需要具有可执行的权限)。然而,这种设置方式并不通用,其不利于程序的移植。因为,并非所有的操作系统中,Python解释器都在/usr/bin/这个路径下,为了能够是程序具有更好的可移植性,我们可以采用如下的方式设置:

#!/usr/bin/env python3

/usr/bin/env会根据环境变量PATH指定的目录中来搜索python3文件,只要/usr/bin/env的位置没有改变,当程序迁移时,也只需要改变环境变量即可,而无需批量修改每一个Python文件中第一行的路径信息。

注意:如果设置解释器的位置,则必须是文件的第一行;设置Python解释器的位置主要应用于Unix / Linux操作系统中,对于Windows操作系统中,可直接使用*.py的方式来运行。

(2)设置文件编码

如果在文件第一行或第二行注释中匹配的形式:coding[=:]\s*([-\w.]+),则该注释就是文件的编码声明。建议的声明格式如下:

# -*- coding: 编码名称 -*-

例如:# -*- coding:UTF-8 -*-

这样,该Python文件就会使用UTF-8的编码。

注意:如果设置编码,则编码必须是文件中的第一行或第二行,如果在第二行,则第一行必须也是注释;Python3文件的默认编码为UTF-8。(Python2为ASCII)

7 标识符

7.1 什么是标识符

标识符,就是作为类,方法(函数),变量等名字的符号。

7.2 标识符的语法要求

(1)由字符,数字与_组成,并且第一个字符不能是数字;

(2)标识符不能与Python中的关键字重名

注意:①标识符是区分大小写的;②Python3中,标识符的字符集为Unicode字符集,Python2中,标识符字符集为ASCII(U+0001~U+007F);③尽管Python3标识符的字符集为Unicode字符集,但不意味着整个Unicode字符集中的字符都是合法的,例如:“@”,“$”,“*”等,这些都不可以出现在标识符中。

8 关键字

8.1 什么是关键字

关键字:具有特殊语义的符号。Python3.6中,所有的关键字列表如下:

False

class

finally

is

return

None

continue

for

lambda

try

True

def

from

nonlocal

while

and

del

global

not

with

as

elif

if

or

yield

assert

else

import

pass

 

break

except

in

raise

 

可以通过如下程序打印Python中所有的关键字列表。

import keywordprint(keyword.kwlist)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/473731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Kaggle微课程】Natural Language Processing - 2.Text Classification

文章目录1. bag of words2. 建立词袋模型3. 训练文本分类模型4. 预测练习:1. 评估方法2. 数据预处理、建模3. 训练4. 预测5. 评估模型6. 改进learn from https://www.kaggle.com/learn/natural-language-processing NLP中的一个常见任务是文本分类。这是传统机器学…

淡定啊,学习啊

最近一直在背单词,已经忽略本质工作,写代码。这个要改啊,本职的代码还是要写的,不然怎么吃饭啊。发现这个还是昨天晚上看了会js,发现一个很好的特性,一阵狂喜,后来仔细一想是,最近荒…

Django框架—富文本编辑器

借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的、所见即所得的页面此处以tinymce为例,其它富文本编辑器的使用也是类似的在虚拟环境中安装包 pip install django-tinymce2.6.0安装完成后,可以使用在Admin管理中&#xf…

Python基础(二)--数据类型,运算符与流程控制

目录 Python基础(二)--数据类型,运算符与流程控制 1 数据类型 1.1 Python中的数据类型 1.2 整数类型(int) 1.3 布尔类型 1.4 浮点类型 1.5 复数类型 1.6 类型转换 2 运算符 2.1 算术运算符 2.2 布尔运算符 …

求二维数组的转置矩阵

1 /*2 求二维数组的转置矩阵3 输入4 两个整数n和m 5 n行m列的二维数组 6 输出7 输出该二维数组的转置矩阵 8 数据范围9 0<n<20; 0<m<20; 10 */ 11 #include<stdio.h> 12 int main() 13 { 14 int a[20][20]; 15 int b[20][20]; 16 …

【Kaggle微课程】Natural Language Processing - 3. Word Vectors

文章目录1. 词嵌入 Word Embeddings2. 分类模型3. 文档相似度练习&#xff1a;1. 使用文档向量训练模型2. 文本相似度learn from https://www.kaggle.com/learn/natural-language-processing 1. 词嵌入 Word Embeddings 参考博文&#xff1a;05.序列模型 W2.自然语言处理与词…

Django搜索工具——全文检索

全文检索不同于特定字段的模糊查询&#xff0c;使用全文检索的效率更高&#xff0c;并且能够对于中文进行分词处理haystack&#xff1a;全文检索的框架&#xff0c;支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎&#xff0c;点击查看官方网站whoosh&#xff1a;纯Py…

LeetCode 787. K 站中转内最便宜的航班(Dijkstra最短路径 + 优先队列)

文章目录1. 题目2. 解题1. 题目 有 n 个城市通过 m 个航班连接。每个航班都从城市 u 开始&#xff0c;以价格 w 抵达 v。 现在给定所有的城市和航班&#xff0c;以及出发城市 src 和目的地 dst&#xff0c;你的任务是找到从 src 到 dst 最多经过 k 站中转的最便宜的价格。 如…

Windows Phone 资源管理与换肤思考

Windows Phone 资源管理与换肤思考 原文 Windows Phone 资源管理与换肤思考 新入手一台Windows 8的笔记本&#xff0c;安装了VS2013后&#xff0c;终于又可以开发WP了。公司暂时不愿意开发WP&#xff0c;那么咱就自行研究吧&#xff01; 在没有WP开发环境的时候&#xff0c;曾经…

Django完成异步工具——celery

情景&#xff1a;用户发起request&#xff0c;并等待response返回。在本些views中&#xff0c;可能需要执行一段耗时的程序&#xff0c;那么用户就会等待很长时间&#xff0c;造成不好的用户体验&#xff0c;比如发送邮件、手机验证码等使用celery后&#xff0c;情况就不一样了…

Python基础(三)--序列

Python基础&#xff08;三&#xff09;--序列 1 序列相关的概念 1.1 什么是序列 序列是一种可迭代对象&#xff0c;可以存储多个数据&#xff0c;并提供数据的访问。 序列中的数据称为元素&#xff0c;Python内置的序列类型有&#xff1a;列表&#xff08;list&#xff09;…

DOM2和DOM3

只写一些DOM2和DOM3中我目前能用到的点&#xff0c;更多细节会以后补上 一.DOM变化 1.DOM2级为不同的DOM类型引入了一些与XML命名空间有关的方法&#xff08;对HTML文档没有实际意义&#xff09;。 2.定义了以编程方式创建Document实例的方法 3.支持创建DocumentType对象 二.样…

项目上线最后工作——布署环境

当项目开发完成后&#xff0c;需要将项目代码放到服务器上&#xff0c;这个服务器拥有固定的IP&#xff0c;再通过域名绑定&#xff0c;就可以供其它人浏览&#xff0c;对于python web开发&#xff0c;可以使用wsgi、apache服务器&#xff0c;此处以wsgi为例进行布署服务器首先…

spacy 报错 gold.pyx in spacy.gold.GoldParse.__init__() 解决方案

在使用 spacy 进行 NLP 时出现以下错误&#xff1a; --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-164-8ef00790b0bb> in <module&g…

Python基础(四)--字典与集合

Python基础&#xff08;四&#xff09;--字典与集合 1 字典 1.1 什么是字典 字典提供的是一种映射存储的方式。字典分为两个部分&#xff0c;一个是键&#xff08;key&#xff09;&#xff0c;一个是key所关联的值&#xff08;value&#xff09;。&#xff0c;一个键关联&am…

[Kaggle] Spam/Ham Email Classification 垃圾邮件分类(spacy)

文章目录1. 导入包2. 数据预览2. 特征组合3. 建模4. 训练5. 预测练习地址&#xff1a;https://www.kaggle.com/c/ds100fa19 相关博文&#xff1a; [Kaggle] Spam/Ham Email Classification 垃圾邮件分类&#xff08;RNN/GRU/LSTM&#xff09; [Kaggle] Spam/Ham Email Classifi…

电商网站(Django框架)—— 大纲内容与基本功能分析

1. 项目架构 2. 数据库表结构 3. 数据库读写分离 4. Django读写分离配置 新建utils/db_router.py 课后阅读资料 http://python.usyiyi.cn/documents/django_182/topics/db/multi-db.html 5. 用户认证模型 注意&#xff1a; AUTH_USER_MODEL配置参数要在第一次迁移数据库之…

实现一个无法被继承的C++类

原文地址&#xff1a;http://blog.csdn.net/lazy_tiger/article/details/2224899 一个类不能被继承&#xff0c;也就是说它的子类不能构造父类&#xff0c;这样子类就没有办法实例化整个子类从而实现子类无法继承父类。我们可以将一个类的构造函数声明为私有&#xff0c;使得这…

Python基础(五)--函数

目录 Python基础&#xff08;五&#xff09;--函数 1 函数的作用 1.1 函数定义与调用 1.2 函数的作用 1.3 空语句 2 参数与返回值 2.1 函数的参数 2.2 函数的返回值 2.3 返回多个值 3 参数的默认值 3.1 可选参数 3.2 参数的默认值 4 位置参数与关键字参数 4.1 关键…

LeetCode 1024. 视频拼接(动态规划/贪心)

文章目录1. 题目2. 解题2.1 动态规划2.2 贪心1. 题目 你将会获得一系列视频片段&#xff0c;这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠&#xff0c;也可能长度不一。 视频片段 clips[i] 都用区间进行表示&#xff1a;开始于 clips[i][0] 并于 clip…