【Python之路】特别篇--Python内置函数

 

abs()  求绝对值

i = abs(-100)
print(i)

# 100

all()  循环里面的参数 如果每个元素都为真,那么all返回值为真   假: 0 False None "" [] {}  ( 0 None 空值 即为假! )

ret = all([True,1,])
print(ret)

# True

any()  只要其中一个为真,结果为真True.区别于all()

ret = any([0,False,'',{},1])
print(ret)

# True

ascii(对象)  从对象的类中找__repr__方法,并获取返回值

class Foo:
    def __repr__(self):
        return "hello"

obj = Foo()
r = ascii(obj)
print(r)

# hello

bin()   10进制 => 二进制

oct()   10进制 => 八进制

int()    2/8/10/16进制 => 十进制

hex()    10进制 => 十六进制

b = bin(10)
print(b)

o = oct(10)
print(o)

# 需要表明当前字符串表示的进制, 默认base=10
i = int('110',base=2)
print(i)

h = hex(10)
print(h)

# 0b1010
# 0o12
# 6
# 0xa

bool()  判断bool类型

b = bool(None)
print(b)

# False

bytes()  字符串 => 字节 的转换

b = bytes('中国',encoding="utf-8")
print(b)

# b'\xe4\xb8\xad\xe5\x9b\xbd'

bytearray()  字节列表 里面每一个元素为字节

chr()  返回对应ascii码的字符

a = chr(65)
print(a)

# A

ord()  返回对应字符的ascii码

a = ord('a')
print(a)

# 97

随机验证码应用

#!/usr/bin/env python
# -*-coding:utf-8 -*-


import random

temp = ''
for i in range(4):
    n = random.randrange(0, 4)
    if n == 1 or n == 3:
        rad = random.randrange(0, 10)
        temp += str(rad)
    else:
        rad = random.randrange(65, 91)
        temp += chr(rad)

print(temp)

callable()  是否可执行

def f1():
    return True

c = callable(f1)
print(c)

b = 123
a = callable(b)
print(a)

# True
# False

classmethod()

compile()  接收字符串并编译成函数

compile(source, filename, mode[, flags[, dont_inherit]])
#中文说明:将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。
#参数source:字符串或者AST(Abstract Syntax Trees)对象。
#参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
#参数model:指定编译代码的种类。可以指定为 ‘exec’,’eval’,’single’。

str = "3 * 4 + 5"
a = compile(str,'','eval')
eval(a)
View Code

complex()   创建复数

delattr()  点击此处

hasattr()  点击此处

setattr()  点击此处

getattr()  点击此处

dict()  创建字典

dir()   返回参数的属性、方法列表

li = []
print(dir(li))

help()  查看详细帮助信息

print(help(list))

divmod(a,b)  实现a 除以 b,然后返回商与余数的元组

r = divmod(10,3)
print(r)

# (3, 1)

enumerate()  遍历序列中的元素以及它们的下标

eval()  执行表达式 ,有返回值

ret = eval(" 1 + 3 ")
print(ret)

a = eval(" a +60" , {"a":99} )
print(a)

# 4
# 159

exec()  执行代码 ,没有返回值

exec("for i in range(10):print(i)")

filter(函数,可迭代对象)   过滤,筛选, 循环可迭代对象,获取每个参数,每个元素都执行函数, 如果函数返回True 则符合条件!

def f1(x):
    if x > 22:
        return True
    else:
        return False

ret = filter(f1,[11,22,33])

# filter(lambda x : x>22 ,  [11,22,33,44] )

for i in ret:
    print(i)

# 11
# 22
# 33

map()  所有数统一做一个操作

def f1(x):
    return x+100

ret = map(f1,[11,22,33])

# ret  = map(lambda x : x+100 ,  [11,22,33] )

print(ret)
for i in ret:
    print(i)

# <map object at 0x0000000003668278>
# 111
# 122
# 133
format()  字符串格式化

frozenset()

globals()  获取当前代码的所有全局变量

locals()  获取当前代码的所有局部变量

hash()

id()  获取内存地址

isinstance()  判断某个对象,是否由某个类创建

arg = ''
ret = isinstance(arg,str / list / tuple)

print(ret)

# True

issubclass()  判断是不是子类

len()  计算长度

iter()  创建可迭代对象

obj = iter([11,22,33,44])
r1 = next(obj)
print(r1)

r2 = next(obj)
print(r2)

#11
#22

next()

yield()    👉详情点击

max()  求最大值

min()  求最小值

memoryview()

object()

open()  文件操作 => 猛击这里

pow()  求指数

print(pow(2,3))

# 8

property()    👉详情点击

repr()  __repr__的返回值  同理ascii() , 但是 ascii()返回值,存在中文会转义

reversed()  反转

mylist = [5,4,3,2,1]
mylist.reverse()
print(mylist)

# [1, 2, 3, 4, 5]

round()  四舍五入、保留小数位数

print(round(3.8))
# 4
print(round(1.23456,2))
# 1.23

slice()  li[1:2] => __sliceitem__()

sorted()  排序

staticmethod()

sum()  求和

r= sum([11,22,33,44])
print(r)

# 110

super()  找到父类

type()  查看类型

vars()  查看一个对象中有多少个变量  =>  obj.__dict__

zip()  接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表

li1=[11,22,33,44]
li2=["aa","bb","C","b"]

r = zip(li1,li2)

for i in r:
    print(i)

# (11, 'aa')
# (22, 'bb')
# (33, 'C')
# (44, 'b')

__import__()  导入模块

import dandom

random.randrange()

等于

r = __import__('random')
r.randrange()

 


 

排序  

字符串排序  =>  数字 (按顺序 1 ,123 , 25 65 ) => 字母(ascii ) => 中文(16进制)

li = [11,55,00,99,22,33,44]
new_li = sorted(li)

li = ['a' ,11,22]
li.sort()		#  只能同种类型 排序!!

 

 👉 官方文档~

 

 

posted @ 2016-11-14 21:08  5_FireFly  阅读(399)  评论(0编辑  收藏  举报
web
counter