python内置函数一

知识要点:
 
1、作用域相关函数 
globals() #返回一个字典:包含全部的全局变量。
locals() #返回一个字典:包含的是当前作用域 所有的变量。
 
例如:
b = 2
print(locals()) # 这个区域打印的
print(globals())
def func1():
  a = 1
  print(locals())  #和这个区域打印的是不同的
  print(globals())
func1()
2、输入输出相关 
input() #函数接受一个标准输入数据,返回为 string 类型。
print() #打印输出。
 
一般的打印:
print('666')
print(1,2,3,4)
print(*[1,2,3])  #这里是函数的调用,前面有*就打散,正常输出
def func1(*args,**kwargs):  # 函数的定义:*指的是聚合。
  print(*args)      # (*(1,2,3,4))  函数的执行时: * 打散变成 print(1,2,3,4) 所以可以正常输出
  print(args)    #也可以正常输出
  print(**kwargs)    # 这里将会报错,因为相当于print(name='alex',age=1000)而print函数源码定义只有*args,并没有定义**kwargs,因而会报错
  print(kwargs)    #正常输出
func1(1,2,3,4,name='alex',age=1000)
print() 函数的一些常用设置:
print(1,2,3,4)    #正常输出多个内容默认以空格为分隔符
print(1,2,3,sep='|')      # 以sep修改多个内容分隔符为其他符号
 
如果这么打印两个数,那么默认是分成两行的
print(111)
print(222)
 
print(111,end=' ')   # 这么打印会连成一行,以设置的空格隔开。end的作用是修改默认换行规则以设置的符号隔开
print(222,end=' ')
print()#函数的定义源码中有个默认参数file=none,把none改成文件句柄即可直接写入文件
f = open('t1',encoding='utf-8',mode='w')
print(666,'777','888',file=f)
3、数学运算相关函数
abs() #函数返回数字的绝对值。
print(abs(-100))
 
divmod() #计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。 
print(divmod(12,7))  # 得到结果(1, 5) (商,余数)
工作中作用是:页面的分页,103 条数据,你每页显示12 条数据,你最终显示多少页。
print(divmod(103,12))
 
round():保留浮点数的小数位数,默认保留整数,四舍五入。
print(round(3.141592653,4))
 
pow:求x**y次幂。(三个参数为x**y的结果对z取余) 
print(pow(2,5))
print(pow(2,5,12))
 
sum() 函数:
sum():对可迭代对象进行求和计算(可设置初始值)。
sum(iterable,start_num)
print(sum([1,2,3,4,100,101]))
print(sum([1,2,3,4,100,101],100))
print(sum([int(i) for i in [1,'2',3,'4','100',101]]))
min() 函数
min():返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。
print(min([1,-2,3,4,100,101]))
print(min([1,-2,3,4,100,101]))
print(min([1,-2,3,4,100,101],key=abs))
例:[('alex',1000),('太白',18),('wusir',500)] 求出年龄最小的那个元组
之前我们的做法是:
ls = [('alex',1000),('太白',18),('wusir',500)]
min1 = min([i[1] for i in ls])
    for i in ls:
        if i[1]==min1:
            print(i)
 
现在我们可以使用key参数来做:
def func(x):
    return x[1]     # 1000 18 500
print(min([('alex',1000),('太白',18),('wusir',500)],key=func))
1,它会将iterable的每一个元素当做函数的参数传进去。
2,它会按照返回值去比较大小。
3,返回的是遍历的元素 x.
 
dic = {'a':3,'b':2,'c':1} 求出值最小的字典的键
def func1(x):
    return dic[x]
print(min(dic,key=func1))
 
def func2(x):
    return x[1]
print(min(dic.items(),key=func2)) #输出字典的键值对的元组
 
max():返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。 *****
print(max([1,2,3,100]))        
4、其他相关的内置函数
字符串类型代码的执行 eval,exec,complie,不建议使用这些函数
eval(): 执行字符串类型的代码,并返回最终结果
s1 = '1+2+3'
s2 = "{'name':'alex'}"
print(eval(s1))
print(eval(s2))
 
# exec() 执行字符串类型的代码,不返回结果 用于代码流
s3 = '''for i in range(3):
print(i)
'''
print(exec(s1))
exec(s3)
 
有计算结果的时候使用eval()
没有计算结果使用exec()
complie() 了解一下即可
 
5、内存相关 hash id ***
hash():获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。
id():获取该对象的内存地址。
 
字典:会将你的所有的key 在内存中转化成id
dic = {'name':'alex','kfdshjfhdskjfhsd': '123'}
print(hash('name'))
print(hash('name1'))
print(hash('fdsmkfghsdlksld'))
print(hash(1))
print(hash(100))
print(hash(100000000000))
print(hash([1,2,3])) #列表时可变数据类型,不可哈希
6、文件操作相关
open:函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
 
7、模块相关__import__
__import__:函数用于动态加载类和函数 。
 
8、帮助
help():函数用于查看函数或模块用途的详细说明。
name = 'alex'
print(help(str))
 
9、调用相关
 
callable():函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;
但如果返回False,调用对象ojbect绝对不会成功。
name = 'alex'
def func1():
pass
print(callable(name)) # False
print(callable(func1)) # True # 说明func1可以被调用
 
10、查看内置属性
 
dir():函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
name = 'alex'
print(dir(name))
 
range():函数可创建一个整数对象,一般用在 for 循环中。
python2x: range(3) ---> [0,1,2] 列表
xrange(3) ---> 迭代器。
python3x: range(3) ---> range(0,3) 可迭代对象
 
next():内部实际使用了__next__方法,返回迭代器的下一个项目。
iter():函数用来生成迭代器(将一个可迭代对象,生成迭代器)。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/banjh/p/9512876.html