分享

【Python之路】特别篇

 highoo 2019-03-20

 

abs()  求绝对值

1
2
3
4
i = abs(-100)
print(i)
# 100

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

1
2
3
4
ret = all([True,1,])
print(ret)
# True

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

1
2
3
4
ret = any([0,False,'',{},1])
print(ret)
# True

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

1
2
3
4
5
6
7
8
9
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进制 => 十六进制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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类型

1
2
3
4
b = bool(None)
print(b)
# False

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

1
2
3
4
b = bytes('中国',encoding="utf-8")
print(b)
# b'\xe4\xb8\xad\xe5\x9b\xbd'

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

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

1
2
3
4
a = chr(65)
print(a)
# A

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

1
2
3
4
a = ord('a')
print(a)
# 97

随机验证码应用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/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()  是否可执行

1
2
3
4
5
6
7
8
9
10
11
12
def f1():
    return True
c = callable(f1)
print(c)
b = 123
a = callable(b)
print(a)
# True
# False

classmethod()

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

View Code

complex()   创建复数

delattr()  点击此处

hasattr()  点击此处

setattr()  点击此处

getattr()  点击此处

dict()  创建字典

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

1
2
li = []
print(dir(li))

help()  查看详细帮助信息

1
print(help(list))

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

1
2
3
4
r = divmod(10,3)
print(r)
# (3, 1)

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

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

1
2
3
4
5
6
7
8
ret = eval(" 1 + 3 ")
print(ret)
a = eval(" a +60" , {"a":99} )
print(a)
# 4
# 159

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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()  所有数统一做一个操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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()  判断某个对象,是否由某个类创建

1
2
3
4
5
6
arg = ''
ret = isinstance(arg,str / list / tuple)
print(ret)
# True

issubclass()  判断是不是子类

len()  计算长度

iter()  创建可迭代对象

1
2
3
4
5
6
7
8
9
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()  求指数

1
2
3
print(pow(2,3))
# 8

property()    👉详情点击

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

reversed()  反转

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

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

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

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

sorted()  排序

staticmethod()

sum()  求和

1
2
3
4
r= sum([11,22,33,44])
print(r)
# 110

super()  找到父类

type()  查看类型

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

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

1
2
3
4
5
6
7
8
9
10
11
12
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__()  导入模块

1
2
3
4
5
6
7
8
import dandom
random.randrange()
等于
r = __import__('random')
r.randrange()

 


 

排序  

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

1
2
3
4
5
li = [11,55,00,99,22,33,44]
new_li = sorted(li)
li = ['a' ,11,22]
li.sort()       #  只能同种类型 排序!!

 

 👉 官方文档~

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约