python22期自动化-Day2
基础数据类型int:1,3 加减乘除等计算:
+(加) - (减)*(乘) /(除) //(整除)
str:存储少量的数据,进行简单的操作
索引: x = 'wanliang'
x --> n
切片:
x = 'wanliang'
x --> nli
步长
x = 'wanliang'
x --> ni
反取/反取加步长
x = 'wanliang'
x --> ail
x = 'wanliang'
x --> al
格式化:
%
表示占位符
%s
表示字符串和整数
%d
表示整数
示例:
x = 'my name is %s, i am %d years old' % ('wanliang', 23)
%% 第一个%对第二个%转义
常用方法:
capitalize 首字母大写
x = 'wanliang' x.capitalize()
'Wanliang'
swapcase 大小写翻转
x = 'WanLiang' x.swapcase()
'wANlIANG'
>
x = 'wan liang' x.title()
'Wan Liang'
center 内容居中,总长度,空白填充
x = 'study' x.center(30, '-')
'------------study-------------'
count 统计字符出现的次数
x = 'wanliang' x.count('a')
2
expandtabs默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
x = 'wanliang\t' x.expandtabs()
'wanliang '
startwith endwith 以...开头 以...结尾,正确为True,错误为False
x = 'wanliang' x.startswith('w')
True
x.endswith('g')
True
find 查找字符的索引
x = 'wanliang' x.find('i')
4
split 以...为分隔,str转换为list
x = 'wan liang' x.split(' ')
['wan', 'liang']
replace 替换
x = 'wan liang' x.replace('liang', 'xxx')
'wan xxx'
format 格式化
x = 'i love {0}, {0} make me happy' x.format('study')
'i love study, study make me happy'
strip 去除首尾空格、\t、换行符
x = 'wanliang ' x.strip()
'wanliang'
is系列 name.isalnum()字符串由字母或数字组成
name.isalpha()字符串只由字母组成
name.isdigit() 字符串只由数字组成
x = 'wanliang123' x.isdigit()
False
x.isalpha()
False
x.isalnum()
True
list: 存储大量的数据
增 append 追加元素
x = x.append('wan')
print(x)
insert 选择索引位置插入
x = x.insert(1, 'wan')
print(x)
extend 迭代为最小元素追加到列表
x.extend() print(x)
删
pop 按索引删除,有返回值
x = y = x.pop()
print(x, y)
3
remove 按元素删
x = x.remove(3)
print(x)
clear 清空列表
x = x.clear()
print(x)
[]
del 1.删除列表
x = del x
print(x)
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'x' is not defined
2.按照索引删除
x = del x
print(x)
3.按照切片删除
x = del x
print(x)
改 1.按索引修改
x = x = 'wan'
print(x)
2.按切片修改(会先清空区域内元素,再迭代加入新元素'a', 'd', 's', 'a', 'a'到区域内,不需要数量相等)
x = x = 'wan'
print(x)
['w', 'a', 'n', 3]
查 1.按索引查
x = x
1
2.按切片查
x = x
常用方法: len 列表长度
x = len(x)
3
count 统计元素出现的次数
x = x.count(3)
3
index 元素的索引值
x = x.index(3)
2
sort 排序
x = x.sort()
print(x)
x.sort(reverse=True) 反序
x = x.sort(reverse=True)
print(x)
reverse 翻转
x = x.reverse()
print(x)
列表嵌套:
l1 = , 6] l1 = l1.capitalize()
l1 = l1.upper()
l1 = str(l1 + 1)
print(l1)
, 6]
range
range迭代
for i in range(0, 5):
print(i)
01
2
3
4
range加步长
for i in range(0, 5, 2):
print(i)
0 2
4
range反取加步长
for i in range(5, 0, -2): print(i)
5
3
1
tuple 元组,只读列表
从属于元组的元素不能改,元素内的元素可能可以改,比如元组内的列表
x = ('wan', 'liang')
x = 'xxx'
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
x = ('wan', 'liang', ) x = 'xxx'
print(x)
('wan', 'liang', )
dict:{'name': 'alex'}查询速度快(二分查找),存储的是关系型数据
字典:键必须唯一,不可重复,value可以为任意数据类型或对象
3.5版本包括.5之前都是无序的
字典的键只能是不可变的数据类型
增
dic['key'] = 'value' 有key修改,无key添加
x = {'name': 'wanliang', 'age': 18} x['name'] = 'alex'
print(x)
{'name': 'alex', 'age': 18}
x['hobby'] = 'girl'
print(x)
{'name': 'alex', 'age': 18, 'hobby': 'girl'}
dic.setdefault('key') 有key不修改,无key添加
x = {'name': 'wanliang', 'age': 18} x.setdefault('name', 'alex')
'wanliang'
print(x)
{'name': 'wanliang', 'age': 18}
x.setdefault('hobby', 'girl')
'girl'
print(x)
{'name': 'wanliang', 'age': 18, 'hobby': 'girl'}
删 pop 返回value
x = {'name': 'wanliang', 'age': 18} y = x.pop('name')
print(x, y)
{'age': 18} wanliang
dic.pop('key', None) 删除不存在的key时,不加None会报错
x = {'name': 'wanliang', 'age': 18} y = x.pop('hobby')
Traceback (most recent call last):
File "<input>", line 1, in <module>
KeyError: 'hobby'
y = x.pop('hobby', None)
print(x, y)
{'name': 'wanliang', 'age': 18} None
popitem 随机删除一个,返回一个包含被删除的键值对的元组
x = {'name': 'wanliang', 'age': 18} x.popitem()
('age', 18)
print(x)
{'name': 'wanliang'}
clear 清空字典
x = {'name': 'wanliang', 'age': 18} x.clear()
print(x)
{}
del 1.删除整个字典
x = {'name': 'wanliang', 'age': 18} del x
print(x)
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'x' is not defined
2、按照key删除
x = {'name': 'wanliang', 'age': 18} del x['name']
print(x)
{'age': 18}
改 update
dic2.update(dic) 把dic给dic2,dic中的key在dic2中无则添加,有则修改
x = {'name': 'wanliang', 'age': 18} y = {'name': 'alex', 'hobby': 'girl', 'job': 'teacher'}
x.update(y)
print(x)
{'name': 'alex', 'age': 18, 'hobby': 'girl', 'job': 'teacher'}
查 get当访问的key不存在时,可设置默认值
x = {'name': 'wanliang', 'age': 18} x.get('name')
'wanliang'
x.get('hobby', 'study')
'study'
dic.keys() 所有的键,类似列表的容器,可循环,没有索引
x = {'name': 'wanliang', 'age': 18} x.keys()
dict_keys(['name', 'age'])
dic.values() 所有的值,类似列表的容器,可循环,没有索引
x = {'name': 'wanliang', 'age': 18} x.values()
dict_values(['wanliang', 18])
dic.items() 返回包含keys和values的两个元组
x = {'name': 'wanliang', 'age': 18} x.items()
dict_items([('name', 'wanliang'), ('age', 18)])
比较运算: 优先级:() > not > and > or
0为False
非0为True
and
x and yif x 为真,取x; if x 为假,取y
x or y 和and相反
1 > 3 and 2 < 4 --> x为False,取y,y为True
3 > 4 and 4 < 3 --> x为False,取y,y为False
True or Fale --> x为True,取y,y为Fasle
所以条件语句走else,打印False
if 1 > 3 and 2 < 4 or 3 > 4 and 4 < 3: print(True)
else:
print(False)
数据类型的补充:
在循环一个列表时,不要改变列表的大小,这样会影响结果
在循环一个字典时,不要改变列表的大小,这样会影响结果
页:
[1]