6.python内置函数

1. abs() 获取绝对值
>>> abs(-10)
10
>>> a = -10
>>> a.__abs__()
10
2. all() 参数为可迭代对象,迭代对象为空时,返回True.如果迭代对象的所有元素都为真,那么返回True,否则返回False.
all(['python',123])
--->True all([])
--->True all([0])
--->False all(" ")
--->True all(1,' ',2,None)
--->False
3.any() 参数为可迭代对象,参数为空时返回True
print(any([None,0,' ',{},1]))
--->True
print(any(' '))
--->True
4.sum() 求和
>>> res = sum(i for i in range(5))
>>> print(res)
10
5.bin() 将参数转化为二进制
>>> bin(3)
'0b11'
>>> bin(10)
'0b1010'
6.bool() 布尔函数,返回bool值,False或True
>>> bool(3)
True
>>> bool(0)
False
>>> bool(None)
False
7. ascii() 调用对象的__repr__()方法,获得该方法的返回值
8.bytes() 将一个字符串转化为字节类型
>>> print(bytes('hello',encoding='utf-8'))
b'hello
9.str() 将字符类型/数值类型等转换为字符串类型
>> str(1)
''
10.chr() 查看十进制数对应的ASCII字符
>>> chr(65)
'A'
>>> chr(90)
'Z'
>>> chr(97)
'a'
>>> chr(122)
'z'
11.ord() 查看某个ASCII对应的十进制数
>>> ord('a')
97
>>> ord('A')
65
12.callabe() 判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例
13. classmethod() 用来指定一个方法为类的方法,由类直接调用执行,只有一个cls参数,执行雷的方法时,自动将调用该方法的类赋值给cls.没有此参数指定的类的方法为实例方法
class Province:
country = "中国" def __init__(self, name):
self.name = name @classmethod
def show(cls): # 类方法,由类调用,最少要有一个参数cls,调用的时候这个参数不用传值,自动将类名赋值给cls
print(cls) # 调用方法
Province.show()
14.complie() 将字符串编译成python能识别或可以执行的代码,也可以将文字读成字符串再编译
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
说明:
1. 将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
2. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。
3. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。
4. 参数mode:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,mode应指定为‘exec’;当source中只包含一个简单的求值表达式,mode应指定为‘eval’;当source中包含了交互式命令语句,mode应指定为'single'。
#流程语句使用exec
code1 = 'for i in range(10):print(i)'
aa = compile(code1,'','exec') #source,filename,mode
exec(aa) 结果:
0
1
2
3
4
5
6
7
8
9 #简单求值表达式用eval
code2 = "1+2+3+4"
bb = compile(code2,'','eval')
print(eval(bb)) 结果:
10 #交互语句用single
code3 = "name = input('please input your name:')"
cc = compile(code3,'','single')
exec(cc) #执行时提示输入name
15.complex()
1 创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数是字符串,则不需要指定第二个参数。
2 参数real:int,long,float或字符串。
3 参数imag:int,long,float x=complex(1-2j)
print(x.real)
--->1.0 print(x.imag)
--->2.0
16. delattr() 删除对象的属性
18. float() 讲一个字符串或整数转换为浮点数
>>> print(float(1))
1.0
19.list() 参数为可迭代对象
20.tuple() 元组
21.dict() 创建数据字典
22.set() 集合
23.frozenset() 不可变集合
24.dir() 不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> dir(sum)#输出sum下有哪些可被sum调用的方法。(对象.方法),sum.方法
25.divmod() 分别取商和余数.二个参数x和y,输出元组(x//y,x%y)
print(divmod(100,33))
--->(3,1)
26. enumerate() 返回一个可以枚举的对象,该对象的next()方法将返回一个元组
for i in enumerate(['a','b','c','d']):
print(i)
结果:
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
27.eval() 将字符串str中的表达式提取出来并运行
s= "1 + 2 * 3"
print(type(s))
print(eval(s)) 结果:
<class 'str'>
7
28.exec() 执行字符串或complie方法编译过的字符串,没有返回值
exec函数和eval函数类似,也是执行动态语句,只不过eval函数只用于执行表达式求值,而exec函数主要用于执行语句块。
>>> eval('a=1+2') #执行语句报错
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
eval('a=1+2')
File "<string>", line 1
a=1+2
^
SyntaxError: invalid syntax
>>> exec('a=1+2') #执行语句
>>> a
3
29.filter() 过滤器,构造一个序列,等价于[ item for item in iterables if function(item)],在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据
30.format() 格式化输出字符串,format(value, format_spec)实质上是调用了value的__format__(format_spec)方法
>>> print("I am {0}, I like {1}".format("derek","python"))
I am derek, I like python
31.getattr() 获取对象的属性
getattr(object, name [, defalut])
获取对象object名为name的特性,如果object不包含名为name的特性,将会抛出AttributeError异常;如果不包含名为name的特性
且提供default参数,将返回default。
参数object:对象
参数name:对象的特性名
参数default:缺省返回值 print(getattr(list, 'append'))
---> <method 'append' of 'list' objects> mylist = [3, 4, 5]
append(mylist, 6)
print(mylist)
--->[3, 4, 5, 6] print(getattr(list, 'add'))
--->Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'list' has no attribute 'add' print(getattr(list, 'add', 'NoMethod'))
---> 'NoMethod'
32.globals() 返回一个描述当前全局变量的字典
33.hasattr()
hasattr(object,name)
判断对象object是否包含名为name的特性(hasattr是通过调用getattr(object,name))是否抛出异常来实现的。
参数object:对象
参数name:特性名称 print(hasattr(list, 'append'))
---> True print(hasattr(list, 'add'))
---> False
34.hash() 哈希值
hash(object)
hash是一种算法,二个数值相等hash值是确定的唯一的,常用来校验数据。<br>hash值不能逆推。
如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。
两个数值如果相等,则哈希值也相等。
35.hex() 十进制转化为十六进制
>>> print(hex(10))
0xa
36. id() 查看唯一标识的身份
37. help() 返回对象的帮助文档
38. input() 获取用户输入内容
39. isinstance() 检查对象是否是类的对象,返回True或False
isinstance(obj, cls)
检查obj是否是类cls的对象, 返回True 或 False
class Foo(object):
pass
obj = Foo()
isinstance(obj, Foo)
40. issubclass() 检查一个类是否是另一个类的子类。返回True或False
issubclass(sub, super)
检查sub类是否是super类的派生类(子类)。返回True 或 False class Foo(object):
pass class Bar(Foo):
pass issubclass(Bar, Foo)
41. iter()
42. len() 返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)
43. locals() 打印当前可用的局部变量的字典
44. lambda匿名函数
45. zip() ‘拉链’,一对一的
46. sorted() 返回列表,列表包含所有的元素,按升序排列
47. map() 映射,第一个参数为函数,第二个参数为可迭代对象
48.max() 返回给定元素里最大值
49.min() 返回给定元素里最小值
50.object()
1.获取一个新的,无特性(geatureless)对象。Object是所有类的基类。它提供的方法将在所有的类型实例中共享。
2 该函数时2.2.版本新增,2.3版本之后,该函数不接受任何参数。
51.open() 打开文件
52.print() 输出函数
53.range() 根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数
55. repr() 将任意值转换为字符串,供计时器读取的形式
返回一个对象的字符串表示。有时可以使用这个函数来访问操作。
对于许多类型来说,repr()尝试返回一个字符串,eval()方法可以使用该字符串产生对象;
否则用尖括号括起来的,包含类名称和其他二外信息的字符串被返回。
57.round() 四舍六入五留双,五留双留离整数最近的偶数
print(round(10.3))
----> 10 print(round(10.5))
----> 10 print(round(10.6))
----> 11 print(round(10.9))
----> 11 print(round(11.5))
----> 12
58.pow() 幂函数
>>> print(pow(3,3))
27
>>> print(pow(2,5))
32
59. reduce() 合并,第一个参数为函数,第二个参数为可迭代对象。第三个参数可有可无,默认初始值。
60. filter 过滤
61.oct() 十进制转化为八进制
print(oct(10))
---->0o12
62.slice 切片
l=[1,2,3,4,5]
print(l[2:4])
--->[3,4] s=slice(2,4)
print(l[s])
---->[3,4]
63. vars 没有参数时和locals()一样,有参数得到字典
64. __import__
6.python内置函数的更多相关文章
- python内置函数
python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- Python基础篇【第2篇】: Python内置函数(一)
Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...
- [python基础知识]python内置函数map/reduce/filter
python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...
- Python内置函数进制转换的用法
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- Python内置函数(12)——str
英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...
- Python内置函数(61)——str
英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...
- 那些年,很多人没看懂的Python内置函数
Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...
- Python 内置函数笔记
其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...
- 【转】实习小记-python 内置函数__eq__函数引发的探索
[转]实习小记-python 内置函数__eq__函数引发的探索 乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, othe ...
随机推荐
- Django 入门案例开发(上)
Django 入门案例开发(中) http://www.cnblogs.com/focusBI/p/7858267.html Django是一个重量级的web开发框架,它提供了很多内部已开发好的插件供 ...
- Java 中实现方法重试的一种机制
有这样一个需求,当调用某个方法抛出异常,比如通过 HttpClient 调用远程接口时由于网络原因报 TimeOut 异常:或者所请求的接口返回类似于"处理中"这样的信息,需要重复 ...
- Java 8的新特性—终极版
作者:杜琪[译] 原文链接:http://www.jianshu.com/p/5b800057f2d8 1. 简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本 ...
- Javascript中prototype属性
prototype作为JS相对比较难理解的一个知识点,在这里发表下自己的理解. 本文将包含以下几部分内容: 1.js prototype的简单介绍, 2.js构造函数的介绍, 3.prototype的 ...
- 0e开头MD5值小结
s878926199a 0e545993274517709034328855841020 s155964671a 0e342768416822451524974117254469 s214587387 ...
- C++ sqlite3解决中文排序问题
导言:sqlite3默认的编码方式为UTF8编码,而在UTF8编码下,中文不是按照拼音顺序编码的,所以想解决中文排序问题,必须自定义排序规则,将UTF8编码转换成GB2312编码(GB2312编码中文 ...
- 基于git的代码版本管理规范及流程-简版
基于git的简单实用的版本管理规范及流程,包括:代码库的分布.人员角色的划分.代码提交合并流程.代码冲突处理.分支管理. 代码库分类 根据代码库分布的位置及作用,分为以下几类: 主库:位于服务端,所有 ...
- Java基础(二)-static关键字分析
static关键字是我们在编程中经常会使用到的,但有些可能只知其然而不知其所以然.下面介绍static关键字的作用再通过例子结合说明. static关键字共有五种作用(先说明static所修饰的不会改 ...
- NIO相关基础篇一
转载请注明原创出处,谢谢! 说在前面 NIO相关知识是很多后续的一些基础知识,所以今天这篇文章仅仅是简单介绍,后续会继续有一到二篇相关NIO内容. 什么是NIO Java NIO( New IO) 是 ...
- HDU 1394 逆序数 线段树单点跟新 | 暴力
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...