内置函数

迭代器相关内置函数

字符串类型代码的执行

eval()  执行字符串类型的代码,并返回最终结果

n = eval('2+8')
print(n)

结果:
10

n1 = 4
print(eval('n1+10'))

结果:
14
View Code

exec() 执行字符串类型的代码,没有返回结果

n = exec('2+8')
print(n)

结果:
None
View Code

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

流程语句使用exec
code1 = 'for i in range(0,10): print (i)'
compile1 = compile(code1,'','exec')   编译 python-> 字节码
exec (compile1)

结果:
0
1
2
3
4
5
6
7
8
9
View Code
#简单求值表达式用eval
code2 = '1 + 2 + 3 + 4'
compile2 = compile(code2,'','eval')
eval(compile2)
View Code
#交互语句用single
>>> code3 = 'name = input("please input your name:")'
>>> compile3 = compile(code3,'','single')
>>> name #执行前name变量不存在
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    name
NameError: name 'name' is not defined
>>> exec(compile3) #执行时显示交互命令,提示输入
please input your name:'pythoner'
>>> name #执行后name变量有值
"'pythoner'"
View Code

输入输出

input('字符串数据类型的参数,提醒用户你要输入的内容')

python2
        input() 还原你输入的值的数据类型
        raw_input = py3.input
python3
        input() 输入的所有内容都是字符串类型
        阻塞: 等待某件事情发生,如果不发生一直等着input的返回值就是用户输入的内容
        输入的内容 = input('提示')
View Code

print(要打印的内容1,要打印的内容2,要打印的内容3,sep = '分隔符',end = '结束符')

print(123)
print('abc')
print(123,'abc')
print(123,'abc','aaa',sep = '|')
print(123,'abc','aaa',end = '@')
print(123,'abc','aaa',end = '@')
print(123,'abc')
f = open('file','w')
print(123,'abc',file=f)   # print的本质 就是写文件 这个文件是pycharm的屏幕
f.close()
View Code

内存相关

hash()  获取对象的哈希值(int.str,bool,tuple)

id()       获取到对象的内存地址

帮助

help()  函数用于查看函数或模块用途的详细说明

查看内存属性

dir()  查看对象的内置属性,方法,访问的是对象的__dir__()方法

取值范围

1 range(起始位置,终止位置,步长)
     range(终止位置)
     range(起始,终止位置)
     range(起始,终止,步长)
     range(5)   [0,4]  [0,5)
     range(1,5) [1,4]  [1,5)
     range(1,10,2)  [1,3,5,7,9]
     range(0,10,2)  [0,2,4,6,8]
View Code

导入模块

import time   # 导入别人写好的代码
View Code

hash

哈希 可哈希(不可变数据类型) 不可哈希(可变数据类型)
哈希是一个算法,导致了字典的快速寻址
所有的数据要想得到不变的hash值,必须是一个不可变的数据类型

callable

callable(o),o是参数,看这个变量是不是可调用。
如果o是一个函数名,就会返回Tru

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

complex

实数 :有理数和无理数
虚数 : j
复数 = 实数+虚数 = a+bj
复数不能比较大小
共轭复数 : a+bj 和 a-bj是一对共轭复数
a+bj 和 a+bJ都是复数
View Code

bin  cot  hex

bin:转化为二进制
print(bin(a)

oct:转化为八进制
print(oct(a)) 

hex:转化为十六进制
print(hex(a))
View Code

abs

abs:求绝对值,整数的绝对值是整数,负数的绝对值也是正数
print(abs(5))
print(abs(-5))
View Code

dicmod

divmod:商余函数
print(divmod(10,3)
结果:
(3, 1)#商为3,余为1
View Code

round

小数,保留几位小数
ret = round(2.34564524352)
print(ret)
结果:
2

ret = round(2.34564524352,2) #保留两位小数
print(ret)
结果:
2.35
python2.x(完全的四舍五入)和python3.x(更精准的计算方式)不同
View Code

pow

 pow(x,y,z) :幂运算/幂余运算(x的y次方%z)

print(pow(2,3))
结果: 8
print(pow(3,2))
结果:9
print(pow(5,2,3))
结果:1
print(pow(4,2,2))
结果:0
View Code

sum

sum(可迭代的数字集,start),start从哪个数开始加

print(sum((1,2,3,4)))  结果:10
print(sum([1,2,3,4]))   结果:10
print(sum(range(10)))  结果:45
print(sum((i**2 for i in range(5))))  结果:30
print(sum((1,2,3,4))) 结果:10
print(sum((1,2,3,4),10)) 结果:20
print(sum((1,2,3,4),30)) 结果:40
View Code

min  max

min/max(iterable/*args,key) :key是一个函数的内存地址,key做的事情就是根据你对每一项数据大小的需求来排序

print(min(1,2,3))   1
print(min((1,2,3)))  1 
print(min((1,2,3),(4,5,6)))  (1,2,3)
print(min((7,2,3),(4,5,6)))  (4,5,6)


def func(n):   # n = 2,3,4,7
    return n%6 # 2,3,4,1

ret = min(2,3,4,7,key = func)
print(ret)
View Code

reversed

reversed(list/tuple)  返回一个迭代器,为了节省内存

l = [1,2]
l.reverse()
print(l)

ret = reversed([1,2,3])  # iterator
print(ret)

reverse是在原基础上修改 : 2000项的列表 不会产生额外的内存占用
reversed不修改原基础 : 不直接返回列表而返回迭代器,为了不占用更多的内存
View Code

slice  

l = [1,2,3,4,5]
print(l(1:4))
View Code

format

print(format('test', '<20'),'wanglan') 
print(format('test', '>20'),'wanglan')
print(format('test', '^20'),'wanglan')
View Code

bytes

bytes:字节
print('abc'.encode('utf-8'))
print('你好'.encode('utf-8'))

结果:
b'abc'
b'xe4xbdxa0xe5xa5xbd'

b = b'xe4xbdxa0xe5xa5xbd'
print(b.decode('utf-8'))
结果:
你好
View Code

bytearray

bytearray 把一个字符串编程一个字节数组,较长的字符串的修改节省内存,修改行为必须依靠编码

ret = bytearray('abc'*30,encoding='utf-8')  # 字节数组
print(ret)
ret[0] = 102   # asc码  65A 97abcdef 你好 您好
print(ret)

结果:
bytearray(b'abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc')
bytearray(b'fbcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc')
View Code

ord/chr

ord/chr  字符和编码之间的转换
print(ord('a'))
print(chr(97))

结果:
97
a
View Code

repr

repr() 打印的时候输出这个变量的数据类型

a = 1
b = '1'
print(repr(a),repr(b))
View Code

len

计算长度

原文地址:https://www.cnblogs.com/wanglan/p/9925088.html