内置函数

一, 内置函数

#注意:内置函数id()可以返回一个对象的身份,返回值为整数。这个整数通常对应与该对象在内存中的位置,
但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以内存地址为准。
is运算符用于比较两个对象的身份,等号比较两个对象的值,内置函数type()则返回一个对象的类型 #更多内置函数:https://docs.python.org/3/library/functions.html?highlight=built#ascii

 

format


s = "抽烟"
print(s.center(20)) # 拉长到20 源字符串居中

print(format(s,"^20")) # 居中
print(format(s,">20")) # 右对齐
print(format(s,"<20")) # 左对齐


#
字符串可以提供的参数 's' None >>> format('some string','s') 'some string' >>> format('some string') 'some string' #整形数值可以提供的参数有 'b' 'c' 'd' 'o' 'x' 'X' 'n' None >>> format(3,'b') #转换成二进制 '11' >>> format(97,'c') #转换unicode成字符 'a' >>> format(11,'d') #转换成10进制 '11' >>> format(11,'o') #转换成8进制 '13' >>> format(11,'x') #转换成16进制 小写字母表示 'b' >>> format(11,'X') #转换成16进制 大写字母表示 'B' >>> format(11,'n') #和d一样 '11' >>> format(11) #默认和d一样 '11' #浮点数可以提供的参数有 'e' 'E' 'f' 'F' 'g' 'G' 'n' '%' None >>> format(314159267,'e') #科学计数法,默认保留6位小数 '3.141593e+08' >>> format(314159267,'0.2e') #科学计数法,指定保留2位小数 '3.14e+08' >>> format(314159267,'0.2E') #科学计数法,指定保留2位小数,采用大写E表示 '3.14E+08' >>> format(314159267,'f') #小数点计数法,默认保留6位小数 '314159267.000000' >>> format(3.14159267000,'f') #小数点计数法,默认保留6位小数 '3.141593' >>> format(3.14159267000,'0.8f') #小数点计数法,指定保留8位小数 '3.14159267' >>> format(3.14159267000,'0.10f') #小数点计数法,指定保留10位小数 '3.1415926700' >>> format(3.14e+1000000,'F') #小数点计数法,无穷大转换成大小字母 'INF' #g的格式化比较特殊,假设p为格式中指定的保留小数位数,先尝试采用科学计数法格式化,得到幂指数exp,如果-4<=exp<p,则采用小数计数法,并保留p-1-exp位小数,否则按小数计数法计数,并按p-1保留小数位数 >>> format(0.00003141566,'.1g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点 '3e-05' >>> format(0.00003141566,'.2g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留1位小数点 '3.1e-05' >>> format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留2位小数点 '3.14e-05' >>> format(0.00003141566,'.3G') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点,E使用大写 '3.14E-05' >>> format(3.1415926777,'.1g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留0位小数点 '3' >>> format(3.1415926777,'.2g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留1位小数点 '3.1' >>> format(3.1415926777,'.3g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留2位小数点 '3.14' >>> format(0.00003141566,'.1n') #和g相同 '3e-05' >>> format(0.00003141566,'.3n') #和g相同 '3.14e-05' >>> format(0.00003141566) #和g相同 '3.141566e-05'

 

eval与exec
#1、语法
# eval(str,[,globasl[,locals]])
# exec(str,[,globasl[,locals]])
# 参数:
# globals -- 变量作用域,全局命名空间,如何被提供,则必须是一个字典对象。
# locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
#2、区别 #示例一: s='1+2+3' print(eval(s)) #eval用来执行字符串表达式,并返回表达式执行的结果 print(exec(s)) #exec 执行储存在字符串或文件中的 Python 语句,永远返回None ''' None ''' #示例二: print(eval('1+2+x',{'x':3},{'x':30})) #返回33 print(exec('1+2+x',{'x':3},{'x':30})) #返回None # print(eval('for i in range(10):print(i)')) #语法错误,eval不能执行表达式 print(exec('for i in range(10):print(i)'))
compile:
compile(str,filename,kind)
filename:用于追踪str来自于哪个文件,如果不想追踪就可以不定义
kind可以是:single代表一条语句,exec代表一组语句,eval代表一个表达式
s='for i in range(10):print(i)'
code=compile(s,'','exec')
exec(code)


s='1+2+3'
code=compile(s,'','eval')
eval(code)

 

print(ord('a')) # 查看字母a的编码位置 97
print(ord("A")) # 65
print(ord("")) # 20013

print(chr(20013)) # "中"

print(ord("")) # 25105
print(ord("")) # 29233
print(ord("")) # 20320


print(ascii("a"))  # 'a' #asccii码中a的位置
print(ascii("")) # '\u4e2d'

 

lst1 = ["甜蜜蜜", "往事只能回味", "难忘今宵", "分红的回忆", "十年"]
lst2 = ["邓丽君", "韩宝仪", "李谷一", "王宝强", "陈奕迅"]
lst3 = ["2000","3000","5","120","50000"]
a = zip(lst1, lst2,lst3) # 水桶效应
print("__iter__" in dir(a)) # 可迭代的  True
for el in a:
    print(el)
 #('甜蜜蜜', '邓丽君', '2000')
 # ('往事只能回味', '韩宝仪', '3000')
#   ('难忘今宵', '李谷一', '5')
  # ('分红的回忆', '王宝强', '120')
   #('十年', '陈奕迅', '50000')

 

exec 执行储存在字符串或文件中的 Python 语句

posted @ 2018-08-14 16:14  清风_Z  阅读(165)  评论(0编辑  收藏  举报