python 内置方法赋值_python-函数内置方法

实例 1

1 >>>exec 'print "Hello World"'

2 Hello World3 #单行语句字符串

4 >>> exec "print 'runoob.com'"

5 runoob.com6

7 #多行语句字符串

8 >>> exec """
...for i in range(5):9 ... print "iter time: %d" % i10 ..."""

11 iter time: 012 iter time: 1

13 iter time: 2

14 iter time: 3

15 iter time: 4

实例 2

1 x = 10

2 expr = """

3 z = 304 sum = x + y + z5 print(sum)6 """

7 deffunc():8 y = 20

9 exec(expr)10 exec(expr, {'x': 1, 'y': 2})11 exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})12

13 func()14

15 输出结果:16

17 60

18 33

19 34

eval() exec()

eval()只能处理单行代码而exec()可以处理多行代码

eval()有返回值,exec没有返回值

1 res = eval('1+3+2')2 res2 = exec('1+3+2')3 print('res', res, res2)4

5 #执行结果

6 res 7 None

format()

执行format(),其实就是调用该对象所属类的__format__方法。类似print功能。

1 >>> format("324324")2 '324324'

3 >>> format([1,2,3])4 '[1, 2, 3]'

frozenset()

描述

frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

语法

frozenset() 函数语法:

class frozenset([iterable])

参数

iterable -- 可迭代的对象,比如列表、字典、元组等等。

返回值

返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。

实例

以下实例展示了 frozenset() 的使用方法:

1 >>>a = frozenset(range(10)) #生成一个新的不可变集合

2 >>>a3 frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])4 >>> b = frozenset('runoob')5 >>>b6 frozenset(['b', 'r', 'u', 'o', 'n']) #创建不可变集合

7 >>>

globals()

列出当前环境下所有的全局变量。注意要与global关键字区分!在本节的开始,我们就已经展示了它的用法。

hash()

为不可变对象,例如字符串生成哈希值的函数!

1 >>> hash("i am jack")2 5602200374213231465

3 >>> hash(1)4 1

5 >>> hash(100000)6 100000

7 >>> hash([1,2,3,])8 Traceback (most recent call last):9 File "", line 1, in

10 hash([1,2,3,])11 TypeError: unhashable type: 'list'

12 >>> hash((1,2,3))13 2528502973977326415

help()

返回对象的帮助文档。谁用谁知道!

1 >>> a = [1,2,3]2 >>>help(a)3 Help on list object:4

5 classlist(object)6 | list() ->new empty list7 | list(iterable) -> new list initialized from iterable's items

8 ...

id()

返回对象的内存地址,常用来查看变量引用的变化,对象是否相同等。常用功能之一!

1 >>>id(0)2 1456845856

3 >>>id(True)4 1456365792

5 >>> a = "Python"

6 >>>id(a)7 37116704

input()

接收用户输入,返回一个输入的字符串。

1 a = input("Please input a number:")2 Please input a number: 100

3 >>>a4 '100'

5 >>>type(a)6

isinstance()

判断一个对象是否是某个类的实例。比type()方法适用面更广。

>>> isinstance("haha", str)

True>>> isinstance(1, str)

False

issubclass()

issubclass(a,b),判断a是否是b的子类。

>>> classFoo:pass

>>> classGoo(Foo):pass

>>>issubclass(Goo, Foo)

True

iter()

制造一个迭代器,使其具备next()能力。

1 >>> lis = [1, 2, 3]2 >>>next(lis)3

4 Traceback (most recent call last):5 File "", line 1, in

6 next(lis)7 TypeError: 'list' object is notan iterator8

9 >>> i =iter(lis)10 >>>i11

12 >>>next(i)13 1

len()

返回对象的长度。不能再常用的函数之一了。

locals()

locals() 函数会以字典类型返回当前位置的全部局部变量。简单点就是返回局部变量。

对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。

返回值:字典类型的局部变量

1 >>>def runoob(arg): #两个局部变量:arg、z

2 ... z = 1

3 ... print(locals())4 ...5 >>> runoob(4)6 {'z': 1, 'arg': 4} #返回一个名字/值对的字典

7 >>>

max()/min():

返回给定集合里的最大或者最小的元素。可以指定排序的方法!

max() 方法返回给定参数的最大值,参数可以为序列。

print "max(80, 100, 1000) :", max(80, 100, 1000)

max(80, 100, 1000) : 1000

min() 方法返回给定参数的最小值,参数可以为序列。

print "min(80, 100, 1000) :", min(80, 100, 1000)

min(80, 100, 1000) : 80

lst=['abcdhush8','abc9iujtwertwert','abcdjlas','abcdj897h']

a= min(lst,key=len)print(a)

memoryview(obj)

返回obj的内存视图对象。obj只能是bytes或bytesarray类型。memoryview对象的使用方法如下:

1 >>>v = memoryview(bytearray("abcefg", 'utf-8'))2 >>> print(v[1])3 98

4 >>> print(v[-1])5 103

6 >>> print(v[1:4])7

8 >>> print(v[1:4].tobytes())9 b'bce'

next()

通过调用迭代器的__next__()方法,获取下一个元素。

object()

该方法不接收任何参数,返回一个没有任何功能的对象。object是Python所有类的基类。

open()

打开文件的方法。在Python2里,还有一个file()方法,Python3中被废弃了。后面章节会详细介绍open()的用法。

pow()

幂函数。

1 >>> pow(3, 2)2 9

print()

语法

以下是 print() 方法的语法:

print(*objects,sep=' ',end='\n',file=sys.stdout)

参数

objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。

sep -- 用来间隔多个对象,默认值是一个空格。

end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。

file -- 要写入的文件对象。

1 >>> print("www","runoob","com",sep=".") #设置间隔符

2 www.runoob.com>

3 >>print(1)4 1

5 >>>print("Hello World")6 Hello World7

8 >>> a = 1

9 >>> b = 'runoob'

10 >>> print(a,b)11 1runoob12 >>> print("aaa""bbb")13 aaabbb14 >>> print("aaa","bbb")15 aaa bbb

range()

没错,这是Python内置的函数,前面已经介绍了。

repr()

repr() 函数将对象转化为供解释器读取的形式。并且返回一个对象的 string 格式。

>>>s = 'RUNOOB'

>>>repr(s)"'RUNOOB'"

>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};>>>repr(dict)"{'google': 'google.com', 'runoob': 'runoob.com'}"

reversed()

反转,逆序对象

1 >>> reversed #reversed本身是个类

2

3 >>> reversed([1,2,3,4,5]) #获得一个列表反转器

4

5 >>> a = reversed([1,2,3,4,5])6 >>>a7

8 >>> list(a) #使用list方法将它转换为一个列表

9 [5, 4, 3, 2, 1]

round()

描述

round() 方法返回浮点数x的四舍五入值。

语法

以下是 round() 方法的语法:

round(x [,n])

参数

x -- 数值表达式。

n -- 数值表达式。

返回值

返回浮点数x的四舍五入值。

1 a = round(2.33333, 2)2 print(a)3

4 b = round(3.555, 1)5 print(b)6

7 #执行结果

8 2.33

9 3.6

slice()

返回一个切片类型的对象。slice是一个类,一种Python的数据类型。Python将对列表等序列数据类型的切片功能单独拿出来设计了一个slice类,可在某些场合下使用。

slice 语法:

classslice(stop)classslice(start,stop[,step])

1 >>>myslice = slice(5) #设置截取5个元素的切片

2 >>>myslice3 slice(None, 5, None)4 >>> arr = range(10)5 >>>arr6 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]7 >>> arr[myslice] #截取 5 个元素

8 [0, 1, 2, 3, 4]

sum()

求和.

1 >>> sum(1,2,3) #需要传入一个可迭代的对象

2 Traceback (most recent call last):3 File "", line 1, in

4 sum(1,2,3)5 TypeError: sum expected at most 2 arguments, got 3

6 >>> sum([1,2,3]) #传入一个列表

7 6

8 >>> sum({1:1,2:2}) #突发奇想,作死传入一个字典

9 3

super()

调用父类。面向对象中类的机制相关。后面介绍。

type()

显示对象所属的数据类型。常用方法!前面已经展示过。

vars()

与dir()方法类似,不过dir()方法返回的是key,vars()方法返回key的同时还把value一起打印了

vars() 函数语法:

vars([object])

1 >>>print(vars())2 {'__builtins__': , '__name__': '__main__', '__doc__': None, '__package__': None}3 >>> classRunoob:4 ... a = 1

5 ...6 >>> print(vars(Runoob))7 {'a': 1, '__module__': '__main__', '__doc__': None}8 >>> runoob =Runoob()9 >>> print(vars(runoob))10 {}

map()

描述

map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法

map() 函数语法:

map(function,iterable,...)

参数

function -- 函数,有两个参数

iterable -- 一个或多个序列

返回值

Python 2.x 返回列表。

Python 3.x 返回迭代器。

实例

以下实例展示了 map() 的使用方法:

1 >>>def square(x) : #计算平方数

2 ... return x ** 2

3 ...4 >>> map(square, [1,2,3,4,5]) #计算列表各个元素的平方

5 [1, 4, 9, 16, 25]6 >>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) #使用 lambda 匿名函数

7 [1, 4, 9, 16, 25]8

9 #提供了两个列表,对相同位置的列表数据进行相加

10 >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])11 [3, 7, 11, 15, 19]

filter()

描述

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法

以下是 filter() 方法的语法:

filter(function,iterable)

参数

function -- 判断函数。

iterable -- 可迭代对象。

返回值

返回列表。

实例

以下展示了使用 filter 函数的实例:

过滤出列表中的所有奇数:

#!/usr/bin/python#-*- coding: UTF-8 -*-

defis_odd(n):return n % 2 == 1newlist= filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])print(newlist)#执行结果

[1, 3, 5, 7, 9]

过滤出1~100中平方根是整数的数:

#!/usr/bin/python#-*- coding: UTF-8 -*-

importmathdefis_sqr(x):return math.sqrt(x) % 1 ==0

newlist= filter(is_sqr, range(1, 101))print(newlist)#输出结果 :

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

zip()

描述

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

如果需要了解 Pyhton3 的应用,可以参考 Python3 zip()。

语法

zip 语法:

zip([iterable,...])

参数说明:

iterabl -- 一个或多个迭代器;

返回值

返回元组列表。

实例

以下实例展示了 zip 的使用方法:

1 >>>a = [1,2,3]2 >>> b = [4,5,6]3 >>> c = [4,5,6,7,8]4 >>> zipped = zip(a,b) #打包为元组的列表

5 [(1, 4), (2, 5), (3, 6)]6 >>> zip(a,c) #元素个数与最短的列表一致

7 [(1, 4), (2, 5), (3, 6)]8 >>> zip(*zipped) #与 zip 相反,*zipped 可理解为解压,返回二维矩阵式

9 [(1, 2, 3), (4, 5, 6)]

sorted()

排序方法。有key和reverse两个重要参数。

基础用法: 直接对序列进行排序

1 >>> sorted([36, 5, -12, 9, -21])2 [-21, -12, 5, 9, 36]

指定排序的关键字。关键字必须是一个可调用的对象。例如下面的例子,规则是谁的绝对值大,谁就排在后面。

1 >>> sorted([36, 5, -12, 9, -21], key=abs)2 [5, 9, -12, -21, 36]3

4 #或者可以使用lambda函数指定列表的那个排序

1 d ={}2 for i in range(10):3 d[i] = i - 50

4 print(d)5 d2 =d.items()6 d[2] = 5

7 d3 = sorted(d2, key=lambda x:x[1])  #key后面还可以添加recerse = True进行反转排序

8 print(d3)9

10 #执行结果

11 #{0: -50, 1: -49, 2: -48, 3: -47, 4: -46, 5: -45, 6: -44, 7: -43, 8: -42, 9: -41}

12 #[(0, -50), (1, -49), (3, -47), (4, -46), (5, -45), (6, -44), (7, -43), (8, -42), (9, -41), (2, 5)]

指定按反序排列。下面的例子,首先按忽略大小写的字母顺序排序,然后倒序排列。

1 >>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)2 ['Zoo', 'Credit', 'bob', 'about']

描述

hash() 用于获取取一个对象(字符串或者数值等)的哈希值。

语法

hash 语法:

hash(object)

参数说明:

object -- 对象;

返回值

返回对象的哈希值。

实例

以下实例展示了 hash 的使用方法:

1 >>>hash('test') #字符串

2 2314058222102390712

3 >>> hash(1) #数字

4 1

5 >>> hash(str([1,2,3])) #集合

6 1335416675971793195

7 >>> hash(str(sorted({'1':1}))) #字典

8 7666464346782421378

__import__(name)

这个方法为我们提供了一种通过字符串反射包、库或模块的手段。其中的name是你想要导入的库的名称的字符串。

t = __import__("time")

print(t.time())

例子中,利用字符串“time”,导入了实际的time库,并赋值给t变量。这个变量实际就相当于import time的结果。然后使用t.time()进行调用。

在某些场景下,这个方法非常有用。但是很多时候,它也存在安全问题,Python官方不建议经常使用它。

至此,除了个别遗留,近80个内置函数就基本介绍完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值