一、内置函数

#绝对值
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

 #数字的绝对值
>>> abs(-100)
100
>>> abs(100)
100

2、bool

 #判断是真是假
>>> bool(0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> bool("")
False

3、all

 #所有为真才为真
>>> all('')
True
>>> all([0, 1])
False
>>> all([1, 2])
True

4、any

 #有一个为真即为真
>>> any('')
True
>>> any([0, 1])
True
>>> any([0, ''])
False

5、bin

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

6、oct

 #0o表示10进制
>>> oct(10)
'0o12'

7、hex

 #0x表示16进制
>>> hex(10)
'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

 >>> import tab
>>> def foo():
... print("allright")
...
#判断示例函数可否被调用
>>> callable(foo)
True

11、chr

 #常用大写字母 ascii A-Z uncode 65-90
#常用小写字母 ascii a-z uncode 97-122
#常用数字 ascii 0-9 uncode 48-57
>>> chr(65)
'A'
>>> chr(90)
'Z'

12、ord()

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

13、random()

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

14、compile()

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

15、eval()

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

16、dir()

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

17、help()

 #获取字符串replace的用法
>>> help(str.replace) Help on method_descriptor: replace(...)
S.replace(old, new[, count]) -> str Return a copy of S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced. #使用q退出

18、divmod()

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

19、isinstance()

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

20、filter()

 >>> def foo(arg):
... if arg > 22:
... return True
...
>>> n_list=[11,22,33,44,55]
#函数返回值True,将元素添加到结果中
>>> result=filter(foo,n_list)
#python3.0经过调优,不直接将结果输出出来,防止操作的内容过多
>>> print(result)
<filter object at 0x7f76f259a4a8>
>>> print(list(result))
[33, 44, 55] #使用lambda表达式
>>> n_list=[11,22,33,44,55]
>>> result = filter(lambda par: par > 22,n_list)
>>> print(list(result))
[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()

 >>> string="65.20"
#将字符转换成浮点型
>>> float(string)
65.2
>>> type(float(string))
<class 'float'>
>>> type(string)
<class 'str'> >>> string=5
>>> type(string)
<class 'int'>
#将整数型转换成浮点型
>>> float(string)
5.0
>>> print(type(float(string)))
<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()

 #较多应用为字典的key值

 #获取单个字符的hash值
>>> hash("a")
-6417969680733924203 #获取长度较长的hash值
>>> hash("sssssssssssssssssssssssssssssssssssssssssssssssssssssss")
1067091481945040275

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

 #注意:必须为数字
#max比较一个可迭代的序列中的最大值
>>> max(11,222,3344,555)
3344
>>> max([11,2233,44,5566,664,23])
5566 #min比较一个可迭代的序列中的最小值
>>> min(11,222,3344,555)
11
>>> min([11,2233,44,5566,664,23])
11 #sum将一个可迭代的序列求和[不能再sum()语法中添加过多的对象]
>>> sum((11,22,33,44))
110
>>> sum([11,22,33,44])
110
>>> sum({11,22,33,44})
110

26、pow

 >>> pow(2,10)
1024
>>> 2**10
1024

27、range()

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

28、reversed()

 >>> o_list=["","","","",""]
>>> o_list
['', '', '', '', '']
>>> n_list=reversed(o_list)
>>> n_list
<list_reverseiterator object at 0x7f76f259a630>
>>> print(list(n_list))
['', '', '', '', '']

29、round()

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

30、sorted()

 >>> o_list=["Eric","Yorick","Alex","Bill"]
>>> o_list
['Eric', 'Yorick', 'Alex', 'Bill']
>>> n_list=sorted(o_list)
>>> n_list
['Alex', 'Bill', 'Eric', 'Yorick']

31、type()

 #判断对象的类型
>>> foo1="string"
>>> foo2=""
>>> foo3=12345
>>> foo4={1:""}
>>> type(foo1),type(foo2),type(foo3),type(foo4)
(<class 'str'>, <class 'str'>, <class 'int'>, <class 'dict'>)

32、zip()

 >>> list1=["Yorick","223123**12323123","xxx"]
>>> list2=["is","123213*231231","oooo"]
>>> list3=["God","89898989*898989","xxxxx"]
#将不同元素的列表或元组(有序的)索引相同的组合成一个元祖,如果索引有差异则不显示
>>> print(list(zip(list1,list2,list3)))
[('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 '是是是'

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

  1. python之路——内置函数和匿名函数

    阅读目录 楔子 内置函数 匿名函数 本章小结 楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们 ...

  2. Python 4 函数的参数,内置函数,装饰器,生成器,迭代器,

    一.函数的参数: 1.位置参数:调用函数时根据函数定义的参数位置来传递参数. 2.关键字参数:用于函数调用,通过“键-值”形式加以指定.可以让函数更加清晰.容易使用,同时也清除了参数的顺序需求. 3. ...

  3. python之路--内置函数, 匿名函数

    一 . 内置函数 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. 字符串类型代码的执⾏ eval() 执⾏字符串类型的代码. 并返回最终结果( ...

  4. Python之路----内置函数补充与匿名函数

    内置函数补充:reversed()保留原列表,返回一个反向的迭代器 l = [1,2,3,4,5] l.reverse() print(l) l = [1,2,3,4,5] l2 = reversed ...

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

    1.内置函数 1.1 匿名函数 匿名函数,顾名思义就是没有名字的函数(其实是有名字的,就叫lambda),那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话 ...

  6. 百万年薪python之路 -- 内置函数

    内置对象(68个)第一部分 内置函数一共68个 一些可以重要性不高的内置函数,只需了解即可 all() any() bytes() callable() chr() ord() complex() d ...

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

    1.abs(x)绝对值 #coding=utf-8 a = 1 b = -2 print(abs(a)) print(abs(b)) 2.all(iterable)可迭代对象里面所有内容为真返回真,空 ...

  8. python之路--内置函数03

    一 . 正则表达式 匹配字符串 元字符 . 除了换行 \w 数字, 字母, 下划线 \d 数字 \s 空白符 \n \t \b 单词的边界 \W 非xxx \D \S [ ] 字符组 or的关系 [^ ...

  9. 百万年薪python之路 -- 内置函数练习

    1.整理今天笔记,课上代码最少敲3遍. 2.用列表推导式做下列小题 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母 lst = [["a","b"],[ ...

随机推荐

  1. Spring @Transactional

    在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeExcep ...

  2. sqrt函数实现(神奇的算法)

    我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...

  3. 浅谈push推送的一点感受

    在手机已成为生活必不可分的一部分,push服务伴随而来.ios的apns,android随着谷歌退出中国市场,各家在android的推送不断展开.有厂商的推送,如小米.华为.魅族.oppo等,还有中间 ...

  4. TextFlow with JavaFX 2

    http://sahits.ch/blog/?p=2372 ———————————————————————————————————————————————————— TextFlow with Jav ...

  5. OpenCV中的SURF算法介绍

    SURF:speed up robust feature,翻译为快速鲁棒特征.首先就其中涉及到的特征点和描述符做一些简单的介绍: 特征点和描述符 特征点分为两类:狭义特征点和广义特征点.狭义特征点的位 ...

  6. Android Otto框架浅析

    今天要介绍的是一个Android中使用得比較多的android 事件总线 EventBus模式的一个框架Otto. Otto 官网:http://square.github.io/otto/ 一.An ...

  7. Linux 的字符串截取很有用。有八种方法。

    假设有变量 var=http://www.aaa.com/123.htm 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// ...

  8. EasyDSS流媒体服务器软件(支持RTMP/HLS/HTTP-FLV/视频点播/视频直播)-正式环境安装部署攻略

    EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...

  9. form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决

    form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决 一.问题: 页面输入框中的中文内容,在后台乱码,导致搜索功能失效:(详细可以见后面的重现) 二.原因: 浏览器对于数据的默认编码格式为 ...

  10. 巨蟒django之权限9:前端展示修改删除合并&&权限展示

    1.权限组件控制流程(硬核重点) 2.权限组件控制流程 3.角色管理 4.删除合并 5.权限展示