Python_Tips】的更多相关文章

偏函数 / Partial Function 使用偏函数可以对函数的部分预先知道的参数进行冻结,从而缓存函数参数,而在运行时再释放参数进行使用.所以偏函数适用于需要多次调用同样一个函数且其中一个参数固定已知的情况下. 偏函数的使用方式主要如下, import time from functools import partial as pto def add(a, b): return a+b pto_add = pto(add, 1) print(add(1, 2)) print(pto_add…
关于 import 1 import import可用于导入一个Python的标准模块,包括.py文件或带有__init__.py的文件目录. 在Python中,import一个模块后,若再次import该模块,不会重新加载指定模块,而是把该模块的内存地址给引用到本地环境变量.即其id是相同的. 首先定义一个foo模块 print('This is foo') def act(): print('This is foo function: act') 然后在另一个模块中导入foo, import…
利用 Python 的字典实现 Switch 功能 Python是没有switch语句的,当遇到需要实现switch语句的功能时,一般可以用if/else进行代替,但是还有一种更加简洁的实现方法,利用字典进行实现,将需要选择的条件设为字典的键,选择的结果设为值,通过字典键索取值的方式实现switch的功能. def hello(): print('Hello!') def world(): print('World!') d = {'Hello': hello, 'World': world}…
函数延后估值及字节码分析 在一个循环中定义了函数 f 但是并未对其进行调用,在循环结束后调用,此时i值为3故最终3个函数输出均为9.而非1, 4, 9. 这是由于在定义闭包函数 f 时,传入变量 i,而在循环结束后才调用函数,此时的 i 已为 3,下面使用字节码来查看并论证这一运行顺序. import dis def count(): fs = [] for i in range(1,4): def f(): return i*i fs.append(f) return fs def run()…
排序函数 / Sort Function list自带的sort函数可以实现对列表的排列功能,具有同样功能的还有sorted函数. 基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的.sort函数是基于原有的列表进行修改,因此若是需要备份原始列表则可以通过列表的切片实现(若是直接赋值则被赋值列表会跟随原始列表变化). # List built-in function, sort x = [4, 2, 5, 3, 8, 3]…
and和or / and & or 对于and和or,可以连接多个值,其分别遵循原则: 全是 And: 返回第一个遇到的无效值,若全有效,返回最后一个有效值 全是 Or: 返回第一个遇到的有效值,若全无效,返回最后一个无效值 混用 And & Or: 优先对所有 and 进行计算,随后计算所有 or,计算规则同上. print(0 or '' or None) # None # Equal to (1 and 0) or (3 and 2 and 4) or (None and 5) 可以…
可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para 由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一次的参数时,通常会在函数外部进行初始化操作,较为不便. 但是在Python中,可以利用可变参数作为函数的形参默认值来实现这一功能, 完整代码 # n is mutable def foo_1(x, n=[]): print(id(n)) n += [x] print(id(n)) print(n)…
is和==的区别 / Difference between is and == 对于Python的对象来说,具有id/type/value三种特性,而在判断两个相等的is和==中,分别是对对象的id和value进行判断,以下例子可以看出两者的不同之处, x = [1, 2, 3] y = [1, 2, 3] z = x print('x id is %d, y id is %d, z id is %d' % (id(x), id(y), id(z))) # x id is 52275016, y…
Python绝对路径与相对路径读写文件[上级目录: os.path.dirname(os.getcwd())] # coding:utf8 ''' 知识点:Python读写文件时候的相对路径与绝对路径 准备工作:先在同级目录下写一个test.txt文件,里面写汉字.字母.数字 ''' ''' 一.用绝对路径读写 ''' # 第一种 with open() [推荐] with open('C:\\Users\\Administrator\\desktop\\test.txt','r') as f:…
>>> Blog 随笔原始文档及源代码 -> github: https://github.com/StackLike/Python_Note >>> 统计信息 -> 随笔总篇数: 108 随笔总字数: 181,218 </2017><2018> 随笔字数: 3,461 发布时间: 2018-01-01 00:00 Python_Tips[0] -> 关于 import 随笔字数: 484 发布时间: 2018-01-04 14…