- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
python的学习和理解-编程技巧1讲解
把python里面的东西全部当成是对象看待!!!
文件名(模块名),不要包含横杠(横线)(-),而应该采用下划线(_)。因为import x-y是会报语法错误的。
lambda无名函数(特别的,lambda可以包裹任何东东,类似装饰器、适配器)
add?=?lambda?x,y?:?x?+?yprint(add(1,2)) lambda x: lambda y: print(‘test’) 根据序列构建str或bytes串的join方法(返回str或bytes)
fruits?=?[apple,?banana]???result?=?.join(fruits) 函数中定义函数
def fun1():
def fun1_1():
print(‘text’)
return fun1_1 函数、方法、类的装饰器用法:
因为“函数”、“方法”、“类”在python看来都是对象,所以,装饰器都可以将它们用作普通参数,进而进一步处理。 使用%来连接、格式字符串(现在普遍使用str.format函数:用{}和:来代替%)
s = “this is a sample %s %s” % (“hello”, “qjj”) s = “this is a sample {} {}” .format(“hello”, “qjj”) x, y = y, x
str.format_map(dict) 或 str.format(**dict)
yield生成器
生成器表达式(小括号):(x+1 for x in [1, 2, 3])
[x*2 for x in range(10) if x%2==0] or (x*2 for x in range(10) if x%2==0)
x = 1 if 21 else 2
for…else…
try…except…else…(try语句中没有异常发生时,才执行else语句)
无论是在try还是在except中,遇到return时,只要设定了finally语句,就会中断当前的return语句,跳转到finally中执行,如果finally中遇到return语句,就直接返回,不再跳转回try/excpet中被中断的return语句
在except和try中遇到return时,会锁定return的值,然后跳转到finally中,如果finally中没有return语句,则finally执行完毕之后仍返回原return点,将之前锁定的值返回(即finally中的动作不影响返回值),如果finally中有return语句,则执行finally中的return语句。
在一个循环中,最终要跳出某轮循环之前,会先转到finally执行,执行完毕之后才开始下一轮循环
任何元素都是对象,都可以传递,特别的,把函数(方法)作为参数传递。
函数的默认参数(特别注意可变默认参数,例如列表)
xxx() == xxx.__call__()
with语句的用法:
with open(filename, r, encoding=’utf-8’) as f:
for line in f:
print line map、filter、zip、functools.reduce
序列操作:itertools.chain、itertools.count、itertools.repeat、itertools.cycle、itertools.groupby、itertools.islice
对于and语句,如果and左边的是true,and右边的值将被返回作为and的结果;对于or语句,如果or左边的是false,or将右边的值将被返回作为or的结果。
动态加载模块
1,使用系统函数__import_()
stringmodule = __import__(string)
2,使用imp 模块
import imp
stringmodule = imp.load_module(string,*imp.find_module(string))
3,使用exec
import_string = import string as stringmodule
exec?import_stringdirUp, dirDown, dirLeft, dirRight = range(4)
list[x:y:z]——x,y表示起止索引位置(位置索引从0开始),z表示间隔
if 0x10:比较if 0 x and x 10:
if x in dict:比较if x in dict.keys():
带参数的iter方法:
def seek_next_line(f):
for c in iter(l
文档评论(0)