Python3版本所有的内置函数:

1. abs()  获取绝对值

 >>> abs(-)

 >>> abs()

 >>> abs()

 >>> a = -
>>> a.__abs__()

2. all()  接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False

 print(all(' '))           #如果可迭代对象为空时,则返回True(这个是单独为空时生效)
print(all((,' ',,None))) #所有的可迭代对象中取出的值做bool运算得到的结果都是True时则返回True,否则返回False
print(all(i for i in range(,)))
 >>> tmp_1 = ['python',]
>>> all(tmp_1)
True
>>> tmp_2 = []
>>> all(tmp_2)
True
>>> tmp_3 = []
>>> all(tmp_3)
False

3. any()  接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

 print(any([]))    #可迭代对象为空时,则返回False
print(any([None,,'',{},])) #所有的可迭代对象中取出的值做bool运算得到的结果任意一个为True时就返回True

4. ascii()  调用对象的__repr__()方法,获得该方法的返回值.

5. bin()     将一个整数转换成二进制

 print(bin())

6. oct()        将十进制数分别转换为8进制

7. hex()    将十进制数分别转换为16进制

8. bool()  测试一个对象是True还是False.

 bool运算
以下情况都为False
[] 空列表
{} 空字典
() 空元组,空集合
'' 空字符串 None

9. bytes()  将一个字符串转换成任意编码字节类型

 >>> s = 'python'
>>> x = bytes(s, encoding='utf-8')
>>> x
b'python'
>>> a = '王'
>>> s = bytes(a, encoding='utf-8')
>>> s
b'\xe7\x8e\x8b'

10. str()  将字符类型/数值类型等转换为字符串类型

 >>> str(b'\xe7\x8e\x8b', encoding='utf-8')  # 字节转换为字符串
'王'
>>> str() # 整数转换为字符串
''

11. callable()  判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例

 >>> callable(max)
True
>>> callable([, , ])
False
>>> callable(None)
False
>>> callable('str')
False

12. char()           13. ord()  查看十进制数对应的ASCII字符/查看某个ASCII对应的十进制数

 >>> chr(-)
Traceback (most recent call last):
File "<pyshell#26>", line , in <module>
chr(-)
ValueError: chr() arg not in range(0x110000)
>>> chr()
'\x00'
>>> ord('\x00') >>> ord('')

14. classmethod()  用来指定一个方法为类的方法,由类直接调用执行,只有一个cls参数,执行雷的方法时,自动将调用该方法的类赋值给cls.没有此参数指定的类的方法为实例方法

 class Province:
country = "中国" def __init__(self, name):
self.name = name @classmethod
def show(cls): # 类方法,由类调用,最少要有一个参数cls,调用的时候这个参数不用传值,自动将类名赋值给cls
print(cls) # 调用方法
Province.show()

15. complie()  将字符串编译成python能识别或可以执行的代码,也可以将文字读成字符串再编译

 compile(source, filename, mode, flags=, dont_inherit=False, optimize=-)
将source编译为代码或者AST对象。代码对象能过通过exec语句来执行或者eval()进行求值。
参数source:字符串或者AST(abstract syntax trees)对象。
参数filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
参数model:指定编译代码的种类。可以指定'exec', 'eval', 'single'。
参数flag和dont_inherit:这两个参数为可选参数。
 >>> s  = "print('helloworld')"
>>> r = compile(s, "<string>", "exec")
>>> r
<code object <module> at 0x000001C648038390, file "<string>", line >

16. complex()

 创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数是字符串,则不需要指定第二个参数。
参数real:int,long,float或字符串。
参数imag:int,long,float。
 complex(-2j)
print(x.real)
print(x.imag) x=-2j
print(x.real)
print(x.imag)

17. delattr()  删除对象的属性

18. dict()  创建数据字典

 >>> a = dict()  空字典
>>> a
{}
>>> b = dict(one = , two =)
>>> b
{'one': , 'two': }
>>> c = dict({'one': ,'two':})
>>> c
{'one': , 'two': }

19. dir()  不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表

 >>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'li', 'li1', 'li2', 'li_1']
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

20. divmod()  分别取商和余数

 >>> divmod(,)
(, )

21. enumerate()      将一个可迭代对象转换成迭代器,该对象的next()方法将返回一个元组

 >>> test = ['a', 'b', 'c']
>>> for k,v in enumerate(test):
print(k,v) # 输出结果:
a
b
c

22. eval()      将字符串str当成有效的表达式来求值并返回计算结果

 >>> s = "1+2*3"
>>> type(s)
<class 'str'>
>>> eval(s)

23. exec()  执行字符串或complie方法编译过的字符串,没有返回值

24. filter()  过滤器,构造一个序列,等价于[ item for item in iterables if function(item)],在函数中设定过滤条件,逐一循环迭代器中的元素,将返回值为True时的元素留下,形成一个filter类型数据

 filter(function, iterable)
参数function:返回值为True或False的函数,可以为None。
参数iterable:序列或可迭代对象。
>>> def bigerthan5(x):
... return x >
>>> filter(bigerthan5, [, , , , , ])
[, , ]

25. float()  讲一个字符串或整数转换为浮点数

 >>> float()
0.0
>>> float('')
123.0
>>> float()
1.0
>>> float('a')
Traceback (most recent call last):
File "<pyshell#45>", line , in <module>
float('a')
ValueError: could not convert string to float: 'a'

26. format()  格式化输出字符串,format(value, format_spec)实质上是调用了value的__format__(format_spec)方法

 >>> "I am {0}, I like {1}!".format("wang", "moon")
'I am wang, I like moon!'

27. frozenset()  创建一个不可修改的集合

 frozenset([iterable])
set和frozenset最本质的区别是前者是可变的,后者是不可变的。当集合对象会被改变时(例如删除,添加元素),只能使用set,
一般来说使用fronzet的地方都可以使用set。
参数iterable:可迭代对象。

28. getattr()  获取对象的属性

 getattr(object, name [, defalut])
获取对象object名为name的特性,如果object不包含名为name的特性,将会抛出AttributeError异常;如果不包含名为name的特性
且提供default参数,将返回default。
参数object:对象
参数name:对象的特性名
参数default:缺省返回值
>>> append = getattr(list, 'append')
>>> append
<method 'append' of 'list' objects>
>>> mylist = [, , ]
>>> append(mylist, )
>>> mylist
[, , , ]
>>> method = getattr(list, 'add')
Traceback (most recent call last):
File "<stdin>", line , in <module>
AttributeError: type object 'list' has no attribute 'add'
>>> method = getattr(list, 'add', 'NoMethod')
>>> method
'NoMethod'

29. globals()  返回一个描述当前全局变量的字典

  >>> a =
>>> globals()
{'__loader__': <class '_frozen_importlib.BuiltinImporter'>, 'a': , '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__name__': '__main__', '__package__': None, '__spec__': None}

30. hasattr()

 hasattr(object,name)
判断对象object是否包含名为name的特性(hasattr是通过调用getattr(object,name))是否抛出异常来实现的。
参数object:对象
参数name:特性名称
>>> hasattr(list, 'append')
True
>>> hasattr(list, 'add')
False

31. hash()  哈希值

 hash(object)
如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。
两个数值如果相等,则哈希值也相等。

32. help()  返回对象的帮助文档

33. id()  返回对象的内存地址

 >>> a =
>>> id(a)

34. input()  获取用户输入内容

 num = input("请输入一个数字:")
# 用户输入3
print(num)
# 输出结果

35. int()  将一个字符串或数值转换为一个普通整数

 int([x[,radix]])
如果参数是字符串,那么它可能包含符号和小数点。参数radix表示转换的基数(默认是10进制)。
它可以是[,]范围内的值,或者0。如果是0,系统将根据字符串内容来解析。
如果提供了参数radix,但参数x并不是一个字符串,将抛出TypeError异常;
否则,参数x必须是数值(普通整数,长整数,浮点数)。通过舍去小数点来转换浮点数。
如果超出了普通整数的表示范围,一个长整数被返回。
如果没有提供参数,函数返回0。

36. isinstance()  检查对象是否是类的对象,返回True或False

  isinstance(obj, cls)
检查obj是否是类cls的对象, 返回True 或 False
class Foo(object):
pass
obj = Foo()
isinstance(obj, Foo)

37. issubclass()  检查一个类是否是另一个类的子类。返回True或False

 issubclass(sub, super)
检查sub类是否是super类的派生类(子类)。返回True 或 False class Foo(object):
pass class Bar(Foo):
pass issubclass(Bar, Foo)

38. iter()     把一个可迭代对象变成迭代器

 iter(o[, sentinel])
返回一个iterator对象。该函数对于第一个参数的解析依赖于第二个参数。
如果没有提供第二个参数,参数o必须是一个集合对象,支持遍历功能(__iter__()方法)或支持序列功能(__getitem__()方法),
参数为整数,从零开始。如果不支持这两种功能,将处罚TypeError异常。
如果提供了第二个参数,参数o必须是一个可调用对象。在这种情况下创建一个iterator对象,每次调用iterator的next()方法来无
参数的调用o,如果返回值等于参数sentinel,触发StopIteration异常,否则将返回该值。

39. len()  返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)

40. list()  列表构造函数

  list([iterable])
list的构造函数。参数iterable是可选的,它可以是序列,支持编译的容器对象,或iterator对象。
该函数创建一个元素值,顺序与参数iterable一致的列表。如果参数iterable是一个列表,将创建
列表的一个拷贝并返回,就像语句iterables[:]。

41. locals()  局部名称空间(打印当前可用的局部变量的字典)

不要修改locals()返回的字典中的内容;改变可能不会影响解析器对局部变量的使用。
在函数体内调用locals(),返回的是自由变量。修改自由变量不会影响解析器对变量的使用。
不能在类区域内返回自由变量。

42. map()      映射

 map(function, iterable,...)
对于参数iterable中的每个元素都应用fuction函数,并将结果作为列表返回。
如果有多个iterable参数,那么fuction函数必须接收多个参数,这些iterable中相同索引处的元素将并行的作为function函数的参数。
如果一个iterable中元素的个数比其他少,那么将用None来扩展改iterable使元素个数一致。
如果有多个iterable且function为None,map()将返回由元组组成的列表,每个元组包含所有iterable中对应索引处值。
参数iterable必须是一个序列或任何可遍历对象,函数返回的往往是一个列表(list)。 li = [,,]
data = map(lambda x :x*,li)
print(type(data))
data = list(data)
print(data) 运行结果: <class 'map'>
[, , ]

43. max()  返回给定元素里最大值

  max(iterable [,args...][, key])
如果只提供iterable参数,函数返回可遍历对象(如:字符串,元组或列表)中最大的非空元素。
如果提供多个参数,那么返回值最大的那个参数。
可选参数key是单参数的排序函数。
如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)

44. meoryview()

45. min()  返回给定元素里最小值

 min(iterable [,args...][, key])
如果只提供iterable参数,函数返回可遍历对象(如:字符串,元组或列表)中最小的非空元素。
如果提供多个参数,那么返回值最小的那个参数。
可选参数key是单参数的排序函数。
如果提供key参数,必须是以命名的形式,如:max(a, b, c, key = fun)

46. next()  返回一个可迭代数据结构(如列表)中的下一项

47. object()

获取一个新的,无特性(geatureless)对象。Object是所有类的基类。它提供的方法将在所有的类型实例中共享。
该函数时2..版本新增,.3版本之后,该函数不接受任何参数。

48. open()  打开文件

 open(filename [, mode [, bufsize]])
打开一个文件,返回一个file对象。 如果文件无法打开,将处罚IOError异常。
应该使用open()来代替直接使用file类型的构造函数打开文件。
参数filename表示将要被打开的文件的路径字符串;
参数mode表示打开的模式,最常用的模式有:'r'表示读文本,'w'表示写文本文件,'a'表示在文件中追加。
Mode的默认值是'r'。
当操作的是二进制文件时,只要在模式值上添加'b'。这样提高了程序的可移植性。
可选参数bufsize定义了文件缓冲区的大小。0表示不缓冲;1表示行缓冲;任何其他正数表示使用该大小的缓冲区;
负数表示使用系统默认缓冲区大小,对于tty设备它往往是行缓冲,而对于其他文件往往完全缓冲。如果参数值被省却。
使用系统默认值。

49. pow()  幂函数

 r = pow(, )  # 2的10次方
print(r) # 输出
1024 print(10,2,3) #10的2次方除以3取余

50. print()  输出函数

 python2中的print语句被python3中的print()函数取代。
如何限制print的默认换行:
. python2版本下,在print输出的最后加一个逗号','
. python3.4以后,print(value, ...,sep='',end='\n',file=sys.stdout,flush=False),将end设为空即可。

51. property()

52. range()  根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数

 用于创建包含连续算术值的列表(list)。常用于for循环。参数必须是普通整数。
参数step默认值为1,参数start的默认值为0。
全参数调用该函数将返回一个普通整数列表。
step 可以是正整数或者负整数。不可以为0,否则将处罚ValueError异常。
range()代表0,,.等价于range(,)
>>> range(,,) #第一个参数是起始数,第二个是终止数(不包含这个),第三个数步数
>>>[,,,,]

53. repr()  将任意值转换为字符串,供计时器读取的形式

 repr(object)
返回一个对象的字符串表示。有时可以使用这个函数来访问操作。
对于许多类型来说,repr()尝试返回一个字符串,eval()方法可以使用该字符串产生对象;
否则用尖括号括起来的,包含类名称和其他二外信息的字符串被返回。

54. reversed()   反转,逆序对象

 reversed(seq)
返回一个逆序的iterator对象。参数seq必须是一个包含__reversed__()方法的对象或支持序列操作(__len__()和__getitem__())
该函数是2.4中新增的

55. round()    四舍六入五留双

 round(x [, n])
对参数x的第n+1位小数进行四舍五入,返回一个小数位数为n的浮点数。
参数n的默认值是0。结果是一个浮点数。如round(0.5)结果为1.
>>> round(,) >>> round(,)

56. set()

57. setattr()  与getattr()相对应

58. slice()  切片功能

59. sorted()  排序(默认是升序)

 >>> sorted([,,-,,-])  列表排序
[-, -, , , ]
>>> sorted([,,-,,-],key=abs) 高阶函数,以绝对值大小排序
[, , -, -, ]
>>> sorted(['bob', 'about', 'Zoo', 'Credit']) 字符串排序,按照ASCII的大小排序
['Credit', 'Zoo', 'about', 'bob']
如果需要排序的是一个元组,则需要使用参数key,也就是关键字。
>>> a = [('b',), ('a',), ('c',)]
>>> list(sorted(a,key=lambda x:x[])) 按照元组第二个元素排序
[('c', ), ('a', ), ('b', )]
>>> list(sorted(a,key=lambda x:x[])) 按照元组第一个元素排序
[('a', ), ('b', ), ('c', )]
>>> sorted(['bob', 'about', 'Zoo', 'Credit'],key=str.lower) 忽略大小写排序
['about', 'bob', 'Credit', 'Zoo']
>>> sorted(['bob', 'about', 'Zoo', 'Credit'],key=str.lower,reverse=True) 反向排序
['Zoo', 'Credit', 'bob', 'about']

60. staticmethod()

61. str()  字符串构造函数

62. sum()  求和

63. super()  调用父类的方法

64. tuple()  元组构造函数

65. type()  显示对象所属的类型

66. vars()  

67. zip()  将对象逐一配对

 list_1 = [,,]
list_2 = ['a','b','c']
s = zip(list_1,list_2)
print(list(s)) 运行结果: [(, 'a'), (, 'b'), (, 'c')]
 a = [(,),(,),(,)]
r = zip(*a)
print(list(r))
运行结果:
[(, , )]
print(list(r)[])
运行结果:
(, , )

68. __import__()

匿名函数:lambda

  • 匿名函数就是不需要显式的指定函数。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lamba表达式中封装有限的逻辑进去。

语法:
lambda函数的语法只包含一个语句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

例子1:

 #这段代码
def calc(n):
return n**n
print(calc()) #换成匿名函数
calc = lambda n:n**n
print(calc())

例子2:

 salaries={
'egon':,
'alex':,
'wupeiqi':,
'yuanhao':
} def get_value(k):
return salaries[k] #匿名函数
lambda k:salaries[k]
f=lambda k:salaries[k] #匿名函数也可以赋值一个名字,但是这便违反了匿名的初衷
print(f)
print(f('egon')) print(max(salaries))
print(max(salaries,key=get_value))
print(max(salaries,key=lambda k:salaries[k]))
print(min(salaries,key=lambda k:salaries[k]))

python基础----内置函数----匿名函数(lambda)的更多相关文章

  1. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  2. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  3. python(内置高阶函数)

    1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...

  4. python 基础内置函数表及简单介绍

    内建函数名 (表达形式) 主要作用 备注 abs(x) 返回一个X值得绝对值(x=int/float/复数) all(iterable) 如果 iterable 的所有元素均为 True(或 iter ...

  5. Py修行路 python基础 (十三)匿名函数 与 内置函数

    一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是 ...

  6. python 基础 内置函数 和lambda表达式

    1.把任意数值转化为字符串有两种方法. (1)str()用于将数值转化为易于人读的形式.print(str("我是中国人"))>>>我是中国人 (2)repr() ...

  7. Python基础-内置函数总结

    内置函数 int('123') float() string() tuple() set() dict(name='zdd',age=18) type()#查看类型 len()#看长度,其实是元素的个 ...

  8. Python 基础 内置函数 迭代器与生成器

    今天就来介绍一下内置函数和迭代器 .生成器相关的知识 一.内置函数:就是Python为我们提供的直接可以使用的函数. 简单介绍几个自己认为比较重要的 1.#1.eval函数:(可以把文件中每行中的数据 ...

  9. python基础--内置函数map

    num_1=[1,2,10,5,3,7] # num_2=[] # for i in num_1: # num_2.append(i**2) # print(num_2) # def map_test ...

随机推荐

  1. const与readonly常量

    const与readonly常量 const与readonly都是用来定义常量,但是它们有什么区别呢? 下面我们来简要的说明一下: const修饰的常量是编译时常量,如:public const St ...

  2. 常用JDBC数据库驱动包和类名

    MySQL数据库: 1)驱动包:https://mvnrepository.com/artifact/mysql/mysql-connector-java(下载路径) 2)驱动类名:com.mysql ...

  3. 53. [LeetCode] Maximum Subarray

    Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...

  4. Seven super tips for successful selling on Amazon

    Check for orders daily: To ship quickly you need to find out about orders promptly. We will e-mail y ...

  5. 扩展Lucas定理 扩展Lucas板子

    题意概述:多组询问,给出N,K,M,要求回答C(N,K)%M,1<=N<=10^18,1<=K<=N,2<=M<=10^6 分析: 模数不为质数只能用扩展Lucas ...

  6. 第9次Scrum会议(10/21)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华小组照片 二.开会信息 时间:2017/10/21 17:20~17:45,总计25min.地点:东北师范 ...

  7. 基于NABCD评论探路者团队贪吃蛇作品及改进建议

    1.根据(不限于)NABCD评论作品的选题 N:随着人们生活压力越来越大,需要去去缓解压力,并且也需要不断进步,学习英语知识. A:它是基于java开发的一款软件,采用逐个吃字母,加长蛇身,增强记忆的 ...

  8. 基础系列(1)—— NET框架及C#语言

    一.在.NET之前的编程世界 C#语言是在微软公司的.NET框架上开发程序而设计的,首先作者给大家纠正了一下C#的正确发音:See Sharp (一) 20世纪90年代末的Windows编程 这时大多 ...

  9. 01_Java基础_第1天(Java概述、环境变量、注释、关键字、标识符、常量)_讲义

    今日内容介绍 1.Java开发环境搭建 2.HelloWorld案例 3.注释.关键字.标识符 4.数据(数据类型.常量) 01java语言概述 * A: java语言概述 * a: Java是sun ...

  10. Spring中jdbc Template使用

    http://1358440610-qq-com.iteye.com/blog/1826816