python基础知识的学习

关于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()  # 读取文件内容并输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值