1.单变量赋值
等号(=)用来赋值,左边是一个变量名,右边是存储在变量中的值 ,定义变量不需要声明类型,可以直接赋值使用。
例:
temp1 = 100 # 赋值整型变量
temp2= 10234.0234 # 浮点型
temp3= "天气不错!" # 字符串
2.多变量赋值
Python支持给多个变量赋值。
例:
a=b=c=d=1
Python还支持给多个不同类型的变量同时赋值。
例:
temp1,temp2,temp3 = 123,22.424,"天气还行"
3.数据类型及数字类型
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
Python支持四种不同的数字类型:
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
例:
int | long | float | complex |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3e+18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2E-12 | 4.53e-7j |
复数的表示可以是a + bj,或者 complex(a,b) ,long类型在Python3中好像已经不用了。
4.字符串
字符串在Python中很常用。
python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
字符串截取:
字符串通过字符串变量[头下标:尾下标] 的方式来进行截取。
例:
str = "12345678"
a = str[0]
b = str[7]
c = str[-1]
d = str[-3]
e = str[2:]
f = str[:4]
g = str[1:5]
h = str[3:-1]*2
i = str[-5:-1]+'0000'
print(a,b,c,d,e,f,g,h,i)
输出为:
1 8 8 6 345678 1234 2345 45674567 45670000
str[0]表示取字符串的第一位
str[7]表示取第八位
str[-1]表示取最后一位,也就是倒数第一位
str[-3]表示取倒数第三位
str[2:]表示取从第三位开始到结束
str[:4]表示取从开始到第三位
ps:开始是从0开始,用字符串变量[头下标:尾下标] 截取的时候,是截止到尾下标的前一位,不包含尾下标。
str[1:5]表示取从第二位开始到第四位截止
str[3:-1]表示取从第四位开始到倒数第二位截止,*2表示输出2遍
str[-5:-1]表示从倒数第五位到倒数第二位,然后拼接上0000
5. Python列表
列表支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到列表变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
例:
list = [123,"apple",33.23]
new_list = [222,"banana",11.65,112,list]
print(list)
print(new_list)
print(new_list[0])
print(new_list[-1])
print(new_list[:-1])
print(new_list[1:3]*2)
输出:
[123, 'apple', 33.23]
[222, 'banana', 11.65, 112, [123, 'apple', 33.23]]
222
[123, 'apple', 33.23]
[222, 'banana', 11.65, 112]
['banana', 11.65, 'banana', 11.65]
列表的截取操作和字符串一样的操作。
6.Python元组
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表,赋值后就不能更改了。
因此如:
tuple = (123,"apple",33.23)
tuple(2)=3
就会报错:SyntaxError: can't assign to function call语法错误。
例:
tuple = (123,"apple",33.23)
new_tuple = (1,"banana",2.2,3,tuple)
print(tuple)
print(new_tuple)
print(new_tuple[0])
print(new_tuple[-1])
print(new_tuple[:-1])
print(new_tuple[1:3])
元组的截取操作也是一样的。
结果:
(123, 'apple', 33.23)
(1, 'banana', 2.2, 3, (123, 'apple', 33.23))
1
(123, 'apple', 33.23)
(1, 'banana', 2.2, 3)
('banana', 2.2)
7. Python字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
例:
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob', 'code': 6734, 'dept': 'sales'}
print(dict['one']) # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
结果:
This is one
This is two
{'name': 'runoob', 'code': 6734, 'dept': 'sales'}
dict_keys(['name', 'code', 'dept'])
dict_values(['runoob', 6734, 'sales'])
8.强制数据类型转换
函数 | 描述 |
---|---|
将x转换为一个整数 | |
将x转换为一个长整数 | |
将x转换到一个浮点数 | |
创建一个复数 | |
将对象 x 转换为字符串 | |
将对象 x 转换为表达式字符串 | |
用来计算在字符串中的有效Python表达式,并返回一个对象 | |
将序列 s 转换为一个元组 | |
将序列 s 转换为一个列表 | |
转换为可变集合 | |
创建一个字典。d 必须是一个序列 (key,value)元组。 | |
转换为不可变集合 | |
将一个整数转换为一个字符 | |
将一个整数转换为Unicode字符 | |
将一个字符转换为它的整数值 | |
将一个整数转换为一个十六进制字符串 | |
将一个整数转换为一个八进制字符串 |
其中str()和repr()都可以将python中的对象转换为字符串类型,但是有区别,str是面向用户的,而repr面向程序员。
看不懂就举个栗子:
s = 'abcde'
print(str(s))
print(repr(s))
输出为:
abcde
'abcde'
发现repr方法把引号加上了,再试试。
s = 'abcde\n'
print(str(s))
print(repr(s))
abcde
'abcde\n'
repr方法没有识别\n换行符,而是直接输出\n了。
再试试:
s = 'abcde\\'
print(str(s))
print(repr(s))
abcde\
'abcde\\'
可以发现repr与str的区别了,可根据需求调用。
笔记:
- 变量赋值简单粗暴不需要声明类型, 灵活多变,非常好用。
- 数字数据类是不可改变的数据类型,改变数字数据类型会分配一个新的对象。
- 字符串的操作有基本的功能不需要再自己进行拼接遍历的操作。
- 列表用 "[ ]" 标识类似 C 语言中的数组。
- 元组用 "( )" 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
- 字典用 "{ }" 标识。字典由索引 key 和它对应的值 value 组成。
- 判断数据类型可以用type()函数,也可以用isinstance(a, int)这样来进行验证