目录
基本知识
变量命名
变量名:只包含数字,下划线,字母
。但只能以下划线或字母开头
。并且不能使用关键字
例:
_name = """CC"""
print(_name) #输出:CC
注释
# 单行注释内容
'''
多行注释内容
1
2
'''
"""
多行注释内容
1
2
"""
print([1,2,3][0]) #输出:1
可变数据类型与不可变数据类型
- 一切皆为对象,一切皆为对象的引用
不可变数据(3 个):Number(数值)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
不可变数据类型
- x引用的地址处的值是不能被改变的
例子:
>>> x = 1
>>> id(x)
140730820695712
>>> y = 1
>>> id(y)
140730820695712
>>> x = 2
>>> id(x)
140730820695744
>>> y = 2
>>> id(y)
140730820695744
>>> z = y
>>> id(z)
140730820695744
- id()查看的是当前变量的地址值
- x = 1和y = 1两个操作的结果表示
x和y在此时的地址值是一样
,也就是说x和y 其实是引用了同一个对象
,即1。 - 进行x = 2赋值时(
创建了一个新对象的引用
),发现x的地址值变了,虽然还是x这个引用,但是其地址值却变化了,后面的y = 2以及z = y,使得x、y和z都引用了同一个对象,即2。 - 当每个对象没有引用时:地址要被“垃圾回收”
可变数据类型
- 对一个变量进行操作时,其值是可变的,
值的变化并不会引起新建对象,即地址是不会变的
,只是地址中的内容变化了或者地址得到了扩充
例:
>>> a = [1,2,3]
>>> id(a)
2688146540864
>>> a = [1,2,3]
>>> id(a)
2688146552384
>>> a.append(4)
>>> id(a)
2688146552384
>>> a += [2]
>>> id(a)
2688146552384
>>> a
[1, 2, 3, 4, 2]
- 进行两次a = [1, 2, 3]操作,两次a引用的地址值是不同的,也就是说其实创建了两个不同的对象
- 对于可变数据类型来说,
具有同样值的对象是不同的对象
,即在内存中保存了多个同样值的对象,地址值不同 - 对a进行的操作不会改变a引用的地址值,只是在地址后面又扩充了新的地址
基本数据类型:
Python3
中有六个标准的数据类型:
- Number(数值)
- String(字符串)
- List(列表)
- Tuple(元组)
- Sets(集合)
- Dictionary(字典)
可用type()方法查看变量类型
(python定义变量时不会指明变量类型)
例:
>>> a = 3/2
>>> type(a)
<class 'float'>
>>> b = 'whs'
>>> type(b)
<class 'str'>
>>> a = [1,2,3]
>>> type(a)
<class 'list'>
>>>
>>> a = (1,2,3)
>>> type(a)
<class 'tuple'>
>>> c = complex(1,1)
>>> type(c)
<class 'complex'>
>>> c = {5:4,'whs':'cc'}
>>> type(c)
<class 'dict'>
Number
python3 支持三种不同数值类型:
整型(int)
——是正或负整数,不带小数点。没有限制大小,可以当成long来使用。python2才有Long类型浮点型(float)
——整数部分与小数部分组成。也可用科学计数法表示(2.5e = 2.5 * 10^2 = 250)复数类型(complex)
——复数由实数部分和虚数部分构成,可以用a+bj,或者complex(a,b) a是实数部分,b是虚数部分。虚数部分如果缺省,缺省值为0。
数字类型转换
方式 | 效果 |
---|---|
int(x) | 将x转换为整数 |
float(x) | 将x转换为浮点数 |
complex(x) | 将x转换到一个复数,实数部分为x,虚数部分为0 |
complex(x,y) | 将x转换到一个复数,实数部分为x,虚数部分为y |
注:x与y是数字表达式
数值运算操作符
- Python
求余公式:r=a - b*[a//b]
(r为余数,a为被除数,b为除数且不能为0)
赋值增强运算符
String
字符串基本特点
- 字符串的本质是:
字符序列。Python 的字符串是不可变的
,我们无法对原字符串做任何修改 - Python3 的字符默认就是
16 位 Unicode 编码
,ASCII 码是 Unicode 编码的子集。 - 使用
内置函数 ord()
可以把字符转换成对应的 Unicode 码; - 使用
内置函数 chr()
可以把十进制数字转换成对应的字符。
a = 'a'
b = 'b'
print(ord(a))
print(ord(b))
a = 97
b = 98
print(chr(a))
print(chr(b))
输出:
97
98
a
b
创建字符串
通过单引号或双引号创建字符串,或者连续三个单引号或三个双引号
s = 'hello python'
s1 = "hello python"
s2 = """
hello
python
"""
print(s)
print(s1)
print(s2)
注:三个单引号或三个双引号可用来设置多行字符串