码迷,mamicode.com
首页 > 其他好文 > 详细

环境小硕的转化之路-17-内置函数拾遗

时间:2019-09-12 11:39:07      阅读:39      评论:0      收藏:0      [点我收藏+]

标签:dict   highlight   语句   好的   int   可迭代对象   pycha   cut   abi   

前言

之前写过内置函数的博文,但觉得这个老师讲的更详细一点,分类也更清楚一点。 将一些常用的内置函数po出来。

内部储存函数相关

lst = [1,2,3]
#id(obj)
print(id(lst))#打印id
#hash(obj)
print(hash(lst))#目的是为了存储,计算之后是一个数字.hash值尽量不要重复(某些特定环境下会重复),
是一种另类的加密.所以hash值往往很大。字典就是用hash法进行存储数据的。
#打个比方
dict = {‘jay‘:‘周董‘,‘jj‘:‘林俊杰‘}#字典的key必须是hashable(不可变)
#字典存储原理‘jay‘算完的存储hash值假设是6,将‘周董‘存到6的下属的内存空间里。查找的时候dict[‘jay‘]
#去找6下属的内存空间取出‘周董‘。如果不这么存的话要遍历内存去找,浪费时间。但字典比较浪费空间,一般用于拿空间换时间。
#__import__(‘module‘)
__import__(‘os‘)#用于动态加载模块,例如用户输入某个值,可以加载模块的时候用

 

进制转换相关

#二进制转换
print(bin(5))#0b101 0b表示这个数为二进制
#银行放款高级架构流程
#注册 实名认证 银行卡绑定 风险评估
# 1     1         1        1  #全部通过,可以放款
# 1     1         0        1  #没绑定银行卡不能放款
#八进制转换
print(oct(10))#0o12 0o代表八进制
#十六进制转换
print(hex(20))#0x14 0x代表十六进制 0123456789abcdef为十六进制的‘个位数‘。做单片机的人用的比较多。   

 

数学运算相关

#abs(num)求绝对值
print(abs(-8))#8
#divmod(num,num)->输出(商,余数)(前面除以后面)
print(divmod(10,3))#(3,1)
#round (float)四舍五入
print(round(3.5))#4
#pow(x,y,z) 求次幂 x为底数,y为幂数,如果有z,输出为结果对z取余。
print(pow(2,4))#16
print(pow(2,4,3))#1
#sum sum(Iterable,初始值) 可迭代对象里的数字+初始值qiu,
print(sum([1,2,3,4,5],1))#16
#min(iterable)
print(min([5,6,7,8,9,10,11]))#iterable中数字的最小值
#max(iterable)
print(max([5,6,7,8,9,10,11]))#iterable中数字的最大值

 

可迭代对象相关

#reversed(iterable)将可迭代对象翻转
lst = [1,2,3,4,5,6,7,8,9,10]
print(list(reversed(lst)))#返回一个新的迭代器
#slice(num(初始),num(结尾),num(步长))
s = slice(1,9,2)#切片
print(lst[s])#相当于lst[1:9:2]
#enumerate(iterable)枚举
for i,v in enumerate(lst):
  print(‘索引值{0},列表值{1}‘.format(i,v))
#all(iterable) 相当于and,iterable里面全对输出True
print(all([1,1,1,1,1,1]))
#any(iterable) 相当于or,iterable里面只要有一个对输出True
print(any([0,0,0,0,0,0,0,1]))

 

内存相关

#bytes(str)将数据变成字节
print(bytes(‘negu‘,encoding=‘utf-8‘))
#menoryview(obj)内存展示
s = ‘哈哈哈哈哈哈哈哈哈啊哈哈哈‘
print(memoryview(s.encode(encoding=‘utf-8‘)))#不如id
#ord(str)输入字符找到字符的编码位置
print(ord(‘a‘))#97
#chr(num) ord的反函数
print(chr(97))#a
#ascii(obj) 若是ascii码里面就返回ascii值,若不是就返回/u。。。。。(unicode里面的东西)
print(ascii(‘林‘))#‘\u6797‘

 

转义相关

#repr(str)
#打印:我:‘哈哈哈哈哈哈哈哈哈‘
print("我:‘哈哈哈哈哈哈哈哈哈‘")#方案1
print("我:\"哈哈哈哈哈哈哈哈哈\"")#方案2,\转义不让"作为字符串的开头或者结尾。
print(repr(‘我:\‘哈哈哈哈哈哈哈哈哈\‘‘))#方案3 repr作用:原样输出字符串,\t在里面没用。
print(r‘你好啊\t 我不好 \n 他很哈皮‘)#r后面任何东西都不会转义
#c:在字符串是转义字符的意思,例如\n是换行,\t,\\为\,\",\r. \\\\为\print(repr(‘我\我‘))#按c语言写法应该有两个\,所以repr还原了了两个\.

 

print("我是negu")#对用户是友好的,非正式的字符串.
print(repr(‘我是negu‘))#还原字符串最官方,最正版的一种方法.正式、官方的字符串.
#上面没有引号,下面单独地加了引号.程序中内部存储的内容,这个是给程序员看的.但是二者是一样的,类似穿休闲装和工作装的人.
#所以
print(repr(‘\我是\"negu‘))#只显示一个双引号,两个
#原样输出,前面加r.
print(‘我叫%r‘%‘negu‘)#%r实际上调用的是repr()

 

输出格式化相关

#format(str,‘sth‘) 格式化不单单字符串,还有数字.对财务软件极其关键.
#居中某个东西
s = ‘抽烟‘
print(s.center(20))#拉长到了20,源字符串居中
print(format(s,‘^20‘))#同上
print(format(s,‘>20‘))#拉长到20,右对齐
print(format(s,‘<20‘))#拉长到20,左对齐
#对数字进行format(以下的字符串都是置于‘sth‘位置才能生效)
#‘b‘:转换成二进制
#‘c‘:转换成unicode字符
#‘d‘:十进制
#‘o‘:八进制
#‘x‘:十六进制
#‘n‘:同d
#默认:同d

#对浮点数进行format
#‘e‘:科学计数法,默认保留6位小数
#‘0.2e‘:科学计数法,保留2位小数
#‘f‘:浮点计数法,保留6位小数.
#‘0.2f‘:浮点计数法,保留2位小数
#‘0.10f‘:浮点计数法,保留10位小数
print(format(1.2345678e+10000,‘f‘))#inf表示无穷大,数值太大不做计算了.
#frozenset(set)#将一个集合转化成不可变的。
s = {‘爱情公寓‘,‘爵迹‘,‘妖猫传‘,‘煎饼侠‘,‘郭德纲的电影‘}
s.add(‘空天猎‘)
print(s)#‘空天猎‘进去了,可变,unhashable.
fs = frozenset(s)
hash(fs)#没报错,hashable

 

打包和编译

#zip(若干iterable)
lst1 = [‘beyond heaven‘,‘highCs‘,‘Game of throne medly‘]
lst2 = [‘Silver screen‘,‘thomas Bergersen‘,‘2CELLOS‘]
lst3 = [‘1‘,‘2‘,‘3‘]
a = zip(lst1,lst2,lst3)#生成一个iterator,按照位置进行合并,若是多出来会给过掉.
print(list(a))
#eval(str)
s = ‘5+6‘
print(eval(s))#动态执行一个代码片段,侧重点在返回上.可能前端会发送一些字符串数据给后端,这些字符床数据就要这样执行
a = "{‘name‘:‘negu‘,‘age‘:‘18‘,‘wife‘:‘none‘}"#前台往后台发的数据为json,里面全部都为字符串.可还原为字符串、列表等。
print(eval(a)[‘name‘])#输出negu
#exec(str) 全称‘execute‘,和eval一样,执行复杂的字符串代码,不返回东西.一般用于测试别人的代码.
exec(‘a = 10‘)
print(a)#输出10,pycharm报错信息不一定是对的(动态执行信息无法判断)
#compile(resource,file name,model) 将代码编译成中间码,需要的时候再执行.
#resource:动态代码片段
#filename:存放代码的文件名
#model:执行模式,1.exec:一般放些流程语句的时候,2.eval:resource只放一个求值表达式,3.resource存放的代码有交互的时候
ma = ‘for i in range(10): print(i)‘
ma1 = ‘content = input(\‘请输入名字\‘)‘
ma1bian = compile(ma1,‘‘,‘single‘)
mabian = compile(ma,‘‘,mode = ‘exec‘)
exec(mabian)
exec(ma1bian)
print(content)

 

环境小硕的转化之路-17-内置函数拾遗

标签:dict   highlight   语句   好的   int   可迭代对象   pycha   cut   abi   

原文地址:https://www.cnblogs.com/negu/p/11510971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!