Python语言基础知识(三)

文章目录

    • 一、Python常用内置函数
      • 1、内置函数
      • 2、Python 常用内置函数—类型转换与类型判断
      • 3、Python 常用内置函数— 最值与求和
      • 4、random

一、Python常用内置函数

1、内置函数

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

>>> dir(__builtins__)

使用help(函数名)可以查看某个函数的用法。

>>> help(sum)

Python语言基础知识(三)_第1张图片
Python语言基础知识(三)_第2张图片
Python语言基础知识(三)_第3张图片
Python语言基础知识(三)_第4张图片
Python语言基础知识(三)_第5张图片
Python语言基础知识(三)_第6张图片

2、Python 常用内置函数—类型转换与类型判断

内置函数bin()、oct()、hex()用来将整数转换为二进制八进制十六进制形式,这三个函数都要求参数必须为整数。

>>> bin(555)                      #把数字转换为二进制串
'0b1000101011'
>>> oct(555)                      #转换为八进制串
'0o1053'
>>> hex(555)                      #转换为十六进制串
'0x22b'

内置函数int()用来将其他形式的数字转换为整数,参数可以为整数、实数、分数或合法的数字字符串。当参数为数字字符串时,还允许指定第二个参数base用来说明数字字符串的进制,base的取值应为0或2-36之间的整数,其中0表示按数字字符串隐含的进制进行转换。

>>> int(-3.2)                       #把实数转换为整数
-3
>>> int('0x22b', 16)                 #把十六进制数转换为十进制数
555
>>> int(x)                          #把分数转换为整数
2
>>> x = Decimal(10/3)
>>> x
Decimal('3.333333333333333481363069950020872056484222412109375')
>>> int(x)                          #把高精度实数转换为整数
3

内置函数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'
>>> str(1234)                      #直接变成字符串
'1234'
>>> str([1,2,3])
'[1, 2, 3]'
>>> str((1,2,3))
'(1, 2, 3)'
>>> str({1,2,3})
'{1, 2, 3}'
>>> chr(ord('A')+1)    #Python不允许字符串和数字之间的加法操作
'B'
>>> ord('烟')          #这个用法仅适用于Python 3.x
28895
>>> ord('台')
21488
>>> ord('市')
24066

>>> ''.join(map(chr, (28895,21488,24066)))
'烟台市'

内置类ascii可以把对象转换为ASCII码表示形式,必要的时候使用转义字符来表示特定的字符

>>> ascii('a')
"'a'"
>>> ascii('烟台市')
"'\\u70df\\u53f0\\u5e02'"
>>> eval(_)                        #对字符串进行求值
'烟台市'

list()、tuple()、dict()、set()、frozenset()用来把其他类型的数据转换成为列表、元组、字典、可变集合和不可变集合,或者创建空列表、空元组、空字典和空集合。

>>> 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'}
>>> _.add('5')
>>> _
{'2', '1', '3', '4', '5'}
>>> frozenset('1112234')         #创建不可变集合,自动去除重复
frozenset({'2', '1', '3', '4'})
>>> _.add('5')                   #不可变集合frozenset不支持元素添加与删除
AttributeError: 'frozenset' object has no attribute 'add'

内置函数**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

3、Python 常用内置函数— 最值与求和

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)        

4、random

1、random.random()
返回[0,1)之间的随机浮点数
2、random.uniform(a,b)
返回[a,b]之间的随机浮点数
3、random.randint(a,b)
返回[a,b]之间的随机整数
4、random.randrange([start], stop[, step])
返回 [start,stop) 之间的随机整数
5、random.choice(sequence)
从sequence中返回一个随机数,其中,sequence参数可以是列表、元组或字符串。
6、random.shuffle(X)
用于元素打乱顺序,俗称“洗牌”。
7、random.sample(squence, K)
从指定序列中随机获取K个元素作为一个片段返回,sample函数不会修改原有序列。

你可能感兴趣的:(Python,python,网络,服务器)