str.center(width[, fillchar])
{返回一个原字符串居中,并使用空格填充至长度 width 的新字符串}
width -- 字符串的总宽度。
fillchar -- 填充字符。
注:map()与split()的组合会自动忽略空格
strip() 方法用于移除字符串头尾指定的字符(默认为空格)
eval():直接将字符串当作有效的表达式;执行一个字符串表达式,并返回表达式的值。
格式化输出format
使用end=''可以将前后输出内容连接在一行
print('the length of %s is %d'%(s,len(s)))
print(f"这是{yearInput}年的第{result + day}天")
f开头表示在字符串内支持大括号内的python 表达式
⚠️注意:像 insert ,remove 或者 sort 能够修改列表中元素的方法,
没有打印出返回值(它们返回默认值 None ,这是Python中所有可变数据结构的设计原则)。
将索引视作指向字符之间 ,第一个字符的左侧标为0,最后一个字符的右侧标为n,其中n是字符串长度。
注意:切片的开始总是被包括在结果中,而结束不被包括 <range()与之相同>。这使得s[:i] + s[i:]总是等于s
序列类型:str list tuple 【in | not in | 切片 | len | * | + | min | max | index | count 】
str tuple ->list(list()函数)
list 【append | clear | copy | insert | pop | remove(删除第一个元素) | reverse(反转)】
tuple list dict ->(使用for in)
set 【add | clear | pop | remove | discard(不报错) | len | in | not in】
--------------------------------------------------------------------------------
| 列表list | 元组tuple |集合set | 字典dict
是否有序 | 是 | 否
可否重复 | 是 | 否 | 否(键)
切片/索引| 支持 | 不支持
是否可变 | 可变 | 不可变 | 可变
添加 | append | / | add | d['k']='V'
-----------------------------------------------------------------------------------
append():在list的最后加入一个元素
extend():在list的最后加入一个列表
insert():在list的某个位置加入一个元素
remove():删除list中的特定元素
pop():移除list最后一个元素
根据索引值进行修改
index():查询某元素的在列表中的位置(索引)
in:查询某元素是否在列表中
列表中用到:index(), in
字符串中用到:find(), count(), in
使用find()时,若查询的元素存在,返回首次出现的位置索引;若不存在,返回 -1
使用count()时, 若查询元素出现,返回出现次数;若未出现,返回 0
使用in时,返回值为True或False
语法:list_name [start_index : stop_index : step]
lit=[[0 for i in range(10)] for j in range(10)] 二位列表
sort() / sorted() 顺序
sort()会改变原列表顺序
sorted()不会改变原列表顺序,它会返回一个排序后的版本,需创建一个变量来接收返回值
reverse() / reversed() / sort() / [::-1] 反转 / 倒序
reverse()会改变原列表顺序
使用set(),因集合中没有重复的元素
列表 --> 字符串:join()
course_str = ', '.join([])
字符串 --> 列表:split()
使用split()将字符串重新变换为列表
列表推导式:结果是一个新列表
对于可迭代对象,可以直接用sum(), max(), min()方法来进行快速计算
courses[0] = 'Art'
print(cs_courses.intersection(art_courses))
print(cs_courses.difference(art_courses))
print(cs_courses.union(art_courses))
new_dic=sorted(dic.items(),key=lambda item:item[1],reverse=True) 转换为元组 【从大到小】
⚠️注意: 字典按值排序后返回值是元素为集合的列表,每个集合即为原字典中的一个键值对。
可以将字典看做一个自定义索引(index)的列表
列表中的某个元素可以表示为:list[index]
字典中的某个值可以表示为:dict[key]
→get返回指定键的值,如果键不在字典中返回默认值 None 或者设置的默认值。
括号内第二个参数为自定义默认输出内容
print(student.get('phone', 'Sorry. Not Found~'))
❤zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,
然后返回由这些元组组成的列表
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]
print(len(student))
print(student.keys())
print(student.values())
✪print(student.items())
for key in student:
print(key)
for key, value in student.items():
print(key, value)
函数参数中arg表示:传入的一个参数
函数参数中有单星号的*args 表示:将参数以元组的形式导入(不限个数)
函数参数中有双星号的**kwargs 表示:将参数以字典的形式导入(不限个数)
判断是否为数字:isdigit();
判断是否为字母:isalpha()
是否为大写字母:isupper();
是否为小写字母:islower()
判断是否为空格:isspace()
isdecimal()来判断是否为整数
检测字符串是否只由数字组成:isnumeric()
lower() 方法转换字符串中所有大写字符为小写。
upper() 方法将字符串中的小写字母转为大写字母。
使用encode()方法
☆ASCII码与字符的互换:使用ord()字符 --> ASCII 与chr()ASCII --> 字符
ord(":")==58
判断某个字符(串)是否属于另一个字符串:
使用dir()或help()来查询方法该如何使用( dir()能显示括号内变量所有操作的函数、方法)
print(help(str.lower))
random.choice()从序列中随机返回一个元素
random():返回一个在区间[0.0, 1.0)的随机浮点数
randint(a, b):返回一个在区间[a, b]的随机整数,相当于randrange(a, b+1)
randrange(start, stop[, step]):从 range(start, stop, step) 返回一个随机选择的元素
④. seed():获取某种特定生成的随机数
当seed()无参数时,每次生成的随机数不同,
当seed()有参数时,若参数相同,则每次生成的随机数相同;若参数不同,则生成的随机数也不同
⑤. shuffle():将一个序列(列表、字符串或元组)的顺序打乱
from datetime import date
day = date.today()获取今天的日期
四年一闰;百年不闰,四百年再闰
①非世纪年能被4整除,且不能被100整除的是闰年。(如2004年是闰年,1901年不是闰年)
②世纪年能被400整除的是闰年。(如2000年少闰年,1900年不是闰年)
'//'为整除运算
文件的使用方式:打开-操作-关闭
文本文件&二进制文件,open( , )和.close()
文件内容的读取:.read() .readline() .readlines()
read()若无参数,则读取到文件结尾,返回字符串对象
☆(常用)readline()读出一行,占用内存小,返回字符串对象
readlines()读取整行,保存在一个列表中,每行为一个元素,读取较大文件时占用内存
数据的文件写入:.write() .writelines() .seek()
seek() 方法用于移动文件读取指针到指定位置。
0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
(常用)r:只读
(常用)w:清空写入(不读)
a:追加写入(不读)
w+:读并且清空写入
r+:读且从文件开头写入
(常用)a+:读且从末尾追加写入
f = open(“f.txt”) 文本形式、只读模式、默认值,等于f = open(“f.txt”,“t”)
f = open(“f.txt”, “rt”) 文本形式、只读模式、同默认值
f = open(“f.txt”, “w”) 文本形式、覆盖写模式
f = open(“f.txt”, “a”) 追加写模式,文件不存在则创建,存在则在文件最后追加内容,不能读取
***f = open(“f.txt”, “a+”) 文本形式、末尾追加写模式+ 读文件
f = open(“f.txt”, “r+”) 文本形式、开头追加写模式+ 读文件
f = open(“f.txt”, “x”) 文本形式、创建写模式,存在则返回FileExistsError
f = open(“f.txt”, “b”) 二进制形式、只读模式
f = open(“f.txt”, “wb”) 二进制形式、覆盖写模式
header=next(fr)返回文件的下一行,读取csv文件时使用
✍(常用)with open('text.txt','r') as f:
print(f.read())
tf = open(“f.txt”, “rt”)
print(tf.readline())
tf.close()
zfill(width)函数返回指定宽度的新字符串
ljust() 方法返回一个原字符串左对齐,并使用空格填
round() 方法返回浮点数x的四舍五入值
def numlist():
return [x for x in range(1,27)]
def charlist():
return [chr(x) for x in range(ord("A"),ord("Z")+1)]
print(dict(zip(numlist(),charlist())))
处理csv文件
list_ans=["学号","考核成绩"]
fw.write(",".join(map(str,list_ans))+"\n")
先写入学号,在一行,但是写入成绩之后,就会变成两列【技巧】
fw.write("".join(map(str,row_list[0]))+",")
fw.write(str(res_score)+"\n")
isinstance函数判断变量是否为指定的类型