Python-内置函数

帮助

 dir()  #以列表的形式,返回对象所属类中的所有方法

li = dir(str)
print(li)

 help()  #返回对象所属类中,所有方法的详细说明

li = list()
help(li)

 vars()  #查看对象中有多少变量

 

计算使用

 abs()  #取绝对值

num = -123
print(abs(num))    #打印:123

 sum()  #对可迭代的一组int型求和,参数为列表、元祖、key为int型的字典

tmp = sum([1,2,3])
print(tmp)    #打印:6

tmp = sum((1,2,3)) print(tmp) #打印:6
tmp = sum(range(101)) #计算1-100的和 print(tmp) #打印:5050
tmp = sum({1:"alex",2:"eric"}) #计算key相加 print(tmp) #打印:3

 round()  #四舍五入,默认只取整数位  #第二个参数表示保留几位小数

tmp = round(1.28)
print(tmp)    #打印: 1

tmp = round(2.56) print(tmp) #打印: 3 tmp = round(1.286,2) print(tmp) #打印:1.29
tmp = round(2.54,1) print(tmp) #打印:2.5

 pow()  #两个参数求幂  #3个参数求余

tmp = pow(2,3)    #表示2**3
print(tmp)    #打印:8

tmp = pow(3,3,2)    #表示3**3%2
print(tmp)    #打印:1

 divmod()  #得到两个数的商和余数,常用语计算分页

print(divmod(11, 4)) 
#打印: (2,3)  #商2,余3

 max()  #取最大值;同类型比较

tmp = max(1,3,2,123,4,24,15)
print(tmp)    #打印:123

 min()  #取最小值

tmp = min(1,3,2,123,4,24,15)
print(tmp)    #打印:1

 eval()  #返回字符串形式的表达式的计算结果

ret = eval("  100+  3")
print(ret)  #打印: 103

 len()  #返回对象的长度,不能对整形使用

tmp = "abcdefg"
li = ["abc", "def", "ghi"]
tup = ("abc", "def", "ghi", 123, ("hello", "world"))
dic = {"k1": "v1", "k2": "v2"}
se = {"abc", "def", "ghi", 9}

print(len(tmp))  # 打印: 7
print(len(li))   # 打印: 3
print(len(tup))  # 打印: 5
print(len(dic))  # 打印: 2
print(len(se))   # 打印: 4

 

 

数据类型

 bool()  #转换为布尔类型,返回True/False

tmp = 123
print(bool(tmp))    #打印:True
tmp = "hello"    
print(bool(tmp))    #打印:True

#以下都为False
tmp = None
print(bool(tmp))
tmp = 0
print(bool(tmp))
tmp = bytes()
print(bool(tmp))
tmp = ""
print(bool(tmp))
tmp = ()
print(bool(tmp))
tmp = {}
print(bool(tmp))
tmp = set()
print(bool(tmp))

 bytes()  #创建字节类型;转换为字节类型

tmp = ""
tmp = bytes(tmp,encoding="utf8")
print(tmp)    #打印:b'\xe8\xb5\xb5'

 int()  #创建整型;将只由数字组成的字符串,转换为整型

num = int(1024)
print(num)    #打印:1024
tmp = "12345678"
tmp = int(tmp)
print(tmp)    #打印:12345678

 float() #创建浮点型;将只由数字组成的字符串,转换为浮点数

num = float(3.14)
print(num)    #打印:3.14
tmp = "30"
tmp = float(tmp)
print(tmp)    #打印:30.0

 str()  #创建字符串;将其他类型转换为字符串型

tmp = str("hello")
print(tmp)    #打印:hello

tup = (1024,"bingo")
print(type(tup))    #打印:<class 'tuple'>

tmp = str(tup)
print(type(tmp))    #打印:<class 'str'> 

 list()  #创建列表,或将可迭代序列转换为列表

li = list()
print(li)    #打印:[]

tmp = "name"
tup = ("name", "age", 1025)
tmp = list(tmp)
tup = list(tup)
print(tmp)    #打印:['n', 'a', 'm', 'e']
print(tup)    #打印:['name', 'age', 1025]

 tuple()  #创建元祖,或将可迭代序列转换为元祖

tup = tuple()
print(tup)    #打印:()
tmp = "name"
li = ["name", "age", 1025]
tmp = tuple(tmp)
li = tuple(li)
print(tmp)    #打印:('n', 'a', 'm', 'e')
print(li)    #打印:('name', 'age', 1025)

 dict()  #创建字典

dic = dict()
print(dic)    #打印:{}

 set()  #创建无序、不可重复集合;使用可迭代序列创建新的集合

se = set()
print(se)  # 打印: set()
tmp = "name"
li = ["name", "age", 1025]
dic = {"name": "alex", "age": 17, 1025: "id"}
tmp = set(tmp)
li = set(li)
dic = set(dic.items())
print(tmp)  # 打印: {'n', 'e', 'm', 'a'}
print(li)  # 打印: {'age', 'name', 1025}
print(dic)  # 打印: {('name', 'alex'), ('age', 17), (1025, 'id')}

 type()  #查看类型

tmp = "name"
li = ["name", "age", 1025]
dic = {"name": "alex", "age": 17, 1025: "id"}
se = {"name", "age", 1025}
print(type(tmp))  # 打印: <class 'str'>
print(type(li))   # 打印: <class 'list'>
print(type(dic))  # 打印: <class 'dict'>
print(type(se))   # 打印: <class 'set'>

 

进制转换

 int()  #使用int(),将其他进制转换为十进制

#将其他进制转换为十进制
num_b = int("0b10000000000",base=2)  #二进制
num_o = int("0o200",base=8)  #八进制
num_h = int("0x40",base=16)  #十六进制
print(num_b)  # 打印: 1024
print(num_o)  # 打印: 128
print(num_h)  # 打印: 64

 bin()  #二进制

 oct()  #八进制

 hex()  #十六进制

#十进制转换为二进制、八进制、十六进制
num_b = bin(1024)
num_o = oct(1024)
num_h = hex(1024)
print(num_b)  # 打印: 0b10000000000
print(num_o)  # 打印: 0o2000
print(num_h)  # 打印: 0x400

  

获取变量、索引、哈希值

 globals()  #获取全局变量

 locals()  #获取局部变量

 slice()  #接收一个对象,获取索引

 hash()  #获取哈希值

反射使用

 delattr()

 hasattr() 

 getattr()  

 setattr()

排序

 sorted()  

#对可迭代序列排序,返回新的列表,默认顺序;

#参数reverse=True,倒序

tup = (1, 3, 2, 123, 4, 24, 15)
#顺序
tmp = sorted(tup)
print(tmp)    #打印:[1, 2, 3, 4, 15, 24, 123]

#倒序
tmp = sorted(tup, reverse=True)
print(tmp)    #打印:[123, 24, 15, 4, 3, 2, 1]

 

判断参数

 all()  #判断参数是否为真,参数中每个元素都为True,返回True;否则返回False

tmp = all([True , True , False])
print(tmp)    #打印:False

 any()  #判断参数是否为真;参数中有一个元素为True,返回True;否则返回False

tmp = any([True, False, False])
print(tmp)    #打印:True

 filter()  #遍历可迭代的参数,获取每个元素,返回符合条件的元素

# filter(func , iterable)
def func(p):
    if p > 22:
        return True
    else:
        return False
ret = filter(func, [11, 22, 33, 44])
for i in ret:
    print(i)
#打印:33,44 

 map()  #将参数2传入,参数1的方法中处理,并返回处理结果

#map(func , iterable)
def func(p):
    return p + 100
ret = map(func, [1, 2, 3, 4, 5])
for i in ret:
    print(i)
#打印结果:101、102、103、104、105

 

查找父类、子类、判断是否为该类的对象

 super()  #找到父类

 issubclass()  #判断是否是子类

 isinstance()  #判断是否为该类的对象

 

内存地址

 id()  #查看变量指向的内存地址

num = 123
tmp = "hello"
print(id(num))    #打印:4297541856
print(id(tmp))    #打印:4315382536 

 memoryview()

 

打印、输入

 print()  #屏幕打印

print("hello,world")    #打印:hello,world
print(1234567)    #打印:123456

 input()  #屏幕输入 

tmp = input("请输入: ")
print(tmp)
#屏幕显示:
#请输入:123(输入内容)
#打印:123

 

 

打开文件

 open()  #打开一个文件

 #打开模式为:

 # r  只读模式,不可写;写操作报错

 # w 只写模式,不可读:文件不存在,创建;文件存在,清空文件内容

 # x 只写模式,不可读;文件不存在,创建;文件存在,报错

 # a 追加模式,不可读;文件不存在,创建;文件存在,行尾追加内容

 #+ 表示可以读写:r+ 为:先读再写;w+、x+、a+ 为:先写再读 

 #二进制模式打开:

 #rb、wb、xb、ab 或 r+b、w+b、x+b、a+b   

 #读取到的内容为字节类型,写入时需要以字节类型写入

# open("filename", "mode", encoding="")
file_ = open("log.log","r",encoding="utf-8")

 #为了避免打开文件后忘记关闭,通过with管理。with代码块执行完毕,内部自动关闭,释放文件资源 

# 打开一个文件
with open("filename", "r") as f:
    pass

# 打开两个文件
with open("filename", "r") as f1, open("fi", "w") as f2:
    pass

 

迭代器、对可迭代进行加key、生成序列

 iter()  #返回可迭代序列的每个元素

 next()  #获取可迭代序列的每个元素

tmp = iter("abcdef")
print(next(tmp))    #打印: a
print(next(tmp))    #打印: b
print(next(tmp))    #打印: c
print(next(tmp))    #打印: d
print(next(tmp))    #打印: e

 enumerate()  #为可迭代序列加key

li = ["name" , "age" , "gender"]
for k,v in enumerate(li , 1):
    print(k,v)
#打印:
#1 name
#2 age
#3 gender

 range()  #生成整型序列

for i in range(1,10):   #生成从1到9的序列
    print(i)
for i in range(10):     #生成从0到9的序列
    print(i)
for i in range(1,10,2): #从1开始,每次增加2,最大不超过10
    print(i)    #打印: 1 3 5 7 9


 

翻转

 reversed()  #翻转可迭代序列,返回reverse类型的可迭代序列

tmp = "abcdefgh"
tmp_r = ""
for i in reversed(tmp):
    tmp_r += i
print(tmp_r)    #打印:hgfedcba

tmp = ["abc","def","gh"]
tmp_r = []
for i in reversed(tmp):
    tmp_r.append(i)
print(tmp_r)    #打印: ['gh', 'def', 'abc']

 

ascii码相关

 # ascii码,使用一个字节表示;占8位;2**8(256)种组合

 # A-Z:65-90  a-z:97-122

 chr()  #输出数字代表的字符

 ord()  #输出字符的ascii码

print(chr(65))    #打印:A
print(ord('a'))    #打印:97

 

 

是否可执行,编译可执行代码,执行字符串形式的代码

 callable()  #判断是否为可执行 

 compile()  #将字符串编译成可执行代码

 exec()  #执行字符串形式的py代码

 

posted @ 2016-05-10 16:32  阿金study  阅读(103)  评论(0)    收藏  举报