python之路 内置函数,装饰器

一、内置函数

#绝对值
abs()
#所有值都为真才为真
all()
#只要有一个值为真就为真
any()
#10进制转成二进制
bin()
#10进制转成八进制
oct()
#10进制转成十六进制
hex()
#布尔值
bool()
#字符转换成字节
bytes()
#字节转换成字符
str()

#对文件的操作
open()
#基本流程
#打开文件
op_file=open("file name","rwb+")
#操作文件
op_file.operation()
#关闭文件
op_file.close()

#检查函数是否可以被调用
callable()
#通过字节数查找Ascii中的字符
chr()
#通过Ascii中的字符查找字节
ord()
#随机数函数
random()
#把字符串编译成Python代码
compile()
#接收字符串,讲字符串当成表达式,有返回值
eval()
#执行Python代码,没有返回值
exec()
#快速获取对象提供的功能
dir()
#快速获取帮助
help()
#分页函数
divmod()
#判断对象为谁的实例是否为真
isinstacnce()
#函数返回值True,讲元素添加到结果中
filter()
#将函数返回值添加到结果中
map()
#不可变集合(未讲到)
frozenset()
#变为浮点数
float()
#所有全局变量都放在globals中
globals()
#所有局部变量都放在locals中
locals()
#生成hash值,把对象转换成hash值,一般用于字典中的key
hash()
#求最大值
max()
#求最小值
min()
#求和
sum()
#查看内存地址
memoryview()
#求次方
pow()
#范围函数
range()
#反转函数
reversed()
#四舍五入
round()
#切片
slice()
#排序
sorted()
#判断对象是什么类型
type()
#将不同元素的列表或元组(有序的)索引相同的组合成一个元祖,如果索引有差异则不显示
zip()

1、abs

1 #数字的绝对值
2 >>> abs(-100)
3 100
4 >>> abs(100)
5 100

2、bool

1 #判断是真是假
2 >>> bool(0)
3 False
4 >>> bool(1)
5 True
6 >>> bool(2)
7 True
8 >>> bool("")
9 False

3、all

1 #所有为真才为真
2 >>> all(‘123‘)
3 True
4 >>> all([0, 1])
5 False
6 >>> all([1, 2])
7 True

4、any

1 #有一个为真即为真
2 >>> any(‘123‘)
3 True
4 >>> any([0, 1])
5 True
6 >>> any([0, ‘‘])
7 False

5、bin

#0b表示10进制
>>> bin(10)
‘0b1010‘

6、oct

1 #0o表示10进制
2 >>> oct(10)
3 ‘0o12‘

7、hex

1 #0x表示16进制
2 >>> hex(10)
3 ‘0xa‘

8、bytes

#将字符转换成字节
>>> bytes("你好世界",encoding="utf-8")
b‘\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c‘

9、str

#将字节转换成字符串
>>> str(b‘\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c‘,encoding="utf-8")
‘你好世界‘

10、callable

1 >>> import tab
2 >>> def foo():
3 ...     print("allright")
4 ...
5 #判断示例函数可否被调用
6 >>> callable(foo)
7 True

11、chr

1 #常用大写字母 ascii A-Z uncode 65-90
2 #常用小写字母 ascii a-z uncode 97-122
3 #常用数字 ascii 0-9  uncode 48-57
4 >>> chr(65)
5 ‘A‘
6 >>> chr(90)
7 ‘Z‘

12、ord()

1 #常用大写字母 ascii A-Z uncode 65-90
2 #常用小写字母 ascii a-z uncode 97-122
3 #常用数字 ascii 0-9  uncode 48-57
4 >>> ord("A")
5 65
6 >>> ord("Z")
7 90

13、random()

1 >>>import random
2 #在指定的范围内产生随机数
3 >>> random.randrange(20,40)
4 29
5 >>> random.randrange(20,40)
6 37

14、compile()

 1 >>> string="print(123)"
 2 #将字符串编译成Python代码(后面为固定格式)
 3 #编译格式"exec"(编译成Python代码)、"eval"(编译成表达式)、"single"(通常为当行程序)
 4 >>> result=compile(string,"<string>","exec")
 5 >>> print(string)
 6 print(123)
 7 >>> print(result)
 8 <code object <module> at 0x7fd1ee9aa660, file "<string>", line 1>
 9 #编译成Python代码后使用exec执行
10 >>> exec(result)
11 123
12 #编译成Python代码后使用eval执行
13 >>> eval(result)
14 123

15、eval()

1 #与exec的区别在与eval有返回值
2 #eval() arg 1 must be a string, bytes or code object
3 >>> result=eval("8*8")
4 >>> print(result)
5 64

16、dir()

1 #获取str可以的使用的方法
2 >>> print(dir(str))
3 [‘__add__‘, ‘__class__‘, ‘__contains__‘, ‘__delattr__‘, ‘__dir__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘ ****** ‘title‘, ‘translate‘, ‘upper‘, ‘zfill‘]
4  

17、help()

 1 #获取字符串replace的用法
 2 >>> help(str.replace)
 3
 4 Help on method_descriptor:
 5
 6 replace(...)
 7     S.replace(old, new[, count]) -> str
 8
 9     Return a copy of S with all occurrences of substring
10     old replaced by new.  If the optional argument count is
11     given, only the first count occurrences are replaced.
12
13 #使用q退出

18、divmod()

1 #获取余数(除数,被除数)
2 >>> ret1,ret2=divmod(100,10)
3 >>> print(ret1,ret2)
4 10 0

19、isinstance()

1 >>> string="yorick"
2 #判断对象是谁的实例是否为真
3 #判断string是不是一个字符串
4 >>> isinstance(string,str)
5 True

20、filter()

 1 >>> def foo(arg):
 2 ...     if arg > 22:
 3 ...         return True
 4 ...
 5 >>> n_list=[11,22,33,44,55]
 6 #函数返回值True,将元素添加到结果中
 7 >>> result=filter(foo,n_list)
 8 #python3.0经过调优,不直接将结果输出出来,防止操作的内容过多
 9 >>> print(result)
10 <filter object at 0x7f76f259a4a8>
11 >>> print(list(result))
12 [33, 44, 55]
13
14 #使用lambda表达式
15 >>> n_list=[11,22,33,44,55]
16 >>> result = filter(lambda par: par > 22,n_list)
17 >>> print(list(result))
18 [33, 44, 55]

21、map()

>>> n_list=[11,22,33,44,55]
>>> def foo(arg):
...     return arg + 100
...
#将返回的结果添加到result中组成一个列表
>>> result = map(foo,n_list)
>>> print(list(result))
[111, 122, 133, 144, 155]

>>> n_list=[11,22,33,44,55]
>>> def foo(arg):
...     return False
...
#将返回的结果添加到result中组成一个列表
>>> result = map(foo,n_list)
>>> print(list(result))
[False, False, False, False, False]

22、float()

 1 >>> string="65.20"
 2 #将字符转换成浮点型
 3 >>> float(string)
 4 65.2
 5 >>> type(float(string))
 6 <class ‘float‘>
 7 >>> type(string)
 8 <class ‘str‘>
 9
10 >>> string=5
11 >>> type(string)
12 <class ‘int‘>
13 #将整数型转换成浮点型
14 >>> float(string)
15 5.0
16 >>> print(type(float(string)))
17 <class ‘float‘>

23、globals()、locals

>>> def foo():
...     n_list=[1234567]
...     print("This is Begin Globals".center(40,"-"))
#打印全局变量
...     print(globals())
...     print("This is Begin locals".center(40,"-"))
#打印局部变量
...     print(locals())
...
>>> foo()
---------This is Begin Globals----------
{‘string‘: 5, ‘tab‘: <module ‘tab‘ from ‘/usr/local/python3.5/lib/python3.5/site-packages/tab.py‘>, ‘result‘: <map object at 0x7f76f259a550>, ‘__spec__‘: None, ‘__package__‘: None, ‘n_list‘: [11, 22, 33, 44, 55], ‘foo‘: <function foo at 0x7f76f256e9d8>, ‘__builtins__‘: <module ‘builtins‘ (built-in)>, ‘__name__‘: ‘__main__‘, ‘__loader__‘: <class ‘_frozen_importlib.BuiltinImporter‘>, ‘__doc__‘: None}
----------This is Begin locals----------
{‘n_list‘: [1234567]}

24、hash()

1 #较多应用为字典的key值
2
3 #获取单个字符的hash值
4 >>> hash("a")
5 -6417969680733924203
6
7 #获取长度较长的hash值
8 >>> hash("sssssssssssssssssssssssssssssssssssssssssssssssssssssss")
9 1067091481945040275

25、max()、min()、sum()

 1 #注意:必须为数字
 2 #max比较一个可迭代的序列中的最大值
 3 >>> max(11,222,3344,555)
 4 3344
 5 >>> max([11,2233,44,5566,664,23])
 6 5566
 7
 8 #min比较一个可迭代的序列中的最小值
 9 >>> min(11,222,3344,555)
10 11
11 >>> min([11,2233,44,5566,664,23])
12 11
13
14 #sum将一个可迭代的序列求和[不能再sum()语法中添加过多的对象]
15 >>> sum((11,22,33,44))
16 110
17 >>> sum([11,22,33,44])
18 110
19 >>> sum({11,22,33,44})
20 110

26、pow

1 >>> pow(2,10)
2 1024
3 >>> 2**10
4 1024

27、range()

 1 #默认起始位置为0
 2 >>> for i in range(10):
 3 ...     print(i)
 4 ...
 5 0
 6 1
 7 2
 8 3
 9 4
10 5
11 6
12 7
13 8
14 9

28、reversed()

1 >>> o_list=["11","22","33","44","55"]
2 >>> o_list
3 [‘11‘, ‘22‘, ‘33‘, ‘44‘, ‘55‘]
4 >>> n_list=reversed(o_list)
5 >>> n_list
6 <list_reverseiterator object at 0x7f76f259a630>
7 >>> print(list(n_list))
8 [‘55‘, ‘44‘, ‘33‘, ‘22‘, ‘11‘]

29、round()

1 #5舍去
2 >>> round(4.5)
3 4
4 #6入
5 >>> round(4.6)
6 5

30、sorted()

1 >>> o_list=["Eric","Yorick","Alex","Bill"]
2 >>> o_list
3 [‘Eric‘, ‘Yorick‘, ‘Alex‘, ‘Bill‘]
4 >>> n_list=sorted(o_list)
5 >>> n_list
6 [‘Alex‘, ‘Bill‘, ‘Eric‘, ‘Yorick‘]

31、type()

1 #判断对象的类型
2 >>> foo1="string"
3 >>> foo2="123"
4 >>> foo3=12345
5 >>> foo4={1:"2015"}
6 >>> type(foo1),type(foo2),type(foo3),type(foo4)
7 (<class ‘str‘>, <class ‘str‘>, <class ‘int‘>, <class ‘dict‘>)

32、zip()

1 >>> list1=["Yorick","223123**12323123","xxx"]
2 >>> list2=["is","123213*231231","oooo"]
3 >>> list3=["God","89898989*898989","xxxxx"]
4 #将不同元素的列表或元组(有序的)索引相同的组合成一个元祖,如果索引有差异则不显示
5 >>> print(list(zip(list1,list2,list3)))
6 [(‘Yorick‘, ‘is‘, ‘God‘), (‘223123**12323123‘, ‘123213*231231‘, ‘89898989*898989‘), (‘xxx‘, ‘oooo‘, ‘xxxxx‘)]

二、装饰器

def outer(func):
    def inner():
        print(‘log‘)
        return func()
    return inner

@outer
def f1():
    print(‘f1‘)

@outer
def f2():
    print(‘f2‘)

@outer
def f3():
    print(‘f3‘)
#自动执行outer函数并且将其下面的函数名f1当做参数传递#将outer函数的返回值,重新赋值给f1
def outer(func):
    def inner(*args,**kwargs):
        print(‘before‘)
        r = func(*args,**kwargs)#func==老的f1
        print(‘after‘)
        return r #获取f1的返回值
    return inner

@outer
def f1(*args,**kwargs):
    print(‘aaaa‘)
    return ‘是是是‘
时间: 2024-12-29 07:21:57

python之路 内置函数,装饰器的相关文章

python之路——内置函数与匿名函数

内置函数 python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这些函数有些我们已经用过了,有些我们还没用到过,还有一些是被封印了,必须等我们学了新知识才能解开封印的.那今天我们就一起来认识一下python的内置函数.这么多函数,我们该从何学起呢? 上面就是内置函数的表,68个函数都在这儿了.这个表的顺序是按照首字母的排列顺序来的,你会发现都混乱的堆在一起.比如,oct和bin和hex都

python 内置函数 装饰器

一.内置函数 1.compile compile(source, filename, mode[, flags[, dont_inherit]]) 用来编译一段字符串的源码,结果可以生成字节码或者AST(抽像语法树),字节码可以使用函数exec()来执行,而AST可以使用eval()来继续编译. >>> str = "for i in range(0,10): print(i)" >>> c = compile(str,'','exec') >

内置函数 装饰器

内置函数:callable() 判断是否可以被调用chr(65)--A ord('B')--66r = compile(s,"<string>","exec")--把一个字符串编译成python代码exec(r )只执行没有返回值ret = eval()--拿到字符串转成表达式执行并返回结果,能执行有返回值dir()-快速查看,对象提供了哪些功能help()-读源码divmod()--得商得余 返回一个元组isinstance()--判断对象是否是某个类

百万年薪python之路 -- 内置函数二 -- 最常用的内置函数

1.内置函数 1.1 匿名函数 匿名函数,顾名思义就是没有名字的函数(其实是有名字的,就叫lambda),那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 现在有一个需求:你们写一个函数,此函数接收两个int参数,返回 和的值. def func(a,b): return a+b print(func(3,4)) 那么 接下来我们用匿名函数完成上面的需求: func = lambda a,b: a+b print(func(3, 4)) # 7

Python之路----------内置函数

1.abs(x)绝对值 1 #coding=utf-8 2 a = 1 3 b = -2 4 print(abs(a)) 5 print(abs(b)) 2.all(iterable)可迭代对象里面所有内容为真返回真,空列表返回真 1 #非0就是真 2 l = [1, 2, 3, 4, 5, 6, -1, -2, 'a'] 3 print(all(l))#True 4 l = [1, 2, 3, 4, 5, 6, 0, -2, 'a'] 5 print(all(l))#False 6 l = [

Day04 内置函数 装饰器

数学相关: abs() 返回一个值的绝对值 complex 创建一个复数 divmod() 分别取商和余数 eg:divmod(8,2) (4,0) pow() 幂运算 eg:pow(2,3) 返回8 round() 四舍五入 max() 返回最大值 eg:max(22,1,33,4) 33 min() 返回最小值 eg:min(22,1,33,4) 1 sum() 求和 eg:sum([22,1,33,4]) 60 all() 所有的为真则返回真 any() 有一个为真则返回真 功能相关: c

python中的内置函数getattr()

在python的官方文档中:getattr()的解释如下: getattr(object, name[, default]) Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For examp

python学习交流 - 内置函数使用方法和应用举例

内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函数相比于用户自己定义函数实现相同功能,在执行效率和对内存的分配和使用上是要更加理想的.所以理解和熟练运用python中的内置函数,不仅可以增强代码的可读性,同时也可以提升代码的品质.下面对内置函数的使用方法进行分类介绍,以方便归纳理解. 一.查看作用域中变量相关 global () 功能:查看全局作

python之枚举--内置函数-enumerate()

python之枚举 内置函数 enumearate() enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 enumerate多用于在for循环中得到计数 enumerate()使用 如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写: list=["这","是","一个