码迷,mamicode.com
首页 > 编程语言 > 详细

Python------内置函数

时间:2018-05-20 14:11:27      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:不包含   name   报错   glob   写入文件   NPU   长度   迭代   pil   

02,内置函数
input() 用户交互。
len() 可迭代对象的长度。
sum() 求和。
open() 打开文件。
print() 打印结果。
id() 查看内存地址。
forzenset() 冻结。
int()
range() 自定制一个数字范围列表。
str()
dict()
dir() 查看对象所有的方法
list()
type() 查看类型
globals() 将全局所有的变量放在一个字典中
locals() 当前位置的局部变量。
bool()
tuple()
set()
next()
isinstance()
enumerate()

作用域相关
**globals() 已字典的形式返回全局变量
**locals() 已字典的形式返回当前位置的局部变量
q=666
def wrapper(argv):
a=3
print(locals())
def inner(argv1):
b=4
c=5
print(locals())
inner(6)
wrapper(2)
print(globals())

1.2.1 字符串类型代码的执行 eval,exec,complie
***eval 去除字符串的引号,返回对应内部的值
s=str({‘a‘:1,‘b‘:3})
dic=eval(s)21
print(dic,type(dic))
print(eval(‘2+2‘))
print(eval(‘print(666)‘)) # None 读不出来里面的

*** exec 执行字符串内部的代码代码执行过后会返回none如果不能是字母会报错
t=exec(‘a‘) #错误例子
print(t)

ret=‘‘‘ #$$$$$$$$
name=input( ‘请输入名字:‘)strip()
if name == ‘alex‘:
print(666)
‘‘‘
exec(ret)
compile: pass

1.2.2 输入输出相关 input,print
name = input(‘请%s输入名字:‘ % ‘alex‘)
print(name)

print(1,2,3,sep=‘*‘) #s设定打印元素的连接方式
print(‘alex‘,end=‘‘) #end 控制的是换行

f1=open(‘log‘,encoding=‘utf-8‘,mode=‘w‘)
print(‘666‘,file=f1) #file 操作文件句柄,写入文件.
f1.close()


1.2.6调用相关

*** callable:函数用于检查一个对象(变量)是否是可调用的。
如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
def func1():
print(666)
age=16
print(callable(‘name‘))
print(callable(age))
print(callable(func1))

1.2.7查看内置属性
** dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;
带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
print(dir(str))

1.3 迭代器生成器相关
*** range iter() next()
print(len(range(100)))
l=[1,2,3,4,5]
l_obj=l.__iter__()
l_obj=iter(l) $$$$$$$$$$$
print(l_obj)
print(l_obj.__next__())
print(next(l_obj))

1.4.1数字相关(14)
  数据类型(4):
    bool :用于将给定参数转换为布尔类型,如果没有参数,返回 False。
    int:函数用于将一个字符串或数字转换为整型。
print(int(‘123‘))
print(int(1.234))
print(int(1.768))
数学运算(7):
    **abs:函数返回数字的绝对值。
print(abs(-5))
***divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。
print(divmod(6,3))
**round:保留浮点数的小数位数,默认保留整数。
print(round(1.251,3)) #后面的3代表保留几位小数$$$$$$$$$$

*pow:求x**y次幂。(三个参数为x**y的结果对z取余)
print(pow(2,3)) #2的三次幂
print(pow(2,3,3)) #2的三次幂对3取余数
***sum:对可迭代对象进行求和计算(可设置初始值)。
print(sum([1,2,3,4]))
print(sum([1,2,3,4],100)) #100是初始值
*** min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。
*** min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)
print(min([1,3,5,7,-4]))
print(min([1,3,5,7,-9],key=abs))

1.4.2和数据结构相关(24)
  列表和元祖(2)
    list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。
    tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。
tu=(1,2,3)
print(list(tu))
l1=list({‘name‘:‘alex‘,‘age‘:1000})
print(l1)

相关内置函数(2)
*** reversed:将一个序列翻转,并返回此翻转序列的迭代器。
l1=[11,22,33,44,77,66]
l_obj=reversed(l1)
print(l_obj) #直接打印迭代器是一个地址,要用for循环得出来
for i in l_obj:
print(i)
*** bytes:str---> bytes
s1 =‘alex‘
b1=s1.encode(‘utf-8‘)
print(b1)
b2=bytes(s1,encoding=‘utf-8‘)
print(b2)

*** repr:返回一个对象的string形式(原形毕露)。
msg=‘小数%f‘%(1.237)
print(msg)
msg=‘姓名:%r‘ % (‘alex‘)
print(msg)
print(repr(‘{"name":"alex"}‘)) # $$$$$$$$$$
print(‘{"name":"alex"}‘)

*** len:返回一个对象中元素的个数。
*** sorted:对所有可迭代的对象进行排序操作。 返回的是列表
print(sorted([1,2,3,4,5,-6]))
print(sorted([1,2,3,4,5,-6],key=abs))
L=[(‘a‘,1),(‘c‘,2),(‘d‘,4),(‘b‘,3),]
print(sorted(L))
def func1(x): #$$$$$$$$$
return x[1]
L=[(‘a‘,1),(‘c‘,2),(‘d‘,4),(‘b‘,3),]
print(sorted(L,key=func1))

*all:可迭代对象中,全都是True才是True
*any:可迭代对象中,有一个True 就是True
print(all([1, ‘alex‘, True, (1,2,3)]))
print(all([0, ‘alex‘, True, (1,2,3)]))
print(any([0, ‘‘, False, (1,2,3)]))
print(any([0, ‘‘, False, ()]))

***zip 拉链方法 返回的是一个迭代器
l1=[1,2,3,4]
tul=(‘老男孩‘,‘alex‘,‘wusir‘)
l2=[‘*‘,‘**‘,‘***‘,‘****‘]
obj=zip(l1,tul,l2)
for i in obj:
print(i)
***map: 循环模式
def func2(x):
return x**2
obj=map(func2,[1,2,3,4])
for i in obj:
print(i) #for遍历一个迭代器
print([i**2 for i in [1,2,3,4]]) #列表推导式

def func2(x,y):
return x+y
obj1=map(func2,[1,2,3,4,6],(2,3,4,5))
for i in obj1:
print(i)

***filter 筛选模式
def func(x):
return x % 2 ==0
ret=filter(func,[1,2,3,4,5,6,7])
print(ret)
for i in ret:
print(i)

print([i for i in [1, 2, 3, 4, 5, 6, 7] if i % 2 == 0])

***lambda 匿名函数 一句话函数
def func(x):return x % 2==0
def func1(x,y):
return x+y
ret =lambda x,y:x+y
print(ret(2,3))

def func1(x,y):
return x if x>y else y
ret=lambda x,y: x if x>y else y
print(ret(2,3))

def func(x):
return x % 2 == 0

ret = filter(lambda x:x % 2 == 0, [1, 2, 3, 4, 5, 6, 7])
print(ret)
for i in ret:
print(i)


# [1, 2, 3, 4, 5, 6, 7] [1,4,9,16...]/ map lambda

ret2 = map(lambda x:x**2,[1, 2, 3, 4, 5, 6, 7])
for i in ret2:
print(i)


def func1(x):
return x[1]
L = [(‘a‘, 1), (‘c‘, 2), (‘d‘, 4),(‘b‘, 3), ]
print(sorted(L, key=func1))

students = [(‘john‘, ‘A‘, 15), (‘jane‘, ‘C‘, 12), (‘dave‘, ‘B‘, 10)] $$$$$$$$$$$$$$$$$$
l = sorted(students, key= lambda x: x[2],reverse=True)
print(l)

sorted max min map filter




Python------内置函数

标签:不包含   name   报错   glob   写入文件   NPU   长度   迭代   pil   

原文地址:https://www.cnblogs.com/weilaixiaochaoren/p/9063152.html

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