本学习系列介绍:
本学习系列主要针对对编程略有了解或有其他语言基础并要进一步学习Python的同学,通过简易的代码快速入门掌握Python语言。
系列总目录: |
---|
用简易代码快速学习Python(一) |
用简易代码快速学习Python(二) |
用简易代码快速学习Python(三) |
用简易代码快速学习Python(四) |
用简易代码快速学习Python(五) |
用简易代码快速学习Python(六) |
用简易代码快速学习Python(七) |
用简易代码快速学习Python(八) |
用简易代码快速学习Python(九) |
用简易代码快速学习Python(十) |
Day02:
元组:
元组:具有不可变性的列表,操作方法和列表相同。
tuple1 = () #创建一个空元组
tuple2 = (1) #tuple2的类型为int,值为1,不是元组
tuple3 = (1,) #创建一个只有一个元素1的元组
tuple4 = 1, #创建一个只有一个元素1的元组
tuple5 = (1, 2, 3) #创建一个元组
tuple6 = 1, 2, 3 #创建一个元组
易错例题:
temp1 = 8 * (8)
temp2 = 8 * (8,)
print(temp1) #输出结果为:64
print(temp2) #输出结果为:(8, 8, 8, 8, 8, 8, 8, 8)
添加一个元素举例:
temp = ('a', 'b', 'n', 'k')
temp = temp[:2] + ('g',) + temp[2:] #temp变为('a', 'b', 'g', 'n', 'k')
字符串的常用方法:
方法名 | 说明 |
---|---|
capitalize() | 把字符串的第一个字符改为大写 |
casefold() | 把整个字符串的所有字符改为小写 |
center(width) | 将字符串居中,并使用空格填充至长度 width 的新字符串 |
count(sub[, start[, end]]) | 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 |
encode(encoding=‘utf-8’, errors=‘strict’) | 以 encoding 指定的编码格式对字符串进行编码。 |
endswith(sub[, start[, end]]) | 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。 |
expandtabs([tabsize=8]) | 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。 |
find(sub[, start[, end]]) | 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。 |
index(sub[, start[, end]]) | 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。 |
isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。 |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。 |
isdecimal() | 如果字符串只包含十进制数字则返回 True,否则返回 False。 |
isdigit() | 如果字符串只包含数字则返回 True,否则返回 False。 |
islower() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。 |
isnumeric() | 如果字符串中只包含数字字符,则返回 True,否则返回 False。 |
isspace() | 如果字符串中只包含空格,则返回 True,否则返回 False。 |
istitle() | 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。 |
isupper() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。 |
join(sub) | 以字符串作为分隔符,插入到 sub 中所有的字符之间。 |
ljust(width) | 返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
lower() | 转换字符串中所有大写字符为小写。 |
lstrip() | 去掉字符串左边的所有空格 |
partition(sub) | 找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 (‘原字符串’, ‘’, ‘’) |
replace(old, new[, count]) | 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。 |
rfind(sub[, start[, end]]) | 类似于 find() 方法,不过是从右边开始查找。 |
rindex(sub[, start[, end]]) | 类似于 index() 方法,不过是从右边开始。 |
rjust(width) | 返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
rpartition(sub) | 类似于 partition() 方法,不过是从右边开始查找。 |
rstrip() | 删除字符串末尾的空格。 |
split(sep=None, maxsplit=-1) | 不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。 |
splitlines(([keepends])) | 在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。 |
startswith(prefix[, start[, end]]) | 检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。 |
strip([chars]) | 删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。 |
swapcase() | 翻转字符串中的大小写。 |
title() | 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。 |
translate(table) | 根据 table 的规则(可以由 str.maketrans(‘a’, ‘b’) 定制)转换字符串中的字符。 |
upper() | 转换字符串中的所有小写字符为大写。 |
zfill(width) | 返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。 |
字符串的格式化:
位置参数:
str1 = '{0} is a {1}'
str2 = str1.format('god',123) #位置参数
print(str2) #输出:god is a 123
关键字参数:
str3 = '{aa} love {fs}'
str4 = str3.format(aa = 'I', fs = 123) #关键字参数
print(str4) #输出:I love 123
位置参数和关键字参数混用:
str5 = '{aa} love {fs} very {0} {1}'
str6 = str5.format('abcd', 123, '456', aa = 'I', fs = 'you', haha = 'much')#位置参数要在关键字参数之前,关键字参数不一定都用上
print(str6) #输出:I love you very abcd 123
大括号的转义:
str7 = '{{0}} and {1} and {{1}}'
str8 = str7.format('abc', 123) #双大括号即可将大括号转义
print(str8) #输出:{0} and 123 and {1}
对格式化内容格式的调整:
str9 = '{0:.1e} and {1}'
str10 = str9.format(156254421534.6468465, 1.562) #可在位置标识后加冒号加格式化符号,来调整格式化后的内容
print(str10) #输出:1.6e+11 and 1.562
字符串格式化符号的含义:
符号 | 说明 |
---|---|
%c | 格式化字符及其 ASCII 码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同 %e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用 %f 或 %e |
%G | 作用同 %g,根据值的大小决定使用 %f 或者 %E |
格式化操作符辅助命令:
符号 | 说明 |
---|---|
m.n | m 是显示的最小总宽度,n 是小数点后的位数 |
- | 用于左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示 ‘0o’,在十六进制数前面显示 ‘0x’ 或 ‘0X’ |
0 | 显示的数字前面填充 ‘0’ 取代空格 |
Python 的转义字符及其含义:
符号 | 说明 |
---|---|
\’ | 单引号 |
\" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |
例如:
print('%c %c %c' % (97, 98, 99)) #输出:a b c
print('%o' % 10) #输出:12
print('%X' % 10) #输出:A
print('%#o' % 10) #输出:0o12
print('%#010X' % 15) #输出: 0X0000000F
序列的常用函数:
序列包括列表、元组、字符串。(注意:序列不包括字典)
max(序列) #要求序列内类型一致。
min(序列) #要求序列内类型一致。
sum(序列) #要求序列内类型一致。
sorted(序列) #要求序列内类型一致。
reversed(序列) #返回一个迭代器,可以用list(reversed(序列))或tuple(reversed(序列))转化。
enumerate(序列) #返回一个(index,对应数据)元组组合的迭代器,可以用list(enumerate(序列))或tuple(enumerate(序列))转化。
zip(序列1, 序列2) #返回一个(序列1对应位置数据,序列2对应位置数据 )元组组合的迭代器,长度与较短序列的长度相同,可以用list(zip(序列1, 序列2))或tuple(zip(序列1, 序列2))转化。