【Python学习】常用函数(更新中……)

系列文章目录

目录

普通函数

一、输入输出函数

1. print()函数

输出函数,向屏幕输出指定内容

print("hello python")

print()函数可以同时输出多个字符,用逗号","隔开

print("hello","how","are","you")

print()会依次打印每个字符串,遇到逗号会输出空格,输出内容为:

hello how are you 

print()可以打印整数或计算结果

print(300) #result:300
print(100+200)  #result:300

我们也可以把打印的结果显示的再漂亮一些

print("100 + 200", 100 + 200)  #result:100 + 200 = 300

字符串相加,进行字符串的连接,且不产生空格

print("hello","你好")  #使用","进行连接
print("he" + "llo") #字符串相加,进行字符串的连接,且不产生空格
print(10+30) #没有用引号括起来,默认为数值,若是括起来就是字符串;若是数值使用加号连接,默认是表达式进行计算,返回计算结果
#print("hello" + 1) #会报错TypeError: can only concatenate str (not "int") to str;不同类型的数据不能使用加号连接,不同类型的数据可以使用","连接
input() #输入
name = input("请输入您的姓名:")
print(name)

python中print之后是默认换行的,要实现不换行要加end参数表明

n = 0
while n <= 100:
    print("n =",n,end=' ')
    if n == 20:
        break
    n += 1

output:

n = 0 n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 n = 11 n = 12 n = 13 n = 14 n = 15 n = 16 n = 17 n = 18 n = 19 n = 20

多个数值进行比较

print('c'>'b'>'a') #output:True
print(5>1>2) #output:False

2. input()函数

输入函数,python提供了一个input()函数,可以让用户输入字符串,并且存放在变量中,比如输入用户名

name = input()

可以友好的提示一下

name = input("please enter your name :")
print("hello,",name)

二、进制转换函数

1. bin(),oct(),hex()进制转换函数(带前缀)

使用bin(),oct(),hex()进行转换的时候的返回值均为字符串,且带有
十进制转换为二进制

print(bin(10))  #十进制转二进制 output:0b1010
print(oct(12))  #十进制转八进制 output:0o14
print(hex(12))  #十进制转十六进制 output:0xc

2. ‘{0:b/o/x}’.format()进制转换函数(不带前缀)

print('{0:b}'.format(10)) #十进制转二进制 output:1010
print('{0:o}'.format(12)) #十进制转八进制 output:14
print('{0:x}'.format(12)) #十进制转十六进制 output:c

注意:hex函数比格式化字符串函数format慢,不推荐使用。

3. int(‘’,2/8/16)转化为十进制函数(不带前缀)

print(int('1010',2)) #二进制转十进制 output:10
print(int('014',8))  #八进制转十进制 output:12
print(int('0xc',16)) #十六进制转十进制 output:12

4. ‘{0:d}’.format()进制转换为十进制函数

print('{0:d}'.format(0b11)) #二进制转十进制 output:3
print('{0:d}'.format(0o14)) #八进制转十进制 output:12
print('{0:d}'.format(0x1f)) #十六进制转十进制 output:31

5. eval()进制转换为十进制函数

print(eval('0b11')) #二进制转十进制 output:3
print(eval('0o14')) #八进制转十进制 output:12
print(eval('0x1f')) #十六进制转十进制 output:31

注意:eval函数比int函数慢,不推荐使用
二进制,十六进制以及八进制之间的转换,可以借助十进制这个中间值进行转换,也可以直接转换

print(bin(int('fc',16))) #借助十进制 output:0b11111100
print(bin(0xa)) #利用函数直接转 output:0b1010
print(oct(0xa)) #利用函数直接转 output:0o12
print(hex(10))  #利用函数直接转 output:0xa

三、求数据类型函数

1. type()函数

n = "hello python"
n = type(n)
print(n)  #output:<class 'str'>

2. 使用type()函数判断变量的类型

#int float str bool tuple list dict set
str1 = 'xz'
if type(str1) == str:
    print('yes')  #output:yes

str2 = 'zw'
print(isinstance(str2,str)) #output:True
print(isinstance(str2,float)) #output:False

推荐使用isinstance()

3. isinstance()

功能:判断变量是否属于某一数据类型,可以判断子类是否属于父类。

class A():
    pass
class B(A):
    def __init__(self):
        super(B,self).__init__()
    pass
class C(A):
    def __init__(self):
        A.__init__(self)
n = 0.1
print(isinstance(n,(int,float,str))) #output:True
print(isinstance(n,int)) #output:False
print(isinstance(A,object)) #output:True
b = B()
print(isinstance(b,A)) #output:True
c = C()
print(isinstance(c,B)) #output:False

四、关键字函数

1. keyword.kwlist()函数

import keyword
print(keyword.kwlist)
#output:['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']

五、删除变量/对象函数

1. del()函数

变量一旦删除,就不能引用,否则就会报错

n = "hello python"
print(n) #output:hello python
del n
print(n) #output:NameError: name 'n' is not defined

六、数学函数

1. abs(num)返回num的绝对值函数

print(abs(-3))  #output:3

2. max(num1,num2,…,numn)返回最大值函数

num1 = 10
num2 = 20
print(num1 > num2) #output:False
print(max(num1,num2,56)) #output:56

3. min(num1,num2,…,numn)返回最大值函数

print(min(12,3,34,0)) #output:0

4. pow(x,y):求x的y次方,x^y

print(pow(2,3)) #output:8

5. round(num,n):四舍五入

参数一:需要进行四舍五入的数据,参数二:保留的小数位数,若n不写,默认为0

print(round(123.486,2)) #output:123.49

6. range()函数

range([start,]stop[,step]) 实质:创建了一个可迭代的对象,一般情况下与for循环一起连用;
1)start可以不写,默认为0,若给定则从start开始
2)stop 必须给定
3)取值范围[start,stop]
4)step:步长,若不给则默认为1

#需求:使用for循环计算1*2*3...*20
accou = 1
for i in range(1,21):
	accou *= i
print(accou) #output:2432902008176640000

七、字符串函数

1. eval(str)函数

功能:将字符串转成有效的表达式来求值或计算结果,可以将字符串转化成列表list,元组tuple,字典dict,集合set
注意:生成了一个新的字符串,没有改变原本的字符串

# 12-3 --> 9
str1 = "12-3"
print(eval(str1)) #output:9
print(str1) #output:12-3
print(eval("[1,2,3,4]")) #output:[1,2,3,4]
print(type(eval("[1,2,3,4]"))) #output:<class 'list'>
print(eval("(1,2,3,4)")) #output:(1,2,3,4)
print(eval('{1:1,2:2,3:3}')) #output:{1: 1, 2: 2, 3: 3}
print(eval('{2,3,5,3}')) #output:{2, 3, 5}

2. len(str)函数

3. str.lower()函数

4. str.upper()函数

5. str.swapcase()函数

6. str.capitalize()函数

7. str.title()函数

8. str.center(width[,fillchar])函数

9. str.ljust(width[,fillchar])函数

10. str.rjust(width[,fillchar])函数

11. str.zfill(width)函数

12. str2.count(str1,start,end)函数

13. str2.find(str1,start,end)函数

14. str2.rfind(str1,start,end)函数

15. str2.index(str1,start,end)函数

16. str.lstrip(char)函数

17. str.rstrip()函数

18. str2.split(str1,num)函数分离字符串

19. str2.splitlines()

20. str1.join(seq)函数,字符串连接

21. ord()函数,求字符的ASCLL码值函数

22. chr()数字转为对应ASCLL码函数

23. max(str) min(str)获取最大最小字符

24. str.replace(old,new[,count])字符串的替换

25. 字符串映射替换

26. str.startswith(str1,start.end)判断字符串的开头

27. str.endswith(str1,start.end)判断字符串的结尾

28. str.encode(编码格式)

29. str1.isalpha()字符串为字母

30. str5.isalnum()

31. str.isupper()

32. str.islower()

33. str.isdigit()

34. str.isspace()

35. str.isnumeric()

36. str.isdecimal()

八、list列表函数

1. list.append(元素)

2. list1.extend()

3. str.insert(下标值,object)

4. list.pop()

5. list.remove(元素)

6. list.clear()

7. del list

8. list.index(元素,start,end)

9. list.count(元素)

10. len(list)

11. max(list)、min(list)

12. list.reverse()

13. list.sort()

14. 浅拷贝、深拷贝

15. list(元组)

九、元组函数

1. len(tuple)

2. max(tuple)

3. min(tuple)

4. tuple(列表)

十、dict字典函数

1. value= 字典名.get(key)

2. dict.pop(key) 删除元素

十一、set集合函数

1. set1.add(元素) 添加元素

2. set.update() 添加seq元素

3. set.remove(元素) 删除元素

十二、栈和队列

1. 栈 stack

2. 队列 queue

模块函数

一、math模块

1. math.ceil(num):对num进行向上取整

2. math.floor(num):对num进行向下取整

3. math.modf(num):返回一个元组类型的数据,数据包含小数部分和整数部分

4. math.sqrt(num):返回num的开平方根,返回一个浮点数

二、随机函数

1. random.choice(列表/元组/字符串),在列表或元组中随机挑选一个元素,若是字符串则随机挑选一个字符

2. random.randrange([start,end),step):返回一个从[start,end)并且步长为step的一个随机数

3. random.random():返回一个[0,1)的随机数,结果是一个浮点数

4. random.shuffle(列表):将序列中所有的元素进行随机排序,直接操作序列【序列发生变化】,没有返回值

5. random.uniform(m,n):随机产生一个[m,n]的浮点数

6. random.randint(m,n):随机产生一个[m,n]的整数

三、OS模块

在自动测试中,经常需要查找操作文件,比如查找配置文件(从而读取配置文件的信息),查到测试报告等,经常会对大量文件和路径进行操作,这就需要依赖OS模块。

1. os.getcwd()

功能:查看当前所在路径

2. os.listdir()

列举目录下所有的文件,返回的是列表类型

3. os.path.abspath(path)

功能:返回path的绝对路径

4. os.path.split(path)

功能:将路径分解为(文件夹,文件名),返回的是元组类型
注意:若路径字符串最后一个字符是\,则只有文件夹部分有值,若路径字符串中均无\,则只有文件名部分有值,若路径字符串中有\且不在最后,则文件夹和文件名都有值,且返回的结果不包含\。

5. os.path.join(path1,path2,…)

将path进行组合,若其中有绝对路径,则之前的path将会被删除。

6. os.path.dirname(path)

返回path中文件夹部分,不包括""

7. os.path.basename(path)

功能:返回path中文件名

8. os.path.getsize(path)

功能:获取文件的大小,若是文件夹则返回0

9. os.path.exists(path)

功能:判断文件是否存在,若存在返回True,否则返回False。

10. os.path.isdir(path)

功能:判断该路径是否为目录。

11. os.path.isfile(path)

功能:判断该路径是否为文件。

四、sys模块

sys主要针对黑屏终端的库

1. sys.argv

sys.argv获取当前正在执行的命令行参数的参数列表
sys.argv:实现程序外部向程序内部传递参数,返回一个列表
argv[0]:当前的完整路径
argv[1]:传入的第一个参数

2. sys.platform

获取当前执行环境的平台

3. sys.path

path是一个目录列表,供python从中茶轴啊第三方扩展模块,在python启动时,sys.path根据内建规则,PATHPATH变量进行初始化

五、Image模块

1. 使用Image模块

有了PIL,处理图片易如反掌,随便找个图片生成缩略图

六、time模块

1. 名词解释

UTC:格林威治天文时间,世界标准时间,在中国为UTC+8
DST:夏令时是一种节约能源而人为规定的时间制度,在夏季调快一小时

2. 时间的表示形式

1)时间戳
以整数或浮点型表示的是一个秒为单位的时间间隔,这个时间的基础值是1970.1.1的零点开始算起
2)元组格式
采用python的数据结构表示,这个元组有9个整型内容,分别表示不同含义

3)格式化字符串

  1. time.clock()
  2. time.sleep(seconds)
  3. time.time()时间戳
  4. time.gmtime(时间戳)
  5. time.localtime(时间戳)
  6. time.mktime(时间元组)
  7. time.asctime(时间元组)
  8. time.ctime(时间戳)
  9. time.strftime(format,时间元组)
    10.time.strptime(字符串,format)

七、datetime模块

1. 概述

datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多的实用的函数,datetime的接口更加的直观,更容易调用

2. 模块中的类

datetime:同时有时间与日期
timedelta:表示时间间隔,即两个时间点的间隔,主要用于计算时间的跨度
tzinfo:时区相关的信息
date:只关注日期

3. 获取指定时间

4. 将时间转为字符串

5. 时间相减,返回一个时间间隔的对象

八、calendar模块

1. calendar模块有很广泛的方法用来处理年历和月历

九、IO模块

1. open()读写文件

2. stringIO()读写内存字符串

3. BytesIO()读写内存二进制

4. 序列化

5. Josn

6. 读写csv文件

7. 读写pdf文件

十、高阶函数

1. MapReduce

MapReduce主要用于分布式中
大数据大约是在15年下半年开始火起来的
分布式思想:将一个连续的字符串转为列表,元素类型,将其都变成数字类型,使用分布式思想,同理,一台电脑处理数据速度有限,用100台电脑同时处理,效率就会快很多,然后对数据进行整合;
python优点:内置了map()和reduce()函数,可以直接使用

2. map()函数

功能:将传入的函数依次作用于序列中的每一个元素,并把结果作为新的iterator(可迭代对象)返回

3. reduce()函数

功能:一个函数作用在序列上,这个函数必须接受两个参数,reduce把结果继续和序列的下一个元素累计运算

4. filter()函数

作用:把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留该元素还是丢弃该元素

5. sorted()函数

十一、排列组合(破解密码)

1. 排列

itertools.permutation(iterable,n)
参数一:要排列的序列
参数二:要选取的个数,返回的是一个迭代对象,迭代器中的每一个元素都是一个元组

2. 组合

3. 排列组合

4. 破解密码

十二、正则表达式

1. 常用需求

  1. 判断qq号

  2. 判断手机号

2. 正则概述

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述,匹配一系列符合某个句法规则的字符串搜索模式。

3. re模块简介

4. 正则表达式的元字符

十三、re模块中常用的功能函数

1. compile()

2. match()

3. search()

4. findall()

5. finditer()

6. split()

7. sub()

8. subn()

9. 一些注意点

10. 使用练习


总结

分享:
要防止易怒、冲动情绪,首先应注意说话的语气和声调,避免用刺激性语言指责他人。否则,容易伤害别人的自尊心,很可能造成对立状态;同时,其反作用力也会给个体自身带来情绪上的波动。因此,个体遇事应保持冷静、清醒的头脑,这有利于克服冲动和偏激情绪,同时还应发挥自我暗示的积极作用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若竹之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值