1、变量
1、变量的声明
python语言是动态语言
- 变量不需要事先声明
- 变量的类型不需要声明
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的 类型
是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是其指向的具体的值。
a = 1
a = '你好'
2、变量命名规则
可以包含以下字符
-
大小写字母(a-z,A-Z)
-
变量名区分大小写; a 和 A 是不同的变量
-
数字(0-9)
-
下划线(_)
不可以以数字开头
3、变量命名潜规则
- 不要以单下划线和双下划线开头;如:_user或 __user
- 变量命名要易读;如:user_name,而不是username
- 不用使用标准库中(内置)的模块名或者第三方的模块名
- 不要用这些 Python 内置的关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
> 上面打印出来的数据在 Python 中被称为列表, 列表是 Python中一种数据结构。关于数据结构,后面的章节会详细说明。
>列表的都是 Python3 中的关键字。
#可以使用一下方法验证,返回 True 就是 Python 的关键字
>>> keyword.iskeyword('del')
True
>>>
4、变量赋值
python 中使用等号 =
对变量进行赋值,。
等号左边被称为变量名,等号右边称为变量的值,确切的说是对象
n = 5
5、Python 中的变量是什么
在 python 中究竟该如何正确理解变量的赋值过程呢?
s = 'hello'
以上的变量赋值,应该说成把变量分配给对象更合理。
hello
这个字符串对象会在内存中先被创建,之后再把变量名 s
分配给这个对象。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5dkycbJ-1601132024993)(E:/Linux笔记/python笔记/assets/page19image5508560.png)]
所以要理解 Python 中的变量赋值,应该始终先看等号右边。
对象是在右边先被创建或者被获取,在此之后左边的变量名才会被绑定到对象上,这就像为对象贴上了标签。
变量名本质上是对象的标签或者说是对象的名字,当然一个对象可以有多个标签或者名字。
比如: 张三 和 小张 指的都是同一个人
请看下面的代码示例:
a = 1
b = a
a = 2
print(b) # b 会是 ?
a = 1
时如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jlLyDV36-1601132024997)(E:/Linux笔记/python笔记/assets/page20image5532224.png)]
b = a
时如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mutZlUdX-1601132025008)(E:/Linux笔记/python笔记/assets/page20image5530976.png)]
a = 2
时如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X1K1vIAt-1601132025015)(E:/Linux笔记/python笔记/assets/page20image5531184.png)]
上面的 b = a
我们称它为 传递引用,此时对象会拥有两个名称(标签) ,分别是 a
和 b
6、变量的多元赋值
在 Python3 中你可以这样给变量赋值
In [2]: x, y, z = 1, 2, 3
In [3]: x
Out[3]: 1
In [4]: y
Out[4]: 2
In [5]: z
Out[5]: 3
当然也可以这样
In [10]: a, b, c = 'abc'
In [11]: a
Out[11]: 'a'
In [12]: b
Out[12]: 'b'
In [13]: c
Out[13]: 'c'
假如你需要对一个序列类型中的数据进行一一解开赋值,那就需要等号左边的变量名和序列类型数据中的元素个数相同。
这种多元赋值方式在 Python 中也可以称为元组解包。
2、数据类型
Python3 中有六个标准的数据类型:
- Number(数字) a = 30
- String(字符串) b = ‘hello’
- List(列表) c = [‘小明’, ‘小红’, ‘小兰’, ‘柯南’]
- Tuple(元组) d = (1, 2, 4, 56, 7)
- Set(集合) e = {3, ‘hello’, ‘world’, True}
- Dictionary(字典)f = {‘name’:‘Tom’,‘age’:‘24’,‘height’:‘180’}
查看类型:使用type内置类
a = 30
b = 'hello'
c = ['小明', '小红', '小兰', '柯南']
d = (1, 2, 4, 56, 7)
e = {3, 'hello', 'world', True}
f = {'name':'Tom','age':'24','height':'180'}
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
print(type(f))
print(type(3.15))
<class 'int'>
<class 'str'>
<class 'list'>
<class 'tuple'>
<class 'set'>
<class 'dict'>
<class 'float'>
[Finished in 0.2s]
Python3 的六个标准数据类型中:
- **不可变数据(3 个):**Number(数字)、String(字符串)、Tuple(元组);
- **可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)。
Python 支持三种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
3、标识符和关键字
标识符:变量,模块名,函数名,类名
标识符的命名规则:
1.由数字、字母和_组成,不能以数字开头
2.严格区分大小写(计算机编程里,一共有52个英语字母)
3.不能使用关键字
关键字在Python语言里,有特殊含义的单词吗,如(if/for/else/where/try等)
规范:建议遵守,会显得专业,并且代码易读
1.顾名思义(一般用英文意思简写)
2.遵守一定的命名规则
1)小驼峰命名法:第一个单词的首字符小写,以后每个单词的首字符都大写 userNameAndPassword
2)大驼峰命名法:每个字母的首字母都大写 PersonModel
3)使用下划线连接: user_name_and_password
在Python里的变量,函数和模块名使用下划线连接;Python里的类名使用大驼峰命名法