python中的内置函数

说起内置函数,脑壳痛,然后整理了下。

这么看着比较舒服了。

先从分类中少的说起吧

作用域相关:

global():获取全局变量的字典。

local():获取执行本方法所在命名空间内的局部变量的字典(在全局中执行得到的结果与global()得到的结果相同)。

迭代器生成器相关:

next():调用迭代器或生成器中的一个值

iter():iterable.iter() = itertor

range():range(起始位置)     range(起始位置,结束位置)   range(起始位置,结束位置,步长)

文件操作相关:

open()

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

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

可以用encoding指定编码

输入输出相关:

input():用法

s = input('请输入内容:') #输入的内容为字符串类型
print(s)

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:立即把内容输出到流文件,不作缓存
    '''

输出到文件:

f = open('tmp_file','w')
print(123,456,sep=',',file = f,flush=True)

利用flush关键字写个进度条

import time
for i in range(0,101,2):
    time.sleep(0.1)
    num = i//2
    tu = '\r%s%% %s'%(i, '#'*num)  #\r作用是把光标移到行首单不换行
    print(tu,end='',flush=True) #flush默认是False 改为True刷新每次输出
    

内存相关:

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

hash(x):x是参数,返回一个可hash变量的哈西值,如果x是不可哈希变量则会报错

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

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

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

字符串类型代码的执行:

eval:可以将字符串数据类型的python代码执行,通过拼接字符串的方式来执行不同的代码--简化代码

eval('print(1+2+3+4)') # 有返回值
ret = eval('1+2/3*4')
print(ret)

exec:跟eval作用相同,区别是没有返回值

compile:可以节省时间

用法:
code1 = 'for i in range(0,10): print (i)' # 这是一句代码 字符串
compile1 = compile(code1,'','exec') # 预编译 python-> 字节码
exec (compile1) # 解释

帮助

help:

使用:在pycharm的工作台中选中Python Console

方式一:输入help() 进入帮助页面,输入要查的数据类型,帮助我们打印具体的信息。q退出帮助

方式二:print(help(str))  print(help('abc'))

查看内置属性:

dir():研究或了解一个新型的数据类型时用到

    用法:   

print(dir('需要查看的数据变量'))

调用相关

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

def func():pass
print(callable(func)) #参数是函数名,可调用,返回True
print(callable(123)) #参数是数字,不可调用,返回False

模块相关

__import__

导入一个模块

import time
os = __import__('os')
print(os.path.abspath('.'))

剩下的下次更。。。

posted @ 2018-11-18 21:22  一只程序猿呀  阅读(141)  评论(0编辑  收藏  举报