python我想对你说_python学习第12天----内置函数
1.内置函数
python解释器提供的,直接可以使用的函数,如print,input等
1)作业域相关
①globals() 以字典的类型返回全部局部变量
②locals() 以字典的类型返回当前位置的全部局部变量
2)迭代器/生成器相关
①range
②next() 内部执行的是__next__()
③iter() 获取一个迭代器,就相当于__iter__()
lst = ["九尾妖狐","阿狸","灵魂突袭"]
it=iter(lst)print(it.__next__())print(next(it))
输出:
九尾妖狐
阿狸
View Code
3)输入输出
①input 输入
②print 输出
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
#输出是添加分隔符,默认为空格
print("九尾妖狐","阿狸","灵魂突袭",sep = "_") #seperator
输出:
九尾妖狐_阿狸_灵魂突袭
View Code
#结束时以什么结束,默认为回车
print("九尾妖狐","阿狸","灵魂突袭",sep = "_",end = "LOL")
输出:
九尾妖狐_阿狸_灵魂突袭LOL
View Code
4)内存相关
①hash 哈希,通过hash算法对“对象”算出一个唯一编号;当下次需要对象时,直接通过hash值对于的位置获取
print(hash(101)) #数字本身是唯一的
print(hash("阿狸"))
输出:101
7129766306689511966
View Code
注:字典的查找效率非常高的原因就是在于字典的可hash的,hash是用空间换取时间,比较耗费内存;列表是不可hash的,元组是可hash的
②id 查看对象的内存值
5)文件操作相关
①open
6)模块相关
①__import__() 动态的导入一个模块
name = input("请输入你要导入的模块:")__import__(name) #可以动态导入模块,name为模块名
View Code
7)帮助
①help
print(help(str))
8)调用相关
①callable 判断一个对象,是否是可调用的
#变量是不可被调用的
a = 10
print(callable(a))
输出:
False
View Code
#函数是可以被调用的
deffunc():print("Hello World")print(callable(func))
输出:
True
View Code
9)查看内置属性
①dir
print(dir(str))
10)字符串类型代码的执行
①eval 执行字符串类型的代码,并返回最终结果(可动态的执行一些代码);代码必须有返回值,如果没有返回值,一般不用eval
s = input("请输入a+b:")print(eval(s))
输入输出:
请输入a+b:10+5+8+20
43
View Code
#可通过eval进行一些简单的计算,复杂的运算无法计算
s = "100/2"
print(eval(s))
输出:50.0
View Code
#eval无法进行复杂运算(如下代码报错)
s = "for i in range(10): print(i)"
print(eval(s))
View Code
②exec 执行字符串类型代码;和eval的区别是,exec没有返回值;但是可以进行复杂运算(让用户编码时,可用到;用于执行用户的代码)
#exec没有返回值
s = "100/2"a= exec(s)print(a)
输出:
None
View Code
#exec可进行复杂运算
s = "for i in range(10): print(i)"
print(exec(s))
输出:
01。9
View Code
#还可通过exec去执行一个函数
exec("""def func():
print("阿狸")
func()""")
输出:
阿狸
View Code
③complie 将一个字符串编译为字节代码(程序最终实际运行的就是字节码),然后通过exec语句来执行或者eval()进行使用
#comlpe参数说明
参数说明:
1. resource 要执⾏的代码, 动态代码⽚段
2. ⽂件名, 代码存放的⽂件名, 当传⼊了第⼀个参数的时候, 这个参数给空就可以了
3. 模式, 取值有3个,
①exec: ⼀般放⼀些流程语句的时候
②eval: resource只存放⼀个求值表达式.
③single: resource存放的代码有交互的时候. mode应为single
#不需要返回值的代码,参数为exec
code1 = "for i in range(10): print(i)"c1= compile(code1, "", mode="exec") #compile并不会执行代码,只是编译代码
exec(c1) #编译完成后,通过exec执行代码
输出:
01.9
View Code
注:当代码不想被别人看到时,可以先通过compile编译出来;编译完成之后的程序执行非常块
#需要返回值的代码,返回值为eval
code2 = "1+2+3"c2= compile(code2, "", mode="eval")
a=eval(c2)print(a)
输出:6
View Code
#对于代码中有用户交互的代码,模式使用single
code3 = "name = input('请输入名字:')"c3= compile(code3, "", mode="single")exec(c3)print(name)
输出:
请输入名字:阿狸
阿狸
View Code
11)基础数据类型相关
#数据类型
①bool 布尔
②int 整数
③float 浮点数
④complex 复数
#进制转换
①bin 把一个十进制数转换为二进制数
②hex 把一个十进制数转换为十六进制数
③oct把一个十进制数转换为八进制数
#数学运算
①abs() 求绝对值
②divmode() 返回商和余数
print(divmod(20,3))
输出:
(6, 2)
View Code
③round() 四舍五入
④pow(a,b) 求a的b次幂,如果有三个参数。则求完幂后对第三个数取余
print(pow(2,3))print(pow(2,3,3))
输出:8
2
View Code
⑤sum() 求和
print(sum([1,2,3,4,5]))
输出:15
View Code
⑥min() 求最小值
⑦max() 求最大值
12)和数据结构相关
#序列:列表和元组
①list 将其他数据类型转化为列表;把生成器转换为列表
②tuple…. 元组
#序列:相关内置函数
①reversed() 将一个序列翻转,返回翻转序列的迭代器;不会改变原列表,而是返回一个迭代器
lst = ["九尾妖狐","阿狸","灵魂突袭"]
lst_new=reversed(lst)print(lst_new)print(list(lst_new))
输出:['灵魂突袭', '阿狸', '九尾妖狐']
View Code
②slice 列表的切片
lst = [1,2,3,4,5,6,7]print(lst[1:3:1])
s= slice(1,3,1)print(lst[s])
输出:
[2, 3]
[2, 3]
View Code
#字符串
①str
②format 与具体数据相关,用于计算各种小数,精度数等
#字符串
print(format('test', '<20')) #左对⻬
print(format('test', '>20')) #右对⻬
print(format('test', '^20')) #居中#数值
print(format(3, 'b')) #⼆进制
print(format(97, 'c')) #转换成unicode字符
print(format(11, 'd')) #⼗进制
print(format(11, 'o')) #⼋进制
print(format(11, 'x')) #⼗六进制(⼩写字⺟)
print(format(11, 'X')) #⼗六进制(⼤写字⺟)
print(format(11, 'n')) #和d⼀样
print(format(11)) #和d⼀样#浮点数
print(format(123456789, 'e')) #科学计数法. 默认保留6位⼩数
print(format(123456789, '0.2e')) #科学计数法. 保留2位⼩数(⼩写)
print(format(123456789, '0.2E')) #科学计数法. 保留2位⼩数(⼤写)
print(format(1.23456789, 'f')) #⼩数点计数法. 保留6位⼩数
print(format(1.23456789, '0.2f')) #⼩数点计数法. 保留2位⼩数
print(format(1.23456789, '0.10f')) #⼩数点计数法. 保留10位⼩数
print(format(1.23456789e+10000, 'F')) #⼩数点计数法.,无穷大显示INF
输出:
test
test
test11a11
13b
B11
11
1.234568e+08
1.23e+08
1.23E+08
1.234568
1.23
1.2345678900INF
View Code
③bytes 把字符串直接转化为bytes类型
#字符编码的转化
s = "史迪仔很可爱"a= s.encode("utf-8")print(a)print(a.decode("utf-8"))
输出:
b'\xe5\x8f\xb2\xe8\xbf\xaa\xe4\xbb\x94\xe5\xbe\x88\xe5\x8f\xaf\xe7\x88\xb1'史迪仔很可爱
View Code
#bytes可直接完成转化,结果是一样的
bs = bytes("史迪仔很可爱",encoding="utf-8") #把字符串编码成utf-8
print(bs)
输出:
b'\xe5\x8f\xb2\xe8\xbf\xaa\xe4\xbb\x94\xe5\xbe\x88\xe5\x8f\xaf\xe7\x88\xb1'
View Code
④bytearry 返回一个字节数组,并且这个数字中的元素是可变的,并且每个元素的值的范围是[0,256)
ret = bytearray("Lop",encoding="utf-8")print(ret[0])print(ret)
输出:76bytearray(b'Lop')
View Code
⑤memoryview 查看内存
⑥ord 返回字符在编码表中的位置(只能是单个字符)
print(ord("a"))print(ord("中")) #中字在编码表中的位置
输出:97
20013
View Code
⑦chr 通过字符编码,返回是哪个字符
print(chr(65))print(chr(20013))
输出:
A
中
View Code
⑧ascii 可字符是否在ascii表中,若在表中,直接返回本身
print(ascii("a"))print(ascii("中"))
输出:'a'
'\u4e2d'
View Code
⑨repr 原因输出,过滤掉转义字符(\n),但是不管%
name = "%s就是\nLOL" % "英雄联盟"
print(name)print(repr(name))
输出:
英雄联盟就是
LOL'英雄联盟就是\nLOL'
View Code
#数据集合:字典
①dict
#数据集合:集合
①set set集合
②frozenset 不可变的集合
#相关内置函数
①len
②sorted
③enumerate 把列表中 的索引和元素一起获取
lst = ["英雄联盟","地下城","CF","QQ飞车"]for index,values inenumerate(lst):print(index,values)
输出:
0 英雄联盟1地下城2CF3 QQ飞车
View Code
#索引默认是从0开始,可以进行修改
lst = ["英雄联盟","地下城","CF","QQ飞车"]for index,values in enumerate(lst,1):print(index,values)
输出:1英雄联盟2地下城3CF4 QQ飞车
View Code
④all 可迭代对象中全部都是True,则返回True(相当于and)
print(all([1,2,True,0]))print(any([1,'',0]))
输出:
False
True
View Code
⑤any 可迭代对象中有一个是True,则返回True(相当于or)
⑥zip
hero = ["九尾妖狐","远古巫灵","惩戒之箭","无双剑姬"]
name= ["阿狸","泽拉斯","维鲁斯","菲奥娜"]
skill= ["灵魂突袭","奥数仪式","腐败锁链"] #该列表少一个,所以最终输出也少一个
for i inzip(hero,name,skill):print(i)
输出:
('九尾妖狐', '阿狸', '灵魂突袭')
('远古巫灵', '泽拉斯', '奥数仪式')
('惩戒之箭', '维鲁斯', '腐败锁链')
View Code
⑦fiter 过滤
⑧map 会根据提供的函数对指定序列做映射(lamda)
python我想对你说_python学习第12天----内置函数相关推荐
- keil5函数 默认返回值_python学习第12天----内置函数 - 我想对你说
1.内置函数 python解释器提供的,直接可以使用的函数,如print,input等 1)作业域相关 ①globals() 以字典的类型返回全部局部变量 ②locals() 以字典的类型返回当前 ...
- python用psf函数_python学习之-类的内置函数
内置方法:__str__(该方法必须返回字符串类型),在对像被打印时自动触发,然后将该方法的返回值当做打印结果输出) class People: def __init__(self,name,age) ...
- python不允许使用关键字作为变量名、允许使用内置函数_Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。...
Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义. 答:对 对于检查出的无效MAC帧,以太网负责重传. 答:× 哪一年开始中国成为世界第二大经济体? 答:2 ...
- python不允许使用关键字作为变量名、允许使用内置函数_【判断题】Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做...
[判断题]Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做 更多相关问题 [单选,A2型题,A1/A2型题] <十四经发挥&g ...
- python我想对你说_python学习第20天----面向对象复习、__repr__
1.面向对象 #问题: ①写代码时,什么时候用面向对象:处理比较复杂的角色之间的关系(代码量大,功能多的时候),如复杂的电商程序.公司/学校的人事管理的系统:提高代码的可读性,清晰度(无论是开发者还是 ...
- python我想对你说_python学习第4天----is和==区别、小数据池、编码解码
1.is和==的区别 1)==比较的是左右两边的值,无论是字符串.数字.列表,元组.若两边的值相等,则返回True a = "zdz"b= "zdz" prin ...
- python中比较重要的几个函数_Python 几个重要的内置函数 python中的内置函数和关键字需要背过吗...
python重要的几个内置函数用法 python内置函数什么用忘不掉的是回忆,继续的是生活,错过的,就当是路过吧.来来往往身边出现很多人,总有一个位置,一直没有变.看看温暖的阳光,偶尔还是会想一想. ...
- python len函数_Python 初学者必备的常用内置函数
Python 作为一门高级编程语言,为我们提供了许多方便易用的内置函数,节省了不少开发应用的时间.目前,Python 3.7 共有 69 个内置函数,一些是我们耳熟能详的函数,另一些却不是很常见,这里 ...
- Python学习 Day8-2 python的三元表达式(三目运算符)、lambda表达式、内置函数
Python中的三元表达式(三目运算符) 语法:为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号) >>print(1 if 5 > 3 else 0) 1 Py ...
最新文章
- UBUNTU手动安装JDK的详细步骤
- java string blog_StringUtils方法全集
- java面试题 并发_Java 并发面试题(一)
- 图片相似度识别_deepface:人脸识别\特征分析
- 2021-01-07 python opencv实现车牌识别 颜色定位
- 自己快速提升SCI论文质量的简单方法:分清研究类型,遵从指南修改
- boost::hana::detail::unpack_flatten用法的测试程序
- js html转义字符串,js中html拼接特殊字符转义
- 南开计算机与控制工程学,2017南开大学计算机与控制工程学院考研复试名单
- c++ builder groupbox修改样式_Pandas也能修改样式?快速给你的数据换个Style!
- git向码云上提交项目
- matlab如何电路分析方法,MATLAB在电路分析中的应用_李继林
- Linux命令行安装图形化界面
- 单片机蓝牙模块与手机蓝牙通信(7)
- 在PDMS中使用python直接生成管口方位图(开源分享第二集)
- JAVA对接阿里语音识别引擎
- 一种追求高度融合,包容软硬方案的云主机集群,云OS和云APP的架构全设计
- 基于Vue.js的2048小游戏的设计与实现
- 设配器模式不止是补救,有时更像是一个创造者
- flash游戏教程集锦~~
热门文章
- 桌面登录报错“内部错误,未能连接到Horizon Server。请与管理员联系”
- html5+css+js实现动画特效,人物动画
- 怎么用计算机算lg3,lg3(log计算器在线)
- MIT 线性代数(4—6)读书笔记
- 无法启动Parallels Desktop,因为Mac操作系统中缺少某些必需的组件
- C#中如何获取上个月第一天和最后一天
- python求根公式超范围_python求根公式
- Mybatis基础使用知识(注解)
- AFNetworking网络请求失败
- OpenCV3之Mat类的类型type和深度depth