python3内置函数_python3--内置函数

python3--内置函数

内置函数:

截止到python 3.6.2 版本,现在python一共提供了68个内置函数;即python提供给你直接可以拿来使用的所有函数。

(红色字体为重点掌握内置函数)

上面便是内置函数列表,按首字母排序,难免看起来混乱无序,不便于记忆;

下面把这些函数分成了6大类。

3f93879b404eb08f2265900ae5c4a5eb.png

由于学习进度原因,此处只写标红的四大块(56个方法)~

作用域相关:

13434695d6e27e7182434282941df65f.png

基于字典的形式获取全局变量和局部变量

globals()——获取全局变量的字典(以字典类型返回当前位置的全部全局变量。)

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

a='runoob'

print(globals()) #globals 函数返回一个全局变量的字典,包括所有导入的变量。

{'__builtins__': , '__name__': '__main__', '__doc__': None, 'a': 'runoob', '__package__': None}

globals()

locals()——获取执行本方法所在命名空间内的局部变量的字典(以字典类型返回当前位置的全部局部变量;对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。)

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

>>>def runoob(arg): #两个局部变量:arg、z

... z = 1...print(locals())

...>>> runoob(4)

{'z': 1, 'arg': 4} #返回一个名字/值对的字典

locals()

其他:

b6d331c4723269e591259b692f16a7cd.png

字符串代码类型的执行:

eval( ) 函数用来执行一个字符串表达式,并返回表达式的值。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

>>>x = 7

>>> eval( '3 * x')21

>>> eval('pow(2,2)')4

>>> eval('2 + 2')4

>>> eval("n + 4")85

eval()

exec() 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。(exec 返回值永远为 None)

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

>>>exec('print("Hello World")')

Hello World#单行语句字符串

>>> exec("print ('runoob.com')")

runoob.com#多行语句字符串

>>> exec ("""for i in range(5):

... print ("iter time: %d" % i)

...""")

iter time: 0

iter time:1iter time:2iter time:3iter time:4

exec()

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

x = 10expr= """z = 30

sum = x + y + z

print(sum)"""

deffunc():

y= 20

exec(expr)exec(expr, {'x': 1, 'y': 2})exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})

func()

输出结果:60

33

34

exec()

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

code = '''import os

print(os.path.abspath('.'))'''code= '''print(123)

a = 20

print(a)'''a= 10

exec(code,{'print':print},)print(a)

指定global参数

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

参数说明:

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

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

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

>>> #流程语句使用exec

>>> code1 = 'for i in range(0,10): print (i)'

>>> compile1 = compile(code1,'','exec')>>> exec(compile1)1

3

5

7

9

>>> #简单求值表达式用eval

>>> code2 = '1 + 2 + 3 + 4'

>>> compile2 = compile(code2,'','eval')>>>eval(compile2)>>> #交互语句用single

>>> code3 = 'name = input("please input your name:")'

>>> compile3 = compile(code3,'','single')>>> name #执行前name变量不存在

Traceback (most recent call last):

File"", line 1, in name

NameError: name'name' is notdefined>>> exec(compile3) #执行时显示交互命令,提示输入

please input your name:'pythoner'

>>> name #执行后name变量有值

"'pythoner'"

输入输出相关:

input()输入

s = input("请输入内容 :") #输入的内容赋值给s变量

print(s) #输入什么打印什么。数据类型是str

print()输出

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

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

print()源码剖析

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

importtimefor 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)#\r 可以把光标移动到行首但不换行

打印进度条

数据类型相关:

type(x) 返回变量x的数据类型

内存相关:

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

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

t = (1,2,3)

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

print(hash(l)) #会报错

'''结果:

TypeError: unhashable type: 'list''''

hash 实例

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

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

文件操作相关:

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

可以用encoding指定编码.

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+打开一个文件用于读写。文件指针将会放在文件的开头。

rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

操作文件模式

模块操作相关:

__import__    导入一个模块

import time

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

帮助方法:

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

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

调用相关:

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

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

def func():pass

print(callable(func)) #参数是函数名,可调用,返回True

print(callable(123)) #参数是数字,不可调用,返回False

callable 实例

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

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

print(dir(list)) #查看列表的内置方法

print(dir(int)) #查看整数的内置方法

和数字相关:

24a8aaa9cf8bcac1e225ef6ef8423353.png

数字:

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

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

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

和数据结构相关:

b6a4e23052d59827e2547aeb65bae714.png

序列:

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

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

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

ret = bytearray('alex',encoding='utf-8')print(id(ret))print(ret[0])

ret[0]= 65

print(ret)print(id(ret))

bytearray

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

ret = memoryview(bytes('你好',encoding='utf-8'))print(len(ret))print(bytes(ret[:3]).decode('utf-8'))print(bytes(ret[3:]).decode('utf-8'))

输出结果:6你

Process finished with exit code 0

memoryview

序列:

reversed

l = (1,2,23,213,5612,342,43)print(l)print(list(reversed(l)))

执行结果:

(1, 2, 23, 213, 5612, 342, 43)

[43, 342, 5612, 213, 23, 2, 1]

slice

l = (1,2,23,213,5612,342,43)

sli= slice(1,5,2)print(l[sli])

执行结果:

(2, 213)

Process finished with exit code 0

数据集合——字典和集合:dict,set,frozenset

数据集合:len,sorted,enumerate,all,any,zip,filter,map

务必重点掌握:

其他:input,print,type,hash,open,import,dir

str类型代码执行:eval,exec

数字:bool,int,float,abs,divmod,min,max,sum,round,pow

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

序列——字符串相关的:str,bytes,repr

序列:reversed,slice

数据集合——字典和集合:dict,set,frozenset

数据集合:len,sorted,enumerate,zip,filter,map

官方参考文档:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 JavaScript 编写的记忆游戏(附源代码)   项目:JavaScript 记忆游戏(附源代码) 记忆检查游戏是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。这个游戏是关于测试你的短期 记忆技能。玩这个游戏 时,一系列图像会出现在一个盒子形状的区域中 。玩家必须找到两个相同的图像并单击它们以使它们消失。 如何运行游戏? 记忆游戏项目仅包含 HTML、CSS 和 JavaScript。谈到此游戏的功能,用户必须单击两个相同的图像才能使它们消失。 点击卡片或按下键盘键,通过 2 乘 2 旋转来重建鸟儿对,并发现隐藏在下面的图像! 如果翻开的牌面相同(一对),您就赢了,并且该对牌将从游戏中消失! 否则,卡片会自动翻面朝下,您需要重新尝试! 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox, 以获得更好、更优化的游戏体验。要玩游戏,首先,通过单击 memorygame-index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值