1.内置函数补充

callable(object)
检查对象object是否可调用
1、类是可以被调用的
2、实例是不可以被调用的,除非类中声明了__call__方法

def f1():print("test")f2 = "test"print(callable(f1))
print(callable(f2))

True
False

chr(i)
返回整数i对应的ASCII字符

print(chr(81))

print(chr(81))

odr(c)
参数c是一个ascii字符,返回值是对应的十进制整

print (ord('b'))

print (ord('b'))

随机验证码

import random
li = []
for i in range(5):temp = random.randrange(65,91)c = chr(temp)li.append(c)result = "".join(li)
print(result)

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

版本:在python2.3、2.6、2.7、3.2中均有不同,使用时要引起注意,兼容python3

英文说明:

Compile the source into a code or AST object. Code objects can be executed by an exec statement or evaluated by a call to eval(). source can either be a string or an AST object. Refer to the ast module documentation for information on how to work with AST objects.
The filename argument should give the file from which the code was read; pass some recognizable value if it wasn’t read from a file ('' is commonly used).
The mode argument specifies what kind of code must be compiled; it can be 'exec' if source consists of a sequence of statements, 'eval' if it consists of a single expression, or 'single' if it consists of a single interactive statement (in the latter case, expression statements that evaluate to something other than None will be printed).
The optional arguments flags and dont_inherit control which future statements (see PEP 236) affect the compilation of source. If neither is present (or both are zero) the code is compiled with those future statements that are in effect in the code that is calling compile. If the flags argument is given and dont_inherit is not (or is zero) then the future statements specified by the flags argument are used in addition to those that would be used anyway. If dont_inherit is a non-zero integer then the flags argument is it – the future statements in effect around the call to compile are ignored.
Future statements are specified by bits which can be bitwise ORed together to specify multiple statements. The bitfield required to specify a given feature can be found as the compiler_flag attribute on the _Feature instance in the future module.
This function raises SyntaxError if the compiled source is invalid, and TypeError if the source contains null bytes.
Note When compiling a string with multi-line code in 'single' or 'eval' mode, input must be terminated by at least one newline character. This is to facilitate detection of incomplete and complete statements in the code module.
Changed in version 2.3: The flags and dont_inherit arguments were added.
Changed in version 2.6: Support for compiling AST objects.
Changed in version 2.7: Allowed use of Windows and Mac newlines. Also input in 'exec' mode does not have to end in a newline anymore.

exec(r)
执行python代码,接收:代码或者字符串

exec(print("test"))

eval(s)
执行表达式,并且获取结果

eval(7*8)

dir(class)
快速查看,对象提供了哪些功能

dir(dict)

help(class)
获取帮助

help(dict)

divmod(d,d)
共:97,每页显示10条,需要多少页

n1 n2 = divmod(97, 10)

isinstance(instance,class)
用于判断,对象是否是类的实例

s = "test"
print(isinstance(s, str))

filter(函数, 可迭代对象)
循环第二个参数,让每个循环元素执行函数,如果函数返回值为True,则元素是合法的。

li = [ 1, 2, 3, 4 ]
ret = filter(None, li)
print(list(ret))

lamda()
默认返回结果为返回值

map(函数,可迭代的对象(可以for循环的东西))
可迭代对象每个元素应用到函数中,返回结果为列表。

filter() #函数返回True,将元素添加到结果中
map() #将函数返回值添加到结果中

globals()
所有的全局变量
locals()
所有的局部变量

hash(s)
转换成hash值,一般用于字典的key

len(s)
返回一个对象的长度

s = "字符"
print(len(s))
b = bytes(s, encoding = "utf-8")
print(len(b))

max([list])
返回列表中的最大值

li = [11, 22, 33]
r = max([li])

zip()
将列表的每列值组成一个无组

x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print xyz

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

2.Alex鸡汤

推荐书:《林达看美国》

json.loads(s)
将一个字符串,转换成python的基本数据类型,字符串形式的字典必须是双引号引用key value

3.装饰器

装饰器,我的理解是在不影响原函数的情况下(包括执行过程,返回结果,返回值等),增加其它功能(原函数前或后),即达到在不修改原代码的前提下,实现增加的功能。

所以,其优点有:

1.代码修改量小,不影响原函数内部逻辑等;

2.不修改原函数代码,避免原功能因代码语法性错误;

3.灵活性强,在需要增加功能的函数前加简单代码就行;

#def outer(func):
#    print(123,func)
#def outer(func):
#    return "111"
def outer(func):def inner(*args,**kwargs):    #支持不定传参print("before")r = func(*args,**kwargs)    #返回原函数返回值return r        #返回原函数返回值print("after")return inner# @ + 函数名
# 功能:
#    1. 自动执行outer函数并且将其下面的函数名f1当作参数传递
#    2. 将outer函数的返回值,重新赋值给f1

@outer
def f1():print("F1")

转载于:https://blog.51cto.com/ygqygq2/1873721

Python学习记录day4相关推荐

  1. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  2. 【Python学习记录】Numpy广播机制(broadcast)

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...

  3. Python学习记录——英文名修改成标准格式

    Python学习记录--英文名修改成标准格式 功能需求 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', ...

  4. python学习记录——容器篇

    容器 字符串 下标(索引) # 下表也称为是索引,是一个整型数字,可以是正数,也可以是负数 # 正数下标是从0开始的,表示第一个字符,-1表示最后一个字符 my_str = 'hello'h e l ...

  5. Python学习记录day6-反射、常用模块

    Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...

  6. Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)

    一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...

  7. 蜗牛一步一步地往上爬的Python学习记录

    Python学习记录 前言 简介 基础知识 类型变量 高级特性 函数式编程 高阶函数 偏函数 装饰器decorator 匿名函数 前言 第一,绝对不断更: 第二,绝对认真写: 第三,绝对撰写的公正漂亮 ...

  8. Python学习记录:shapefile.Writer报错

    Python学习记录 shapefile.Writer报错 w=shapefile.Writer(r.shapeType)使用时报错 Exception: The target filepath 5 ...

  9. Python学习记录(一)PIL库对于图像操作方法的简单整理

    Python学习记录(一)PIL库对于图像操作方法的简单整理 首先对PIL库进行一个简单的介绍:Python图像库PIL(Python Image Library)是python的第三方图像处理库,由 ...

最新文章

  1. mysql char varchar text 对比
  2. 减少代码中该死的 if else 嵌套
  3. 文件或目录权限chmod,更改所有者和所属组chown ,umask的使用 ,隐藏权限的使用 lsattr,chattr...
  4. conda 指定版本python_conda Pyhon版本切换
  5. 带t2芯片的mac装linux,Macbook Air 2018(包含T2芯片)安装Precision Touchpad触摸板驱动...
  6. 图标和文字跟着div比例放大缩小_电脑桌面图标变大了?与这3个原因有关,修改后可恢复...
  7. mysql 主从 sql线程no_Mysql 主从同步 slave_sql_running 为no
  8. PhpSpreadsheet 电子表格(excel) PHP处理笔记
  9. ls -l 显示年份
  10. 硬件工程师的基本技能
  11. 《运营之光》-- 学习笔记(四)
  12. 【scrapy】学习Scrapy入门
  13. java枚举比较大小写_字符串与Java枚举的不区分大小写的匹配
  14. 在计算机中添加用户名和密码是多少,在win7系统中添加网络打印机提示输入用户名和密码的解决方案...
  15. 环境与设备监控计算机套定额,第三章建筑设备监控系统安装工程定额.doc
  16. 数据结构:链队列的基本操作(C语言实现)
  17. 内存管理中的虚拟地址到物理地址翻译
  18. Android渐变遮罩
  19. 3、mysql表的操作
  20. 变速积分PID控制算法

热门文章

  1. [转载]全金属外壳——坦克遥控高射机枪
  2. php函数设置默认值,php函数如何设置默认值作为对象?
  3. python高阶函数闭包装饰器_Python_基础_(装饰器,*args,**kwargs,高阶函数,函数闭包,函数嵌套)...
  4. 密码的复杂化#个人隐私保护系列#
  5. VMware虚拟机直连物理网络的两种方式
  6. Swift3.0语言教程字符串与URL的数据转换与自由转换
  7. Kail Linux渗透测试教程之免杀Payload生成工具Veil
  8. Playmaker全面实践教程之简单的使用Playmaker示例
  9. 认识AndEngine选自Android 2D游戏引擎AndEngine快速入门教程
  10. python脚本控制手机app_Python+Appium学习之启动手机APP或者浏览器