一、Python变量
Python的变量其实就是一个引用(索引),指向内存中的对象。所以变量无类型,对象有类型。
①a = 1表示让a指向内存中数据类型为整型,值为1的对象
②a = b表示让b指向a指向的对象
③a = 2表示a指向了一个新的对象2,但是b还是指向1
假如b=3也就是b又指向了3这个对象,此时1就没有索引指向它,Python就会自动将没有引用指向的对象销毁,释放相应内存,对于小的整数和字符串,Python会缓存这些对象而不是频繁的建立和销魂。
Python变量有哪些属性?eg: a=1
1、对象的类型。type(a)
2、内存地址。id(a)
3、对象的值。1
Python变量的命名规则:
1、不能是Python的关键字。help(‘keywords’)
2、不能以数字开头。
3、变量名的组成只能由字母,数字,下划线组成。
二、Python的数据类型
所谓可变对象就是在不改变id的情况下,改变属性的值,也就是对对象本身进行改变,而不可变对象其实就是不对原序列进行修改,而再开辟一块空间存储修改的序列。
1、Python的数值类型:int、float、complex、bool
整型:int 正、负、0
Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法是一样的:0,100,-200等
浮点型:float 0.1 -0.09
复数型:complex c = 1 + 2j 或者 c = 1 + 2J 虚部只能用j或者J
cmath是可以用来求复数的平方根的模块。
Python中没有单独的虚数类型,他们被看作实数部分为0的复数。
布尔型:bool
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值。
布尔值可以用and、or、not运算。
运算符:
+:加法
-:减法
*:乘法
/ : Python3中的除法总会返回一个浮点型,要获取整数用//表示取商的意思。
%: 取余数
幂运算 : 3**2 3是底数,2是指数,结果是9
向上向下取整://是向下取整
向上取整要导入math模块
2、序列类型
这里只集中说下序列类型共有的一些用法。
2.1索引
索引也就是序列类型中值的下标,显示了数据在序列中的位置信息。注意索引有正索引和负索引,正索引是从0开始的,负索引是从-1开始的。
我们可以利用索引来取相应位置的值。
>>> li = [1,2,3,4]
>>> li[0]
1
>>> li[-1]
4
2.2切片
索引只能访问序列的一个数据,我们可以利用分片来获取序列的一个范围内的数据。
切片就是指定切割范围,注意范围是左闭右开的,同时还可以设置取值的步长,默认步长是1。其中如果步长为正就要求左边索引小于右边索引(因为此时数是从左往右数);如果步长为负,就要求左边索引大于右边索引(因为此时数是从右往左数)。
>>> li[1:3]
[2, 3]
>>> li[1:2]
[2]
>>> li[-2:-1]
[3]
>>> li[-3:-1]
[2, 3]
>>> li[1:4:2]
[2, 4]
>>> li[3:1:-1]
[4, 3]
>>> li[-2:-4:-2]
[3]
如果左右是从头开始可以不写索引,表示从头开始或者到结尾。
>>> li[:2]
[1, 2]
>>> li[1:]
[2, 3, 4]
>>> li[:]
[1, 2, 3, 4]
2.3序列相加相乘
可以通过“+”运算符来进行序列的连接,但是只有相同类型的序列才能进行连接。
>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> 'hello'+'world'
'helloworld'
>>> [1,2,3]+'hello'
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
[1,2,3]+'hello'
TypeError: can only concatenate list (not "str") to list
关于相乘,我们可以通过序列乘以一个数来进行序列的重复,乘以多少就重复多少倍。
>>> [1,2,3]*5
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 'hello'*3
'hellohellohello'
2.4成员资格
检查一个子序列是否在序列中,可以用in运算符。返回值类型为bool。
>>> s = 'helloworld'
>>> 'hello' in s
True
>>> 'dudan' in s
False
2.5 长度、最大值、最小值
内置函数len,min,max非常有用。
len 可以帮我们返回序列长度。
min可以帮我们返回序列中的最小值。
max可以帮我们返回序列中的最大值。
>>> li = [1,2,3,4]
>>> len(li)
4
>>> max(li)
4
>>> min(li)
1
接下来将分篇介绍Python的六大数据类型:字符串,列表,元组,字典,集合