学习Python day 4

元组

1、从视觉效果上看,元组使用()(在不引起歧义的情况下,允许省略圆括号),而列表使用[]
2、元组不可变,不支持修改,但可切片(切片是导出一个新的数列)

>>>nums = (1, 3, 5, 3)
>>>nums.count(3)
2
>>>nums.index(3)
2
元组相加为扩展
>>>s = (1, 2, 3)
>t = (4, 5, 6)
>s + t
(1, 2, 3, 4, 5, 6)
元组的嵌套:
w = s, t
w
((1, 2, 3),(4, 5, 6))
元组同样支持迭代
for each in s:
	print each
1
2
3
对于嵌套的元组同样要使用嵌套的循环
for i in w
	for each in i
		print(each)
1
2
3
4
5
6

只生成一个元素的元组

x = (1,)

元组的打包与解包
生成一个元组的过程我们也称为元组的打包与解包

t = (123, "FishC", 3.14)
x, y, z = t
x = 123
y = "FishC"
z = 3.14
同样,列表和字符串也能有类似于解包的过程

元组并不是一定不能修改,当其内含有可变的列表时,元组中的元素即可同样可变。

字符串

https://blog.51cto.com/u_8081755/3347724?abTest=51cto

字符串的测试函数,这一类函数在string模块中没有,这些函数返回的都是bool值:
S.startwith(prefix[,start[,end]]) #是否以prefix开头
S.endwith(suffix[,start[,end]]) #以suffix结尾
S.isalnum() #是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否便是大写
S.istitle() #S是否是首字母大写的

对于此类函数,其中的判断可以元组的形式进行,只要元组中任一元素匹配即可。

x = "她爱Python"
if x.startswith(("你", "我", "她")):
	print("总有人爱Python")

2.1 Python可以同时调用多个函数,响应是从左到右的顺序,如:

>>>x = "I Love python"
>>>x.upper().isupper()
true

2.2 "\n"转义字符不是一个可打印字符,若使用isprintable(),结果为False。

import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

2.3
removeprefix()
removesuffix()
删除指定的前缀后缀字符串

2.4 拆分和拼接
partition(sep)
rpartition(sep):从右到左进行分割
将字符串以参数指定的分隔符为依据进行切割,并将切割后的结果返回一个三元组
S.split([sep, [maxsplit]]) #以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符,结果为列表。
S.rsplit([sep, [maxsplit]])
S.splitlines([keepends]) #把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.join(seq) #把seq代表的序列──字符串序列,用S连接起来

.2.5 格式化字符串

>>>year = 2010
>>>"出生于 {} 年 {} 月".format(year, 2)
>出生于 20102

参数中的字符串会被当做元组来对待,{}中的数字即为对应元组的下标索引值,同一个索引值可以被多次引用,也可通过关键字引用。


>>>"{} 看到 {} 很激动".format("零", "一")
>'零 看到 一 很激动'
>>>"{1} 看到 {0} 很激动".format("零", "一")
>'一 看到 零 很激动'
关键字
>>>"我叫{name}, 我爱{fav}。".format(name = "1" , fav = "2")
还可重复使用
>>>"{0}{0}{1}{1}".format("是", "非")
>是是非非
同样可以同时使用关键字与字符串
>>>"{name}, {0}".format("python", name = "you")
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
>>>"{1:>10}{0:<10}".format(520, 250)
'       250520       '
其中1,0为位置索引,:>对齐方式,10为显示宽度,在10前面输入对应的符号如@,就会将空格改成@输出

请添加图片描述
请添加图片描述
请添加图片描述
详情见引用文章:

https://www.jb51.net/article/204291.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值