⼗九、python内置函数汇总
'''
内置函数
abs():取绝对值
all():每个元素都为真,才是真any():有⼀个元素为真即为真
bin():⼗进制转⼆进制
hex():⼗进制转⼗六进制
int():所有的转成⼗进制
oct():⼗进制转⼋进制
bool():空,空列表,字典。。。都是false,其他都为true
bytes():字符串转化成字节,gbk的占2个字节,utf8占3个字节
dir():快速出内涵的功能
chr():参数是0-256之间的⼀个整数,返回值是对应当前整数的ascii
ord():参数是ascii字符,返回值是对应的⼗进制整数
help():
enumerate():为列表循环时,⾃增⼀列
eval():函数⽤来执⾏⼀个字符串表达式,并返回表达式的值
exec():执⾏字符串表达式,⽆返回值
filter():过滤序列
map():会根据提供的函数对指定序列做映射。第⼀个参数 function 以参数序列中的每⼀个元素调⽤ function 函数,返回包含每次 function 函数返回值的新列表。
globals():函数会以字典类型返回当前位置的全部全局变量。,包括所有导⼊的变量
locals(): 函数会以字典类型返回当前位置的全部局部变量。
id():查看对象的内存地址
isinstance():函数来判断⼀个对象是否是⼀个已知的类型,类似 type()。
max():返回给定参数的最⼤值,参数可以为序列
min():返回给定参数的最⼩值,参数可以为序列。
sum():对系列进⾏求和计算。
pow() ⽅法返回 xy(x的y次⽅)的值。
zip() 函数⽤于将可迭代的对象作为参数,将对象中对应的元素打包成⼀个个元组,然后返回由这些元组组成的列表。
'''
#eval()
# x=7
# print (eval('3*x'))
# print (eval('pow(2,2)'))
# print (eval('2+2'))
#exec()
#
'''
<(object[, globals[, locals]])
object:必选参数,表⽰需要被指定的Python代码。它必须是字符串或code对象。如果object是⼀个字符串,该字符串会先被解析为⼀组Python语句,然后在执⾏(除globals:可选参数,表⽰全局命名空间(存放全局变量),如果被提供,则必须是⼀个字典对象。
locals:可选参数,表⽰当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。
'''
# exec('print ("hello world")') #执⾏单⾏字符串
# exec("""for i in range(5):
# print (i)""") #多⾏语句执⾏
#
# x=10
# expr="""
# sum=0
# z=30
# sum=x+y+z
# print (sum)
# """
# def func():
# y=20
# exec(expr)
# exec(expr,{'x':1,'y':11})
# exec(expr,{'x':1,'y':2},{'y':3,'z':4})
#func()
============================================================================================
2.类似于filter
# result=[]
# def MyFilter(fun,seq):
# for i in seq:
# ret=fun(i)
# print (ret)
# def f1(x):
# for i in x:
# if i%2==1:
# #print (x)
# return i
# r=MyFilter(f1,[11,22,33,44,55,66])
# print (r)
============================================================================================
3.map()
def square(x):
return x**2 #计算平⽅
r=map(square,[1,3,5,7,9])
print (r) #python返回的是⼀个迭代器,python返回的是列表
ret=[]
for i in r:
ret.append(i)
print (ret)
p=map(lambda x:x**2,[3,5,9])
print (p)
for i in p:
print (i)
seq=[]
m=map(lambda x,y:x+y,[1,2,3,4,5,6],[6,5,4,3,2,1])
print (m)
for i in m:
seq.append(i)
print (seq)
--------------------------------------------------
<map object at 0x0000000001E9FFD0> #(python3执⾏结果) [1, 9, 25, 49, 81](python2执⾏结果)
[1, 9, 25, 49, 81]
<map object at 0x00000000028F4160>
python新手代码大全pdf9
25
81
<map object at 0x00000000028F45C0>
[7, 7, 7, 7, 7, 7]
============================================================================================
4.globals和locals()
a='root'
print (globals())
def func(x):
b=1
print (locals())
func(3)
-------------------------------------------------
{'__name__': '__main__', '__doc__': '\n1.lambda表达式\n', '__package__': None, '__loader__':
<_frozen_importlib_external.SourceFileLoader object at 0x0000000001D6B160>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/zhiliangbaozhangbu/06workspace/chushujin/test-
py3/Function/test02.py', '__cached__': None, 'a': 'root'}
{'b': 1, 'x': 3}
============================================================================================
5.isinstance():函数来判断⼀个对象是否是⼀个已知的类型,类似 type()。
isinstance() 与 type() 区别:
type() 不会认为⼦类是⼀种⽗类类型,不考虑继承关系。
isinstance() 会认为⼦类是⼀种⽗类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使⽤ isinstance()。
'''
a=2
print (isinstance(a,int))
print (isinstance(a,str))
print (isinstance(a,(int,str,list))) #是元组中的⼀个返回 True
class A:
pass
class B(A):
pass
print (isinstance(A(),A))
print (type(A())==A)
print (isinstance(B(),A))
print (type(B())==A)
--------------------------------------------------------------------
True
False
True
True
True
True
False
============================================================================================
'''
6.sum():对系列进⾏求和计算。
sum(iterable[, start]):
iterable -- 可迭代对象,如:列表、元组、集合。
start -- 指定相加的参数,如果没有设置这个值,默认为0。
'''
print (sum([1,2,3]))
print (sum([1,2,3,4],5)) #列表求和后,再加5
print (sum((1,5,6,9),4)) #元祖求和后,再加4
-------------------------------------------------------
6
15
25
============================================================================================
7.pow() ⽅法返回 xy(x的y次⽅)的值。
pow(x, y[, z])
函数是计算x的y次⽅,如果z在存在,则再对结果进⾏取模,其结果等效于pow(x,y) %z
注意:pow() 通过内置的⽅法直接调⽤,内置⽅法会把参数作为整型,⽽ math 模块则会把参数转换为 float。
'''
import math
print (pow(100,2))
print (math.pow(100,2)) #float类型
print (pow(100,2,2))
print (pow(100,-2))
-----------------------------------------------------
10000
10000.0
0.0001
============================================================================================
'''
8.zip() 函数⽤于将可迭代的对象作为参数,将对象中对应的元素打包成⼀个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不⼀致,则返回列表长度与最短的对象相同,利⽤ * 号操作符,可以将元组解压为列表。
zip ⽅法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是⼀个对象。如需展⽰列表,需⼿动 list() 转换。'''
a=[1,2,3,4]
b=[2,3,4,5]
c=[3,4,5]
ziped=list(zip(a,b))
print (ziped) #python3返回的是⼀个对象,需⼿动list()转换
#print (zip(a,b)) #python2执⾏⽅式
print (list(zip(a,c)))
print (list(zip(*ziped))) # 与 zip 相反,*zipped 可理解为解压,返回⼆维矩阵式
--------------------------------------------
[(1, 2), (2, 3), (3, 4), (4, 5)]
[(1, 3), (2, 4), (3, 5)]
[(1, 2, 3, 4), (2, 3, 4, 5)]
============================================================================================
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论