数字类型:
复数:
- x=1+2j #1 为实数, 2j 为虚数
- print(x.real)
- print(x.imag)
可变: 值变, id 不变, 可变 == 不可 hash
不可变: 值变, id 就变, 不可变 == 可 hash
print(hash(123))
数字类型和字符串类型为不可变
字符串类型:
在'',"",''''''内定义的一串字符.
mag='hello'
1. 按索引取值(正向取 + 反向取): 只能取
- print=(mag[0])
- print=(mag[-1])
2. 切片 (顾头不顾尾, 步长) 也适用于列表
- print(mag[0:4]) #0 为首, 4 为尾
- hell
- print(mag[1:4:2])#1 为首, 4 为尾, 2 为步长, 隔 2 取一次.
- l
- print(mag[:]) #开始取到结尾
- rint(mag[-1::-1]) #倒着取出所有值
3. 长度: len
print(len(mag)) 等于 print(mag.__len__())
4. 成员运算 in 和 not in
- print('llo' in mag)
- print('llo' not in mag)
5. 移除空白 strip: 只清除 2 边的空字符
- password='123456'
- pritn(password.strip())
- password=input('>>:').strip()
- lstrip(去左)rstrip(去右)
6. 切分 split
- user='root:x:0:0::/root:/bin/bash'
- res=user.split(':') #默认以空格分隔
- print(res[0])
- root
- path='C:\\a\\d.txt'
- print(path.split('\\',1)) #1 为只分隔一次
- print(path.rsplit('\\',1)) #从右向左切
7. 循环
- mag='hel'
- n=0
- size=len(mag)
- while n <size:
- print(mag[n])
- n+=1
- for i in mag:
- print(i)
- for i in range(0,5,2):
- print(i)
8. 大小写变化
- print('Ajisdf'.lower()) #变小写
- print('asdF'.upper()) #变大写
- 9.startswith(以什么开始),endswith(以什么结尾)
- ma=amk thui
- print(ma.startswith('a'))
- print(ma.endswith('i'))
10.format 传值
- print('my name is %s age is %s' %('lx',78))
- print('my name is () age is ()' format('lx',78))
- print('my name is (x) age is (y)' format(y=78,x='lx'))
- print('my name is (0) age is (1) you love (0)' format('lx',78))
11.join(和 split 相反)只用于字符串类型的列表拼接
- inct='root:x:0:0:/root:/bin/bash'
- l=inct.split(':')
- print(':'.join(l))
- 12.replsce
- mag='my is koko my is toto my is bubu'
- mag=mag.replsce('my','kawa',1) #默认替换所有, 1 为一次
- print(mag)
13.isdigit 判断值为是否为数字类型
- password='123'
- if password.isdigit():
- password=int(password)
- 14.find,rfind(从右找),index,rindex(查找),count(统计)
- mag='my is ksis'
- print(mag.find('is'))
- print(mag.index('is'))
- print(mag.count('is'))
- 15.center(填充),ljust(左对齐),rjust(右对齐),zfill(用 0 填充)
- print('hi',center(30,'#')) #30 个字符, 不够用 #填充.
- print('hi',ljust(30,'#'))
- print('hi',rjust(30,'#'))
- print('hi',zfill(30,'#'))
- 15.expandtabs
- print('hello\tword'.cxpandtabs(10))
- 16.captalize(首字母大写),swapcase(大小写反转),title(每一个单词的首字母大写)
- print('i is kooll'.catpalize())
17.is 数字判断
- num1=b'2' #bytes
- num2=u'4' #unicode,python3 中无需加 u
- num3='二' #中文数字
- num4='IV' #罗马数字
- isdigit,(适用 bytes,unicode)
- print(num1.isdigit())
- print(num2.isdigit())
- print(num3.isdigit())
- print(num4.isdigit())
- isdecimal,(适用 unicode)
- print(num2.isdigit())
- print(num3.isdigit())
- print(num4.isdigit())
- isnumeric,(适用 unicode, 中文, 罗马)
- print(num2.isdigit())
- print(num3.isdigit())
- print(num4.isdigit())
- name='mis123'
- print(name.isalnum()) #字符串由字母和数字组成
- print(name.isalpho()) #字符串只由字母组成
- print('print'.isidentifier()) #判断关键字
- print('abd'.islower()) #判断全是否为小写
- print('ASD'.isupper()) #判断大写
- print(' '.isspace()) #判断空格
- print('Adj'.istitle()) #判断标题, 即判断单词的首字母大写
17. 列表:
1. 按索引取值(正向取 + 反向取): 只能取
2. 切片(顾头不顾尾, 步长)
3. 长度: len
4. 循环
5. 成员运算 in 和 not in
- ...
- mibs=['cc','aa','rr']
- print(list['kasidhui']) #把字符, 装换为列表
在列表后添加:
mibs.append(6)
删除:
- del mibs[2]
- mibs.remove('cc')
删除并取出结果:
- resd=mibs.pop(2) #默认从末尾删
- print(reds)
循环列表:
- for i in mibs:
- print(i)
在列表内插入:
- mibs=['cc','aa','rr']
- mibs.insert(2,'bb') #2 为位置数, bb 为值
- print(mibs)
- 'cc','aa','bb','rr'
清空列表的值:
print(mibs.claer())
拷贝一个列表:
mm=mibs.copy()
统计列表值的个数:
print(mm.count('aa'))
往列表里加多个值:
- hh=['rt','ty']
- print(mm.extend(hh))
返回列表的值的位置:
- mibs=['cc','aa','rr']
- print(mibs.index('aa'))
将列表的值反转:
- mibs=['cc','aa','rr']
- print(mibs.reverse())
- ['rr','aa','cc']
将列表的值排序:
- hy=[11,2,8,15]
- hy.sort()
- print(hy)
- [2,8,11,15]
- print(hy.sort(reverse=True))
- [15,11,8,2]
- x='ahoe'
- y='v'
x<y, 判断首字母的排序, a-z 从小到大, 数字大于字母
18. 元组: 存多个值, 对列表来说, 元组不可变(是可以当字典的 key 的), 主要是用于读
定义: 与列表类型对比, 只是 [] 变为()
1. 按索引取值(正向取 + 反向取): 只能取
2. 切片(顾头不顾尾, 步长)
3. 长度: len
4. 循环
5. 成员运算 in 和 not in
...
age=(11,22,33,44) 等于 age=tuple(11,22,33,44)
19. 字典: 存放多个值, key:value 存取值速度快, 无序
定义: key 必须是不可变类型(int,float,str,tuple),value 可以是任意值
1. 按索引取值(正向取 + 反向取): 只能取
2. 切片(顾头不顾尾, 步长)
3. 长度: len
4. 循环
...
info={'name':'dachui','age':18,'sex':'xxx'} 等于 info=dict(age=18,sex='xxx',name='dachui')
- info=dict([('name','dachui'),('age',18),('sex','xxx')])
- info=dict([['name','dachui'],['age',18],['sex','xxx']])
创建一个空字典:
info={}.fromkeys(['name','age','sex'],None) #value 为 None
删除:
- info={'name':'dachui','age':18,'sex':'xxx'}
- print(info.pop('name')) #没有默认值
- print(info.popitem('name':'dachui'))
key ,value , 键值对 items()
- info={'name':'dachui','age':18,'sex':'xxx'}
- print(info.keys()) #结果不是一个列表
- print(list(info.keys())) #结果为一个列表
- print(info.values()) #结果不是一个列表
- print(list(info.values())) #结果为一个列表
- print(info.items()) #结果不是一个列表
- print(list(info.items())) #结果为一个列表
案列:
购物车
- mas={'衣服':'200$','裤子':'2000$','车':'55555$','锤':'45454$'}
- goods=[]
- while True:
- for k in mas:
- print(k,mas[k])
- chice=input('商品名:').strip()
- print(chice)
- if len(chice) == 0 or chice not in mas:
- print('商品名不存在')
- continue
- while True:
- num=input('购买个数:').strip()
- if num.isdigit():
- break
- goods.append((chice,mag[chice],int(num)))
- print('购物车',goods)
- break
20. 集合:
作用: 关系运算, 去重
定义:{}内用逗号分隔每个元素都必须是不可变类型, 无序
1. 按索引取值(正向取 + 反向取): 只能取
2. 切片(顾头不顾尾, 步长)
3. 长度: len
4. 循环
5. 成员运算 in 和 not in
- ...
- l={'sdf','dd','gg'}
- k={'dd','gr','eer'}
交集:& 都存在的值
print(l & k)
合集:| 所有的值, 去重的结果
print(l | k)
交叉补集:^ 除了交集以外的值
print(l ^ k)
差集:- 两个集合相减
print(l - k)
父集, 子集:>,>= ,<,<= 父集包含子集
- s1={1,2,3,4} #父集
- s2={1,2,3} #子集
- print(s1> s2) #Ture
列表转换为集合:
- h=['a','b','c','a','a']
- print(seat(h))
difference_update()相减并更新:
- s1={1,2,3,4}
- s2={1,2,3}
- print(difference_update(s2))
discard 指定删除集合的值
remove 删除不在的元素会报错
isdisjoint 两个集合没有共同部分时, 为真
add,update 添加值
.......
分类:
占用空间: 集合<元组<列表<字典
存值个数: 只能存一个值(数字, 字符串), 能存多个值(列表, 元组, 字典)
可变: 列表, 字典, 集合
不可变: 数字, 字符串, 元组
直接访问: 数字
有序(序类类型): 字符串, 列表, 元组
key 值访问(映射类型): 字典
无序: 集合, 字典
字符编码
1. 字符按照什么标准存的, 就要按照什么标准解码, 此处的标准指的就是字符编码
2.unicode--->encode--->gbk 存
gbk---->decode---->uicode 读
3.python3 解释器默认使用的字符编码是 UTF-8
python2 解释器默认使用的字符编码是 ascii
指定解释器:#coding:gbk
4.pythone2 的 str 就是 python3 的 bytes
python2 的 Unicode 就是 python3 的 str
来源: http://www.bubuko.com/infodetail-2713116.html