zoukankan      html  css  js  c++  java
  • python常用函数总结

    python常用函数总结

    普通函数

    一、输入输出函数

    1、print()函数                                                                                     
    输出函数

    向屏幕输出指定的汉字
    print("hello world")

    print()函数可以同时输出多个字符串,用逗号“,”隔开
    print("hello","how","are","you")

    print()会依次打印每个字符串,遇到逗号“,”会输出空格,输出的内容是这样的:
    hello how are you

    print()可以打印整数,或者计算结果
    >>>print(300)
    300
    >>>print(100 + 200)
    300

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

    >>>print("100 + 200 =", 100 + 200)
    100 + 200 = 300

    注意:对于字符串"100 + 200 ="它会原样输出,但是对于100+200,python解释器自动计算出结果为300,因此会打印出上述的结果。

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

    print("hello","你好")
    # 使用”,“进行连接
    
    print("he" + "llo")
    # 字符串相加,进行字符串的连接,且不产生空格
    
    print(10+30)
    # 没有使用引号括起来,默认为数值,若是使用引号括起来,就是字符串
    # 若是数值使用加号连接,默认是表达式进行计算,返回计算的结果
    
    print("hello"+1) #会报错
    # 不同类型的数据不能使用加号连接
    # 不同类型的数据能够使用”,“进行连接
    print("1 2 3",2+3)
    # 输入
    # input()
    # 带有提示信息的输入
    # name = input("请输入您的姓名:")
    # print(name)

    python中print之后是默认换行的

    要实现不换行要加end参数表明

    n = 0
    while n <= 100:
        print("n =",n,end=' ')
        if n == 20:
            break
        n += 1
    输出:
    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')
    print(5>1>2)
    输出:
    True
    False

    2、input()函数                                                                                          

    输入函数

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

    >>> name = input()
    jean

    如何查看输入的内容:
    >>> name
    'jean'

    或者使用:
    >>> print(name)
    jean

    当然,有时候需要友好的提示一下,我们也可以这样做:
    >>> name = input("place enter your name")
    place input your name jean
    >>> print("hello,", name)
    hello, jean

    二、进制转换函数

    1、bin(),oct(),hex()进制转换函数(带前缀)
    使用bin(),oct(),hex()进行转换的时候的返回值均为字符串,且带有0b, 0o, 0x前缀.

    十进制转换为二进制
    >>> bin(10)
    '0b1010'

    十进制转为八进制
    >>> oct(12)
    '014'

    十进制转为十六进制
    >>> hex(12)
    '0xc'

    2、’{0:b/o/x}’.format()进制转换函数(不带前缀)
    十进制转换为二进制
    >>>'{0:b}'.format(10)
    '1010'

    十进制转为八进制
    >>> '{0:o}'.format(12)
    '14'

    十进制转为十六进制
    >>> '{0:x}'.format(12)
    'c'

    注意:hex函数比格式化字符串函数format慢,不推荐使用.
    3、int(’’,2/8/16)转化为十进制函数(不带前缀)
    二进制转为十进制
    >>> int('1010',2)
    10

    八进制转为十进制
    >>> int('014', 8)
    12

    十六进制转十进制
    >>> int('0xc',16)
    12

    4、’{0:d}’.format()进制转换为十进制函数
    二进制转十进制
    >>> '{0:d}'.format(0b11)
    '3'

    八进制转十进制
    >>> '{0:d}'.format(0o14)
    '12'

    十六进制转十进制
    >>> '{0:d}'.format(0x1f)
    '31'

    5、eval()进制转为十进制函数
    二进制转十进制
    >>> eval('0b11')
    '3'

    八进制转十进制
    >>> eval('0o14')
    '12'

    十六进制转十进制
    >>> eval('0x1f')
    '31'

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

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

    三、求数据类型函数

    1、type()

    n = "hello world"
    n = type(n)
    print(n)
    输出:
    <class 'str'>

    2、使用type()判断变量的类型

    # int float str bool tuple list dict set
    str1 = 'ss'
    if type(num) == str:
    print('yes')
    输出:
    yes
    
    str1 = 'ss'
    print(isinstance(str1,str))
    输出:
    True
    
    推荐使用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)))
    print(isinstance(n,int))
    print(isinstance(A,object))
    b = B()
    print(isinstance(b,A))
    c =C()
    print(isinstance(c,B))
    输出:
    True
    False
    True
    True
    False

    四、关键字函数

    1、keyword.kwlist()函数
    查看关键字 :

    import keyword
    print(keyword.kwlist)
    输出:
    ['False', 'None', 'True', 'and', 'as', 'assert', '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() 函数

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

    用法1

    n = "hello world"
    print(n)
    del n

    用法2

    n = "hello world"
    print(n)
    del(n)
    print(n)
    输出:
    hello world
    NameError: name 'n' is not defined

    六、数学函数  pandas,  munpy 

    1、abs(num) 返回num的绝对值

    print(abs(-3))

    输出: 3

    2、max(num1,num2,…,numn) 返回给定参数的最大值
    num1 = 10
    num2 = 20
    print(num1 > num2)
    print(max(num1,num2,56))
    输出:
     False
     56

    3、min(num1,num2,…,numn) :返回给定参数的最小值
    print(min(12,3,34,0))
    输出:
    0

    4、pow(x,y) : 求x的y次方,x^y
    print(pow(2,3))
    输出:
    8

    5、round(num,n) : 四舍五入,
    ​ 参数一:需要进行四舍五入的数据;
    参数二:保留小数的位数。若n不写,默认为0
    print(round(123.486,2))
    输出:
    123.49

    六、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)
    输出:
    2432902008176640000

    七、字符串函数

    1、eval(str)函数
    功能:将字符串转成有效的表达式来求值或者计算结果

    可以将字符串转化成列表list,元组tuple,字典dict,集合set

    注意:生成了一个新的字符串,没有改变原本的字符串

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

    2、len(str)函数
    功能:获取字符串长度

    str1 = "you are good man"
    print(len(str1))
    输出:
    16

    3、str.lower()函数
    功能:返回一个字符串中大写字母转化成小写字母的字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "You are good Man"
    print(str1.lower())
    print(str1)
    输出:
    you are good man
    You are good Man
    4、str.upper()函数

    功能:返回一个字符串中小写字母转化成大写字母的字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "You are good man"
    print(str1.upper())
    print(str1)
    输出:
    YOU ARE GOOD MAN
    You are good man
    5、str.swapcase()函数

    功能:返回字符串中的大写字母转小写,小写字母转大写的字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "You are Good man"
    print(str1.swapcase())
    print(str1)
    输出:
    yOU ARE gOOD MAN
    You are Good man
    6、str.capitalize()函数

    功能:返回字符串中的首字母大写,其余小写的字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    tr1 = "you Are good man"
    print(str1.capitalize())
    print(str1)
    str2 = "You are a good Man"
    print(str2.capitalize())
    输出:
    You are good man
    you Are good man
    7、str.title()函数

    功能:返回一个每个单词首字母都大写的字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "you Are good man"
    print(str1.title())
    print(str1)
    str2 = "You are a good Man"
    print(str2.title())
    输出:
    You Are Good Man
    you Are good man
    You Are A Good Man
    8、str.center(width[,fillchar])函数

    功能:返回一个指定宽度的居中字符串

    参数一:指定的参数【必须有】

    参数二:fillchar填充的字符,若未指定,则默认使用空格

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "you Are good man"
    print(str1.center(20,"*"))
    print(str1)
    输出:
         you Are good man    
    **you Are good man**
    you Are good man
    9、str.ljust(width[,fillchar])函数

    功能:返回一个指定宽度左对齐的字符串

    参数一:指定字符串的宽度【必须有】

    参数二:填充的字符,若不写则默认为空格

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "you Are good man"
    print(str1.ljust(20,"*"))
    print(str1)
    输出:
    you Are good man****
    you Are good man
    10、str.rjust(width[,fillchar])函数

    功能:返回一个指定宽度右对齐的字符串

    参数一:指定字符串的宽度【必须有】

    参数二:填充的字符,若不写则默认为空格

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "you Are good man"
    print(str1.rjust(20,"*"))
    print(str1)
    输出:
    ****you Are good man
    you Are good man

    11、str.zfill(width)函数
    功能:返回一个长度为width的字符串,原字符右对齐,前面补0

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "you Are good man"
    print(str1.zfill(20))
    print(str1)
    输出:
    0000you Are good man

    12、str2.count(str1,start,end])函数
    功能:返回str1在str2中出现的次数,可以指定一个范围,若不指定则默认查找整个字符串

    区分大小写

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "hello"
    str2 = "Hello hello1 Hello2 hi haha helloa Are good man"
    print(str2.count(str1,0,20))
    输出:
    1
    13、str2.find(str1,start,end)函数

    功能:从左往右检测str2,返回str1第一次出现在str2中的下标

    若找不到则返回-1,可以指定查询的范围,若不指定则默认查询整个字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "hello"
    str2 = "Hello hello1 Hello2 hi haha helloa Are good man"
    print(str2.find(str1,5,20))
    输出:
    6
    14、str2.rfind(str1,start,end)函数

    功能:从右往左检测str2,返回str1第一次出现在str2中的小标,若找不到则返回-1,可以指定查询的范围,若不指定则默认查询整个字符串

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "hello"
    str2 = "Hello hello1 Hello2 hi haha helloa Are good man"
    print(str2.rfind(str1,10,35))
    输出;
    28
    15、str2.index(str1,start,end)函数

    功能:和find()一样,不同的是若找不到str1,则会报异常

    ValueError:substring not found

    注意:生成了一个新的字符串,没有改变原本的字符串

    str1 = "hello"
    str2 = "Hello hello1 Hello2 hi haha helloa Are good man"
    print(str2.index(str1,2,25))
    print(str2.index(str1,24,25))
    输出:
    6
    ValueError: substring not found
    16、str.lstrip(char)函数

    功能:返回一个截掉字符串左侧指定的字符,若不给参数则默认截掉空字符: 空格

    注意:生成了一个新的字符串,没有改变原本的字符串

    str3 = "  
    
     	 ni hao ma"
    print(str3)
    print(str3.lstrip())
    str4 = "****ni hao ma****"
    print(str4.lstrip('*'))
    输出;
         ni hao ma
    ni hao ma
    ni hao ma****
    17、str.rstrip()函数

    功能:返回一个截掉字符串右侧指定的字符,若不给参数则默认截掉空字符: 空格

    注意:生成了一个新的字符串,没有改变原本的字符串

    str3 = "  ni hao ma 
    
     	"
    print(str3.rstrip())
    str4 = "****ni hao ma****"
    print(str4.rstrip('*'))
    输出:
     ni hao ma
    ****ni hao ma
    18、str2.split(str1,num) 分离字符串

    功能:返回一个列表,列表的元素是以str1作为分隔符对str2进行切片,
    若num有指定值,则切num次,列表元素个数为num+1
    若不指定则全部进行切片
    若str1不指定,则默认为空字符(空格、换行 、回车 、制表 )

    注意:生成了一个新的字符串,没有改变原本的字符串

    str2 = "22hello nihao hi hello haha ello2 hello3 hello"
    print(str2.split(' ',3))
    str3 = "1257309054@qq.com"
    print(str3.split('@'))
    list1 = str3.split('@')
    print(list1[1].split('.'))
    输出:
    ['22hello', 'nihao', 'hi', 'hello haha ello2 hello3 hello']
    ['1257309054', 'qq.com']
    ['qq', 'com']
    19、str2.splitlines()

    功能:返回一个列表,列表的元素是以换行为分隔符,对str2进行切片

    注意:生成了一个新的字符串,没有改变原本的字符串

    str2 = '''
    22
      23
       hello
    '''
    print(str2.splitlines())
    输出:
    ['', '22', '  23', '   hello']

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

    功能:以指定字符串作为分隔符,将seq中的所有元素合并成为一个新的字符串

    seq:list、tuple、string

    list1 = ["hello","nihao"]
    print(" ".join(list1))
    输出:
    hello nihao
    
    str1 = "how are you , i am fine thank you"
    str3 = "*".join(str1)
    print(str3)
    输出:
    h*o*w* *a*r*e* *y*o*u* *,* *i* *a*m* *f*i*n*e* *t*h*a*n*k* *y*o*u

    21、ord() 求字符的ASCLL码值函数
    print(ord("a"))
    输出:
    97

    22、chr() 数字转为对应的ASCLL码函数
    print(chr(97))
    输出:
    a

    23、 max(str) min(str)获取最大最小字符
    **max(str) **功能: 返回字符串str中最大的字母
    str1 = "how are you , i am fine thank you"
    print(max(str1))
    输出:
    y

    min(str) 功能:返回字符串str中最小字母
    str1 = "how are you , i am fine thank you"
    print(min(str1))
    输出:
    ' '

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

    str.replace(old , new [, count])

    功能:使用新字符串替换旧字符串,若不指定count,则默认全部替换
    若指定count,则替换前count个

    str1 = "you are a good man"
    print(str1.replace("good","nice"))
    输出:
    you are a nice man

    25、字符串映射替换
    参数一:要转换的字符 参数二:目标字符
    dic = str.maketrans(oldstr, newstr)
    str2.translate(dic)

    str1 = "you are a good man"
    dic = str1.maketrans("ya","32")
    print(str1.translate(dic))
    结果:
    3ou 2re 2 good m2n

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

    str.startswith(str1,start.end)
    功能:判断在指定的范围内字符串str是否以str1开头,若是就返回True,否则返回False
    若不指定start,则start默认从开始,
    若不指定end,则默认到字符串结尾

    str1 = "hello man"
    print(str1.startswith("h",0,6))
    输出:
    True

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

    str.endswith(str1,start.end)
    功能:判断在指定的范围内字符串str是否以str结束,若是就返回True,否则返回False
    若不指定start,则start默认从开始,
    若不指定end,则默认到字符串结尾

    str1 = "hello man"
    print(str1.endswith("man"))
    输出:
    True

    28、str.encode(编码格式)

    对字符串进行编码 默认是utf-8
    编码:str.encode()
    解码:str.encode().decode()
    注意:encode()的编码格式与decode()的编码格式必须保持一致

    str4 = "你好吗"
    print(str4.encode())
    print(str4.encode().decode())
    print(str4.encode("gbk"))
    print(str4.encode("gbk").decode("gbk"))
    输出:
    b'xe4xbdxa0xe5xa5xbdxe5x90x97'
    你好吗
    b'xc4xe3xbaxc3xc2xf0'
    你好吗
    29、str1.isalpha() 字符串为字母

    功能:判断字符串【至少含有一个字符】中的所有的字符是否都是字母【a~z A~Z 汉字】
    若符合条件则返回True,否则返回False

    str5 = "hello你二"
    print(str5.isalpha())
    str5 = "hello "
    print(str5.isalpha())
    输出:
    True
    False
    30、str5.isalnum()

    功能:判断字符串【至少含有一个字符】中的所有字符都是字母或者数字【09,Az,中文】

    str5 = "helloA标红"
    print(str5.isalnum())
    print("12aaa".isalnum())
    print("aaa".isalnum())
    print("  111".isalnum())
    print("111".isalnum())
    print("$$%%qwqw11".isalnum())
    print("你好".isalnum())
    print( "IV".isalnum())
    print(''.isalnum())
    输出;
    True
    True
    True
    False
    True
    False
    True
    True
    True
    31、str.isupper()

    功能:判断字符串中所有字符是不是大写字符

    print("WWW".isupper())
    print("wWW".isupper())
    print("123".isupper())
    print("一二三".isupper())
    输出;
    True
    False
    False
    False
    31、str.islower()

    功能:判断字符串中所有字符是不是小写字符

    print("WWW".islower())
    print("wWW".islower())
    print("123".islower())
    print("一二三".islower())
    print("qwww".islower())
    输出:
    False
    False
    False
    False
    True
    32、str.istitle()

    功能:判断字符串是否是标题化字符串【每个首字母大写】

    print("U Wss".istitle())
    print("wWW ".istitle())
    print("123 ".istitle())
    print("一二三".istitle())
    print("qwww".istitle())
    输出:
    True
    False
    False
    False
    False
    33、 str.isdigit()

    isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节)
    False: 汉字数字, ,罗马数字
    Error: 无

    print("123".isdigit())
    print("123".isdigit())
    print(b"1".isdigit())
    print("".isdigit())
    print("123.34".isdigit())
    print("".isdigit())
    输出;
    True
    True
    True
    False
    False
    False
    34、str.isspace()

    功能:判断字符串中是否只含有空格

    print("ddd".isspace())
    print("".isspace())
    print("a  ddd".isspace())
    print(" aaa".isspace())
    print("  ".isspace())
    输出;
    False
    False
    False
    False
    True

    35、str.isnumeric()
    功能:若字符串中只包含数字字符,则返回True,否则返回False

    isnumeric()
    True: Unicode数字,全角数字(双字节),汉字数字
    False: 罗马数字,
    Error: byte数字(单字节)

    36、str.isdecimal()
    功能:检查字符串是否只包含十进制字符【0,9】,如果是返回True,否则返回False

    isdecimal()
    True: Unicode数字,,全角数字(双字节),
    False: 罗马数字,汉字数字
    Error: byte数字(单字节)

    print("123".isdecimal())
    print("123z".isdecimal())
    #结果
    True
    False

     
  • 相关阅读:
    0309. Best Time to Buy and Sell Stock with Cooldown (M)
    0621. Task Scheduler (M)
    0106. Construct Binary Tree from Inorder and Postorder Traversal (M)
    0258. Add Digits (E)
    0154. Find Minimum in Rotated Sorted Array II (H)
    0797. All Paths From Source to Target (M)
    0260. Single Number III (M)
    0072. Edit Distance (H)
    0103. Binary Tree Zigzag Level Order Traversal (M)
    0312. Burst Balloons (H)
  • 原文地址:https://www.cnblogs.com/111testing/p/13583769.html
Copyright © 2011-2022 走看看