1.python中的拆包 之前就只写了*可以是未知数量的参数,**可以传入未知数量命名参数.这次详细记下拆包. def f1(a, *l): print(a) # 不拆包 print(l) # 拆包 print(*l) f2(l) f2(*l) def f2(*l): print(l) print(*l) def f3(**kw): # 不拆包 print(kw) # 得到键名 print(*kw) # 拆包,键名对应 f4(**kw) # 注意,python中没办法输出**kw,不信可以自己试…
函数闭包 定义 延伸了作用域的函数(能访问定义体之外定义的非全局变量 作用 共享变量的时候避免使用了不安全的全局变量 允许将函数与某些数据关联起来,类似于简化版面向对象编程 相同代码每次生成的闭包,其延伸的作用域都彼此独立(计数器,注册表) 函数的一部分行为在编写时无法预知,需要动态实现,同时又想保持接口一致性 较低的内存开销:类的生命周期远大于闭包 实现装饰器 代码 print("Class方式:") class Averager: def __init__(self): self.…
还是不多说话了.. 1.eval函数 用法:eval(expression, globals=None, locals=None) 解释:将字符串str当成有效的表达式来求值并返回计算结果. 就是可以将字符串转换为表达式来运行,当然可以转换为某个函数执行.   使用: a = 1 b = 1 val1 = a + b val2 = eval("a+b") def f(): a = 10 b = 10 val3 = eval("a+b",globals()) val4…
前段时间要做视频直播需要编写自动模块,就考虑使用python脚本语言,python的好多语法都是很独特的,比如数据类型不需要预定义,缩进的方式等,另外功能也很强大,豆瓣就是用python写的.我写的部分主要是python调用cmd来实现自动的dos命令输入,感觉还是比较方便的只需要简单的几行代码就可以了.import系统包,调用os.system函数出入字符串就搞定了. 有感于python语言的强大,就有学习一下,python的基本语法,发现python有集合,元组,列表和字典等几种格式.列表类…
人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Python,用它解决复杂问题,开发功能正确的.效率高的程序,需要很好地理解上面说明的许多高级概念和特征,还需要理解这门语言的内在性质. Python虽说是目前非常热门的一种编程语言,但有关Python编程和应用的书籍,虽不能说是汗牛充栋.铺天盖地,也是林林总总.选择很多.<程序员学Python>与其他书籍…
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂 初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序 python语言是一种很高级的语言 写代码的时候代码量很小,但是所带来的缺点就是运行速度慢 C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度.充分发挥硬件性…
C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进制的动态链接库.至少你可以把它当成文本形式的动态链接库,需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了. C++调用Python有两种方式 第一种方式:通过找到Python模块,类,方法,构造参数来调用. 第二中方式,就是通过构造出一个Python的脚本,用p…
这篇笔记依然是在做<Python语言程序设计>第5章循环的习题.其中有两类问题需要记录下来. 第一是如何画围棋棋盘.围棋棋盘共有19纵19横.其中,位于(0,0)的星位叫天元,其余8个星位坐标分别是:(-6,6),(0,6),(6,6),(-6,0),(6,0),(-6,-6),(0,-6),(6,-6).这里面涉及到绘制等间距网格,我选择for循环来实现.考虑到以后可以修改棋盘大小,所以网格间距和初始点位置都设置成全局变量.其代码如下: # 绘制围棋棋盘 import turtle # 线与…
1.pickle序列介绍:提供4个关键字:dumps,dump,loads,load 语法:f.write(pickle.dumps(dict))=pickle.dump(dict,f) "r=pickle.loads(f.read())" = "r=pickle.load(f) 将字典存入文件,由于字典格式不能转化成字节格式的,所以引入pickle A.将一个字典转化成pickle序列存入一个文件 import pickle#import cPickle as pickle…
什么是程序? 程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所以我们可以把一门语言进行拆解,比如现在这门语言就是Python,那么Python这门语言是就拆解为面向对象和面向过程,那么我们知道以前的程序语言C语言就是面向过程的语言,而C++就是面向对象的语言,然后横向的我们还要考虑数据结构和算法.这样我们可以把一门语言的学习氛围四大块,第一款就是面向过程的数据…