关于python format格式化函数的用法
print("{}这是一个占位符,{}这也是一个占位符,{}这还是一个占位符".format(a,b,a-b))
类似于这种样子,我们在使用print函数输出的时候,如果要使用format函数的话,就需要先使用{}符号先进行占位,并在后面的format函数里面传入对应的参数。
关于python除以和整除的区别:
a = 8
b = 2
a // b = 4 #这个是整除
a / b = 4.0 #这个是除以
关于使用int() float() eval()来限制输入的用法:
a = eval(input()) #输入整数字符串,转换为整数;输入浮点数字符串,转换为浮点数
b = float(input()) #输入整数和浮点数,都转换为浮点数
c = int(input()) #只接受整数输入,输出为整数
关于格式化输出两位小数的用法:
print("{:.2f}".format(a * b)) #.2表示取小数点后2位数字,f表示浮点型
关于pow()函数的用法:
pow((1 + b),c) #F=P×(1+b)^c
关于向上取整:
import math
print(math.ceil(a))
关于调用math模块的使用方法
import math
math.pi #调用math模块里面的pi
math.sin() #调用math模块里面的sin函数
math.cos() #调用math模块里面的cos函数
关于调用math模块开更号的用法:
方法一
import math #导入math库
math.sqrt(x) #调用sqrt函数实现开平方运算,x表示要求值的数据
# 或用幂运算 x ** 0.5 表示开平方
方法二:
pow(a,0.5)
关于循环输出一堆数字,并以某个符号结尾:
for i in range(n):
print(i,end = ' ')
关于使用sum函数对一系列数求和:
print(sum(range(1,int(input())+1)))
关于python参数的问题,需要提前给参数赋值,不然会报错,或者结果和预期结果不太一样。
关于求a的b次方的问题:
print(2**n) #这个表示输出2的n次方,除此之外,还可以使用pow(2,n)来计算
关于求阶层的问题:
除了使用循环的方法以外,还可以调用math模块里面的方法
import math
fact = math.factorial(n)
关于逆序输出一个数组的问题:
print(s[::-1])
关于将输入分割成列表的问题:
ls = list(map(int, input().split())) # 通过map()和list()函数把用户输入转化成int列表
其中关于map函数的用法,第一个参数是要映射成的数据类型,第二个是对输入进行处理的函数
关于四舍五入保留几位小数的写法:
方法一:
print(round(a / b, 2))
方法二:
print("{:.2f}".format(a/b))
关于数组求和的问题:
sum1 = sum(ls[:n-1])
可以使用sum()函数来对一个数组进行求和,其中ls[:n-1]表示的是从哪个下标遍历到哪个下标
关于判断一个数据是什么类型的问题:
方法一:
type(n) == int #判断n是不是int类型的实体
方法二:
isinstance(n, int) #判断n是不是int类型的数据实体
关于input()和eval(input())的区别:
input() 得到的是字符串
eval(input()如果输入的是数字,则转换为数字;如果不是数字,报错。
关于求绝对值的函数:
abs(x) #使用这个函数可以求一个x值的绝对值
关于判断一个字母是不是大小以及转换成大小写的问题:
c.islower() #判断字母是否为小写
c.isupper() #判断字母是否为大写
c.upper() #将字母转换成大写
c.lower() #将字母转换成小写
关于列表的相关操作:
ls.append(i) #向数组里添加元素
len(ls) #计算数组的长度
print(ls) #打印输出数组
ls[n:m] #表示列表输出从n到m,其中0可以省略
关于字符串的chr()函数和ord()函数:
chr(90) #用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的ASCII 字符。
ord("90") #与chr()函数对应,输入ASCII字符表中字符的字符串形式,返回在字符表中的排序位次。
关于求一个数的逆序输出:
ls[::-1] #这是一个列表的逆序输出,当ls是一个str类型的字符串时,则可以将该字符串逆序输出
关于替换某个数值的函数:
n.replace() #replace(old, new, max)函数参数依次为: old表示主串中要被替换的字符串。 new表示新的字符串。 max表示替换次数,默认不限次数。
关于生成一系列的随机数的问题:
random.randint(n,m) #生成从n到m的随机整数,不包括n和m
random.random() #生成一个0到1之间的随机浮点数
random.uniform(n,m) #生成一个从n到m之间的浮点数
python字符串的相关操作
a = str(input()) #输入一个字符串
b = str(input()) #输入另外一个字符串
print(a+b) #将两个字符串进行拼接
print(a*3) #将字符串a重复三遍
print(b[2],b[-1],sep = ' ',) #输入字符串b的第三个字符和字符串b的最后一个字符,并用空格隔开两个字符
print(a[1:4]) #输出字符串 a 中序号1至4之间的字符
print(len(a),len(b),sep = ',',) #输出字符串 a 、b的长度,结果用逗号分隔
print(min(a),max(b)) #输出字符串 a 的中字符的最小值和 b 中元素的最大值
s + t #拼接两个序列 s 和 t
s * n #或n * s 将序列s重复n次生成新序列
s[i] #索引,返回序列s的第i项
s[start:end[:step]] #切片,返回序列 s 从start到end (不包括end )的步长为step的字符生成新的序列,step缺省时,步长为1,返回序号从start到end的子序列。
len(s) #返回序列s的长度(包含元素的个数)
min(s,*[,key, default]) #返回序列 s的最小值,key关键字缺省时按元素值比较
max(s,*[,key, default]) #返回序列 s的最大值,key关键字缺省时按元素值比较
s.count(x) #序列s中x的个数
s.index(x[, i[, j]]) #序列中第一个x的索引值,i值表示从索引i处开始查找x,j表示x查找范围在i和j之间。
x in s #如果序列x与序列s中的任一子序列相等,返回True,否则返回False;当x与s的元素相等时返回True,否则返回False。
x not in s #如果序列x与序列s中的任何子序列都不相等,返回True,否则返回False
str.upper() #转换字符串str中所有字母为大写
str.lower() #转换字符串str中所有字母为小写
str.strip() #用于移除字符串头尾指定的字符(缺省时去掉空字符,包括\t、\n、\r、\x0b、\x0c等)
str.split() #通过指定分隔符对字符串进行切片,将一个字符串分裂成多个字符串列表,缺省时根据空格切分,可指定逗号或制表符等。
str.join(seq) #以字符串str作为分隔符,将序列 seq 中所有的元素合并为一个新的字符串
str.find() #搜索指定字符串
str.replace(old, new, count) #把字符串str中的 old 替换成 new,如果 count 指定,则替换不超过 count 次,否则有多个old子串时全部替换为new。
for <var> in <string> #字符串迭代,如果var在string中存在,则进行循环
table = ''.maketrans(before, after) #这条语句可以创建映射表
str1.translate(table) #语句可以将table中的字符按映射表中的顺序进行替换。
关于列表的相关操作:
insert i e: # 在第 i 个位置插入整数 e。
print: # 输出列表
remove e: # 删除第一次出现的整数 e .
append e: # 在列表的末尾插入整数 e.
sort: # 按默认规则排序.
pop: # 弹出列表最后一一个元素
reverse: # 列表元素逆序.
ls.append('A') #将字符‘A’添加到列表ls的最后。
ls.append(A) #将列表A添加到列表ls的最后,ls变为二维列表。
ls.clear() #将列表ls清空。
ls1=ls.copy() #将ls复制给ls1,且ls1不受ls的改变的影响(地址不同,完全复制)。
ls.count('A') #返回‘A’元素在ls中出现的次数。若ls为二维列表,则A可以为列表,A中元素不看作ls中元素。
ls.extend('A') #将‘A’元素插入到ls的最后。
ls.extend(A) #将A(列表,二维列表.....)插入到ls的最后。
ls.index('A') #在ls中查找第一个‘A’,并返回‘A’所在位置。
ls.insert(5,'ls') #将‘ls’插入到ls[5]处。
ls.pop() #默认移除ls中最后一个元素。
ls.pop(0) #移除ls中第一个元素。
ls.remove(‘A’) #默认移除ls中第一个‘A’。
ls.reverse() #将列表ls反转。
ls.sort() #将列表ls排序,默认从小到大;a.sort(reverse=True)改为从大到小排序。
ls[0]='A',ls[-1]='J',ls[ : ] #取列表内所有元素,ls[0:n] 取列表内0到n的元素。
del ls[0] #删除ls[0]元素。
len(ls)#得到ls的长度。
ls=ls+ls,ls=ls*2 #得到ls为原来的二倍长
for i in ls: #按ls的元素个数进行循环。
for i in ls:
print(i)#打印ls中所有元素。
max(ls) #返回ls中最大元素。
min(ls) #返回b中最小元素。
关于集合的相关操作:
ls.add(a) #向集合中添加1个数据
ls.update(ls) #向集合中添加多个数据
ls.clear(ls) #清空集合
ls.pop(a) #随机删除集合中的一个数据
ls.remove(a) #删除集合中指定的值
ls.discard("123") #删除集合中指定的值
关于字典的相关操作:
dict_1['adress'] = 'china' #字典的添加和修改
name = dict_1['name'] #字典查询获取数据
del dict_1['name'] #根据key删除字典中的数据
name = dict1.pop('name') #使用pop(key)函数 移出字典中对应key的元素,取出的是值
rs = dict1.popitem() #popitem()函数,随机从字典取出一对键值对,取出的是小元组
dict_1.clear() #删除字典中所有的数据
values = dict_1.values() #获取字典中所有的值,返回的是一个列表
#获取字典中所有的key,返回的是一个列表
keys = dict_1.keys()
print keys
# for循环遍历所有的key
for key in keys:
# 根据key从字典中取出值
value = dict_1[key]
print key,value
#获取字典中所有的key和value,返回的是一个列表中嵌套的小元组[(key1,value1),(key2,value2),...]
items = dict_1.items()
print items
for item in items:
# item是存放了键值对的小元组
print item[0],item[1]
关于文件的相关操作:
#文件的打开方式
普通模式
+ “r” 以读方式打开,只能读文件 , 如果文件不存在,会发生异常
+ “w” 以写方式打开,只能写文件, 如果文件不存在,创建该文件,如果文件存在则打开文件并清空文件文件位于文件开头
+ "x"异或模式,文件如果不存在就创建文件, 文件已存在则报错 ==> 防止覆盖
+ “a” 追加模式,文件不存在则创建文件,如果存在则打开文件(与‘w’模式不同不会清空文件)且文件指针位于文件末尾
拓展模式
+ b b模式 bytes 二进制
+ +模式 plus 可读可写
组合模式
‘rb’ 以只读的方式打开为二进制文件
’wb‘ 清空文件之后写入二进制文件
’xb‘ 也是操作二进制文件
’ab‘ 追加二进制文件
同理也有 ‘r+’, ‘w+’, ‘x+’, ‘a+’
##读取操作
fp.seek(2) # 设置文件指针起始位置
res = fp.read() # 返回文件内容并输出(从当前的位置开始读取文件到末尾) 可指定读取指定的字节
# res = fp.read(10) # 读取十个字节
res = fp.readline() # 读取一行数据
res = fp.readlines() # 读取所有行数据
##写操作
fp.write('something you want write') # 写入你想写入文件的内容 只能写入字符串类型
fp.writelines() # 写入一行数据
##高级写法
with open('./1.txt', 'r+',encoding='utf-8') as fp: # 以可读可写的方式打开文件
res = fp.read() # 读取文件内容并输出