(四)Python从入门到精通之常用内置函数1

上一篇:(三)Python从入门到精通之运算符与表达式

Python常用内置函数用法精要

  • 内置函数(BIF,built-in functions)是Python内置对象类型之一,不需要额外导入任何模块即可直接使用,这些内置对象都封装在内置模块__builtins__之中,用C语言实现并且进行了大量优化,具有非常快的运行速度,推荐优先使用。使用内置函数dir()可以查看所有内置函数和内置对象:
>>> dir(__builtins__)
  • 使用 help(函数名)可以查看某个函数的用法:
>>> help(sum)
Help on built-in function sum in module builtins:

sum(iterable, start=0, /)
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers
    
    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.
  • Python常用内置函数功能简要说明:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.1类型转换与类型判断

  • 内置函数bin()、oct()、hex()用来将整数转换为二进制、八进制和十六进制形式,这三个函数都要求参数必须为整数。
>>> bin(555)                      #把数字转换为二进制串
'0b1000101011'
>>> oct(555)                      #转换为八进制串
'0o1053'
>>> hex(555)                      #转换为十六进制串
'0x22b'
  • 内置函数float()用来将其他类型数据转换为实数,complex()可以用来生成复数。
>>> float(3)                       #把整数转换为实数
3.0
>>> float('3.5')                   #把数字字符串转换为实数
3.5
>>> float('inf')                   #无穷大,其中inf不区分大小写
inf
>>> complex(3)                     #指定实部
(3+0j)
>>> complex(3, 5)                  #指定实部和虚部
(3+5j)
>>> complex('inf')                 #无穷大
(inf+0j)
  • 内置函数ord()和chr()是一对功能相反的函数,ord()用来返回单个字符的Unicode码,而chr()则用来返回Unicode编码对应的字符,str()则直接将其任意类型参数转换为字符串。
>>> ord('a')           #查看指定字符的Unicode编码
97
>>> chr(65)            #返回数字65对应的字符
'A'
>>> chr(ord('A')+1)    #Python不允许字符串和数字之间的加法操作
'B'
>>> chr(ord('国')+1)   #支持中文
'图'
>>> ord('董')          #这个用法仅适用于Python 3.x
33891
>>> str(1234)                      #直接变成字符串
'1234'
>>> str([1,2,3])
'[1, 2, 3]'
>>> str((1,2,3))
'(1, 2, 3)'
>>> str({1,2,3})
'{1, 2, 3}'
  • 内置函数list()、tuple()、dict()、set()用来把其他类型的数据转换成为列表、元组、字典、集合,或者创建空列表、空元组、空字典和空集合。
>>> list(range(5))               #把range对象转换为列表
[0, 1, 2, 3, 4]
>>> tuple(_)                     #一个下划线表示上一次正确的输出结果
(0, 1, 2, 3, 4)
>>> dict(zip('1234', 'abcde'))   #创建字典
{'4': 'd', '2': 'b', '3': 'c', '1': 'a'}
>>> set('1112234')               #创建可变集合,自动去除重复
{'4', '2', '3', '1'}
  • 内置函数type()和isinstance()可以用来判断数据类型,常用来对函数参数进行检查,可以避免错误的参数类型导致函数崩溃或返回意料之外的结果。
>>> type(3)                                 #查看3的类型
<class 'int'>
>>> type([3])                               #查看[3]的类型
<class 'list'>
>>> type({3}) in (list, tuple, dict)        #判断{3}是否为list,tuple或dict类型的实例
False
>>> type({3}) in (list, tuple, dict, set)   #判断{3}是否为list,tuple,dict或set的实例
True
>>> isinstance(3, int)                      #判断3是否为int类型的实例
True
>>> isinstance(3j, int)
False
>>> isinstance(3j, (int, float, complex))   #判断3是否为int,float或complex类型
True
  • 内置函数eval()用来计算字符串的值,在有些场合也可以用来实现类型转换的功能。
>>> eval('3+5')
8
>>> eval('9')                  #把数字字符串转换为数字
9
>>> eval('09')                 #抛出异常,不允许以0开头的数字
SyntaxError: invalid token
>>> int('09')                  #这样转换是可以的
9
>>> list(str([1, 2, 3, 4]))    #字符串中每个字符都变为列表中的元素
['[', '1', ',', ' ', '2', ',', ' ', '3', ',', ' ', '4', ']']
>>> eval(str([1, 2, 3, 4]))    #字符串求值
[1, 2, 3, 4]

4.2最值与求和

  • 内置函数max()、min()、sum()分别用于计算列表、元组或其他包含有限个元素的可迭代对象中所有元素最大值、最小值以及所有元素之和。
  • 内置函数sum()默认(可以通过start参数来改变)支持包含数值型元素的序列或可迭代对象,max()和min()则要求序列或可迭代对象中的元素之间可比较大小。
>>> from random import randint
>>> a = [randint(1,100) for i in range(10)]  #包含10个[1,100]之间随机数的列表
>>> print(max(a), min(a), sum(a))            #最大值、最小值、所有元素之和
>>> sum(a) / len(a) 
  • max()和min()还支持default参数和key参数,其中default参数用来指定可迭代对象为空时默认返回的最大值或最小值,而key参数用来指定比较大小的依据或规则,可以是函数或lambda表达式。
>>> max(['2', '111'])               #不指定排序规则
'2'
>>> max(['2', '111'], key=len)      #返回最长的字符串
'111'
>>> print(max([], default=None))    #对空列表求最大值,返回空值None
None

4.3基本输入输出

  • input()和print()是Python的基本输入输出函数,前者用来接收用户的键盘输入,后者用来把数据以指定的格式输出到标准控制台或指定的文件对象。不论用户输入什么内容,input()一律返回字符串对待,必要的时候可以使用内置函数int()、float()或eval()对用户输入的内容进行类型转换。
>>> x = input('Please input: ')
Please input: 345
>>> x
'345'
>>> type(x)                     #把用户的输入作为字符串对待
<class 'str'>
>>> int(x)                      #转换为整数
345
>>> eval(x)                     #对字符串求值,或类型转换
345
>>> x = input('Please input: ')
Please input: [1, 2, 3]
>>> x
'[1, 2, 3]'
>>> type(x)
<class 'str'>
>>> eval(x)
[1, 2, 3]
x,y = input('Please input: ').split()       #同时输入两个数
Please input: 345 123                       #二者之间用空格隔开
>>> x
'345'
>>> y
'123'

x,y = map(int, input('Please input: ').split())       #同时输入两个整型数
Please input: 345 123                       #二者之间用空格隔开
>>> x
345
>>> y
123
  • 内置函数print()用于输出信息到标准控制台或指定文件,语法格式为: print(value1, value2, …, sep=’
    ‘, end=’\n’, file=sys.stdout, flush=False)
  • sep参数之前为需要输出的内容(可以有多个); sep参数用于指定数据之间的分隔符,默认为空格;
    end参数用于指定输出完数据之后再输出什么字符;
>>> print(1, 3, 5, 7, sep='\t')       #修改默认分隔符
1	3	5	7
>>> for i in range(10):               #修改end参数,每个输出之后不换行
    print(i, end=' ')                 #回车之后不换行,而是空格

0 1 2 3 4 5 6 7 8 9 

下一篇:(五)Python从入门到精通之常用内置函数2

发布了100 篇原创文章 · 获赞 240 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/zag666/article/details/104740082