列表
作用:多个装备,多个爱好,多门课程,多个女朋友等
定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])l=list('abc')
常用操作:
索引,切片,追加,删除,长度,循环,包含in
例子
列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
l=[
{'name':'alex','age':84},
{'name':'oldboy','age':73},
{'name':'egon','age':18},
]
l.sort(key=lambda item:item['age'])
print(l)
数字(int,float,complex)
作用:年纪,等级,薪资,身份证号,qq号等数字相关
age = 10 # 本质age=int(10)
salary = 3000.3 # 本质salary=float(3000.3)
二进制,十进制,八进制,十六进制
长整形(了解)
在python2中(python3中没有长整形的概念):
>> > num = 2L
>> > type(num)
< type
'long' >
复数(了解)
>> > x = 1 - 2j
>> > x.real
1.0
>> > x.img
-2.0
字符串
作用:名字,性别
国籍,地址等描述信息
定义:在单引号\双引号\三引号内,由一串字符组成
name='egon'
常用操作:
移除空白strip
切分split
长度len
索引
切片
其他操作(包括常用)
strip
name='*wh**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))
startswith,endswith
name='wh_aa'
print(name.endswith('aa'))
print(name.startswith('wh'))
replace
name='wh say: i have one tesla,my name is wh'
print(name.replace('wh','aa',1))
formet的三种玩法
res='{} {} {}'.format('wh',21,'male')
res='{1} {0} {1}'.format('wh',21,'male')
res='{name} {age} {sex}'.format(sex='male',name='wh',age=21)
find,rfind,index,rindex,count
name='wh say hello'
print(name.find('0',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
print(name.index('e',2,4)) #同上,但是找到会报错
print(name.split('/',1)) #顾头不顾尾,如果不指定范围则查找所有
split
name='root:x:0:0::/root/bin/bash'
print(name.split(':')) #默认分隔符为空格
name='c=/a/b/c/d/.txt' #只想拿到顶级目录
print(name.split('/')1)
name='a/b/c'
print(name.rsplit('/',1))
join
tag=''
print(tag.join(['wh','say','hello','wold'])) #可迭代对象是字符串
center,ljust,rjust,zjust
name='wh'
print(name.center(30,'_'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充
expandtabs (扩充标签)
name='wh\thello'
print(name)
print(name.expandtabs(1))
lower(下) ,upper(上)
name='wh'
print(name.lower())
print(name.upper())
captalize ,swapcase(把大写字母换成小写方法也是转化字符串中字母的大小写),title(标题)
name='wh'
print(name.capitalize())
print(name.swapcase())
msg='wh say hi'
print(msg.title())
isdigt:bytes,unicode
is 数字系列
在python3中
num1=b'4'
num2=u'4'
num3='四'
nim4='IV'
print(num1.isdigit()) True
print(num2.isdigit()) True
print(num3.isdigit()) False
print(nim4.isdigit()) False
snumberic (中文数字) unicode(罗马数字)
bytes类型无isnumberic方法
print(num2.isnumberi())
print(num3.isdecimal())
print(nim4.isdecimal())
三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
...最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric...
is 其他
print('===>')
name='wh 123'
print(name.isalnum())
print(name.istitle())
print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())
字符串练习题:
1 解除name变量对应的值两边的空格,并输出处理结果
name=' wh '
b=name.strip()
print(b)
2 判断name变量对应的值是否以'al'开头,并输出结果
name='alxe'
if name.startswith(name):
print(name)
else:
print('no')
判断name变量对应的值是否以"X"结尾, 并输出结果
name='alxe'
if name.endswith(name):
print(name)
else:
print('no')
将name变量对应的值中的 “l” 替换为 “p”, 并输出结果
name='alxe'
print(name.replace('l','p'))
将name变量对应的值变大写, 并输出结果
name='alex'
print(name.upper()) upper (转换大写)
将 name 变量对应的值根据 “l” 分割,并输出结果。
name='alex'
print(name.split('l'))
将 name 变量对应的值变小写,并输出结果
name='alex'
print(name.lower())
请输出 name 变量对应的值的第 2 个字符?
name='alex'
print(name[1])
请输出 name 变量对应的值的前 3 个字符?
name='alex'
print(name[2])
请输出 name 变量对应的值的后 2 个字符?
name='alex'
print(name[-2])
请输出 name 变量对应的值中 “e” 所在索引位置?
name='alex'
print(name.index('e'))
获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
name='alex'
print(name[:-1])