Python全栈学习笔记day 15:内置函数

全部内置函数列表:

  Built-in Functions  
abs()dict()help()min()setattr()
all()dir()hex()next()slice()
any()divmod()id()object()sorted()
ascii()enumerate()input()oct()staticmethod()
bin()eval()int()open()str()
bool()exec()isinstance()ord()sum()
bytearray()filter()issubclass()pow()super()
bytes()float()iter()print()tuple()
callable()format()len()property()type()
chr()frozenset()list()range()vars()
classmethod()getattr()locals()repr()zip()
compile()globals()map()reversed()__import__()
complex()hasattr()max()round() 
delattr()hash()memoryview()set() 

 

函数分类效果图:

https://www.processon.com/view/link/597fcacfe4b08ea3e2454ece?pw=G76Z

G76Z

 

68个函数,6大类:

 

一、作用域相关

globals()——获取全局变量的字典

locals()——获取执行本方法所在命名空间内的局部变量的字典

二、其他

1、字符串类型代码的执行:

eval() 将字符串类型的代码执行,有返回值

exec()将字符串类型的代码执行,无返回值

compile  将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

compile参数说明:   

1. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。  

2. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。  

3. 参数model:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表达式,model应指定为‘eval’;当source中包含了交互式命令语句,model应指定为'single'。

code1 = 'for i in range(0,10): print (i)'
compile1 = compile(code1,'','exec')
exec(compile1)



0
1
2
3
4
5
6
7
8
9

2、输入输出相关:

input() 输入

print() 输出:

     print源码剖析:

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    file:  默认是输出到屏幕,如果设置为文件句柄,输出到文件
    sep:   打印多个值之间的分隔符,默认为空格
    end:   每一次打印的结尾,默认为换行符
    flush: 立即把内容输出到流文件,不作缓存
    """

           打印进度条:

import time
for i in range(0,101,2):
     time.sleep(0.1)
     char_num = i//2      #打印多少个'*'
     per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)
     print(per_str,end='', flush=True)

3、内存相关:

id(o) o是参数,返回一个变量的内存地址

hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

t = (1,2,3)
l = [1,2,3]
print(hash(t))  #可hash
print(hash(l))  #会报错

hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。

*每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。

4、文件操作相关:

open()  打开一个文件,返回一个文件操作符(文件句柄)

操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)

可以用encoding指定编码.

5、模块操作相关:

import导入一个模块     import time

6、帮助方法:

在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出

或者直接执行help(o),o是参数,查看和变量o有关的操作。。。

7、调用相关:

callable(o),o是参数,看这个变量是不是可调用。

如果o是一个函数名,就会返回True

8、查看参数所属类型的所有内置方法:

dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

三、基础数据类型——和数字相关:

数据类型相关:bool,int,float,complex

进制转换相关:bin,oct,hex

数学运算:abs,divmod,min,max,sum,round,pow

三、基础数据类型——和数据结构相关:

序列——列表和元组相关的:list和tuple

序列——字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr

 

format:    http://www.cnblogs.com/Eva-J/articles/7266245.html

重点掌握:

 

filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

filter的结果集合 <= 执行之前的个数,filter只管筛选,不会改变原来的值
map 执行前后元素个数不变,值可能发生改变
def is_odd(x):
    return x % 2 == 1

ret = filter(is_odd, [1,  6, 7, 12, 17])
print(ret)
for i in ret:
    print(i)



<filter object at 0x0025E3D0>
1
7
17
ret = map(abs,[1,-4,6,-8])
print(ret)
for i in ret:
    print(i)



1
4
6
8

zip:

l = [1,2,3,4,5]
l2 = ['a','b','c','d']
l3 = ('*','**',[1,2])
d = {'k1':1,'k2':2}
for i in zip(l,l2,l3,d):
    print(i)




(1, 'a', '*', 'k1')
(2, 'b', '**', 'k2')

sorted:

对给定的List L进行排序,
方法1.sort进行排序,在原列表的基础上进行排序
方法2.sorted进行排序,生成了一个新列表 不改变原列表 占内存

l = [1,-4,6,5,-10]
l.sort(key = abs)   # 在原列表的基础上进行排序
print(l)


[1, -4, 5, 6, -10]
l = [1,-4,6,5,-10]
print(sorted(l,key=abs,reverse=True))      # 生成了一个新列表 不改变原列表 占内存
print(l)

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值