码迷,mamicode.com
首页 > 其他好文 > 详细

内置函数,正在整理中。

时间:2018-01-14 13:46:21      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:数值   def   shel   自己   bytes   next   size   tor   字符串表   

Python3中的68个内置函数,我必须要好好总结下。以下是参考文献及大神的博客和自己理解的总结分类。

内置函数大体分为数学运算,类型转换,序列操作,对象操作,反射操作,变量操作,交互操作,文件操作,编译执行,装饰器。

 

数学运算(7个)

abs:求数值的绝对值

>>>print(abs(-2))
2

divmod:返回两个数值的商和余数

 

>>>ret = divmod(5,2)   ##下面省略赋值打印
>>>print(ret) (
2,1) >>>divmod(5,5,2) (2.0,1.5)

 

 

max:返回可迭代对象中的元素中的最大值或者所有参数的最大值

 

>>> max(1,2,3) # 传入3个参数 取3个中较大者
>>> max(1234) # 传入1个可迭代对象,取其最大元素值
4

>>> max(-1,0) # 数值默认去数值较大者
>>> max(-1,0,key = abs) # 传入了求绝对值函数,则参数都会进行求绝对值后再取较大者
-1

 

min:返回可迭代对象中的元素中的最小值或者所有参数的最小值

>>> min(1,2,3) # 传入3个参数 取3个中较小者
>>> min(1234) # 传入1个可迭代对象,取其最小元素值
1

>>> min(-1,-2) # 数值默认去数值较小者
-2
>>> min(-1,-2,key = abs)  # 传入了求绝对值函数,则参数都会进行求绝对值后再取较小者
-1

pow:返回两个数值的幂运算值或其与指定整数的模值

>>> pow(2,3)
>>> 2**3

>>> pow(2,3,5)
>>> pow(2,3)%5

round:对浮点数进行四舍五入求值

>>> round(1.1314926,1)
1.1
>>> round(1.1314926,5)
1.13149

sum:对元素类型是数值的可迭代对象中的每个元素求和

# 传入可迭代对象
>>> sum((1,2,3,4))
# 元素类型必须是数值型
>>> sum((1.5,2.5,3.5,4.5))
12.0
>>> sum((1,2,3,4),-10)
0

类型转换(24)

bool:根据传入的参数的逻辑创建一个新的bool值

>>> bool() #未传入参数
False
>>> bool(0) #数值0、空序列等值为False
False
>>> bool(1)
True

int:根据传入的参数创建一个新的整数

>>> int() #不传入参数时,得到结果0。
0
>>> int(3)
3
>>> int(3.6)
3

float:根据传入的参数创建一个新的浮点数

>>> float() #不提供参数的时候,返回0.0
0.0
>>> float(3)
3.0
>>> float(3)
3.0

 

complex:根据传入参数创建一个新的复数

>>> complex() #当两个参数都不提供时,返回复数 0j。
0j
>>> complex(1+2j) #传入字符串创建复数
(1+2j)
>>> complex(1,2) #传入数值创建复数
(1+2j)

 

str:返回一个对象的字符串表现形式(给用户)

>>> str()
‘‘
>>> str(None)
None
>>> str(abc)
abc
>>> str(123)
123

 

bytearray:根据传入的参数创建一个新的字节数组

>>> bytearray(中文,utf-8)
bytearray(b\xe4\xb8\xad\xe6\x96\x87)

bytes:根据传入的参数创建一个新的不可变字节数组

>>> bytes(中文,utf-8)
b\xe4\xb8\xad\xe6\x96\x87

menmoryview:根据传入的参数创建一个新的内存查看对象

 

>>> v = memoryview(babcefg)
>>> v[1]
98
>>> v[-1]
103

 

ord:返回Unicode字符对应的整数

>>> ord(a)
97

chr:返回整数所对应的Unicode字符

>>> chr(97) #参数类型为整数
a

bin:将整数转换成2进制值字符串

>>> bin(3) 
0b11

oct:将整数转化成8进制字符串

>>> oct(10)
0o12

hex:将整数转换成16进制字符串

>>> hex(15)
0xf

tuple:根据传入的参数创建一个新的元组

>>> tuple() #不传入参数,创建空元组
()
>>> tuple(121) #传入可迭代对象。使用其元素创建新的元组
(1, 2, 1)

list:根据传入的参数创建一个新的列表

>>>list() # 不传入参数,创建空列表
[] 
>>> list(abcd) # 传入可迭代对象,使用其元素创建新的列表
[a, b, c, d]

dict:根据传入的参数创建一个新的字典

>>> dict() # 不传入任何参数时,返回空字典。
{}
>>> dict(a = 1,b = 2) #  可以传入键值对创建字典。
{b: 2, a: 1}
>>> dict(zip([a,b],[1,2])) # 可以传入映射函数创建字典。
{b: 2, a: 1}
>>> dict(((a,1),(b,2))) # 可以传入可迭代对象创建字典。
{b: 2, a: 1}

 

set:根据传入的参数创建一个新的集合

>>>set() # 不传入参数,创建空集合
set()
>>> a = set(range(10)) # 传入可迭代对象,创建集合
>>> a
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

 

frozenset:根据传入的参数创建一个新的不可变集合

>>> a = frozenset(range(10))
>>> a
frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})

enumerate:根据可迭代对象创建枚举对象

>>> seasons = [Spring, Summer, Fall, Winter]
>>> list(enumerate(seasons))
[(0, Spring), (1, Summer), (2, Fall), (3, Winter)]
>>> list(enumerate(seasons, start=1)) #指定起始值
[(1, Spring), (2, Summer), (3, Fall), (4, Winter)]

 

range:根据传入的参数创建一个新的range对象

>>> a = range(10)
>>> b = range(1,10)
>>> c = range(1,10,3)
>>> a,b,c # 分别输出a,b,c
(range(0, 10), range(1, 10), range(1, 10, 3))
>>> list(a),list(b),list(c) # 分别输出a,b,c的元素
([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 4, 7])
>>>

iter:根据传入的参数创建一个新的可迭代对象

>>> a = iter(abcd) #字符串序列
>>> a
<str_iterator object at 0x03FB4FB0>
>>> next(a)
a
>>> next(a)
b
>>> next(a)
c
>>> next(a)
d
>>> next(a)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    next(a)
StopIteration

slice:根据传入的参数创建一个新的切片对象

>>> c1 = slice(5) # 定义c1
>>> c1
slice(None, 5, None)
>>> c2 = slice(2,5) # 定义c2
>>> c2
slice(2, 5, None)
>>> c3 = slice(1,10,3) # 定义c3
>>> c3
slice(1, 10, 3)

 

super:根据传入的参数创建一个新的子类和父类关系的代理对象

#定义父类A
>>> class A(object):
    def __init__(self):
        print(A.__init__)

#定义子类B,继承A
>>> class B(A):
    def __init__(self):
        print(B.__init__)
        super().__init__()

#super调用父类方法
>>> b = B()
B.__init__
A.__init__

object:创建一个新的object对象

 

>>> a = object()
>>> a.name = kim # 不能设置属性
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    a.name = kim
AttributeError: object object has no attribute name

序列操作

 

内置函数,正在整理中。

标签:数值   def   shel   自己   bytes   next   size   tor   字符串表   

原文地址:https://www.cnblogs.com/qinghuani/p/8283138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!