python 学习手册
李济雄
这个作者很懒,什么都没留下…
展开
-
列表常用操作
append在列表末尾插入一个元素list.append(element)clear清空列表中的元素,类似于 del list[ : ]list.clear()copy在内存中开辟一个新的空间,复制列表先看看下面这段代码的运行结果a = [1, 2]b = ab.append(3)print(a) # output:[1, 2, 3]在使用copy()方法之后,情况将发生改变a = [1, 2]b = a.copy()b.append(3)print(a) # o原创 2020-09-29 22:39:13 · 195 阅读 · 0 评论 -
第三十一章 类的设计
python和OOP首先复习一下——python的OOP实现可以总结为三大思想:继承继承以python中的属性查找的基础;多态在X.method中,method的意义取决于主体对象X的类型(类);封装方法和运算符实现行为,不过默认情况下数据隐藏是一种惯例;多态意味着接口,不是函数调用的签名class C(): def meth(self, x): ... def me...原创 2020-07-08 23:45:00 · 101 阅读 · 0 评论 -
第三十章 运算符重载
基础知识以下是对重载背后的关键概念的复习:运算符重载让类拦截常规的python操作;类可重载所有python表达式运算符;类也可重载打印、函数调用、属性访问等内置运算;重载使类实例的行为更加接近内置类型;重载是通过在一个类中提供特殊名称的方法来实现的;构造函数和表达式:__init __和__sub __class Number(): def __init__(self, s...原创 2020-07-08 23:07:24 · 106 阅读 · 0 评论 -
第二十九章 类代码编写细节
class语句就像def一样,class语句是对象的创建者并且是一个隐含的赋值运算:当他执行时会产生类对象,并把其引用值储存到名称中。此外像def一样,class语句也是可执行代码。直到python抵达并运行定义的class语句前,你的类是不存在的。一般形式class是复合语句,其缩进语句的主体一般都出现在头部行下边。在头部行中,父类列在类名称之后的口号内,由逗号相隔。列出一个以上的父类会触...原创 2020-07-08 23:06:26 · 123 阅读 · 0 评论 -
第二十八章 一个更加实际的实例
步骤1:创建实例# File person.py(start)class Person: # start a class编写构造函数构造函数包含了每次创建一个实例时python都会自动运行的代码:class Person: def __init__(self, name, job, pay): self.name = name self.job = job self.p...原创 2020-07-08 23:02:08 · 106 阅读 · 0 评论 -
第二十七章 类代码编写基础
类生成多个实例对象类对象来自语句,而实例来自调用。每次调用一个类,就会得到这个类的实例;类对象提供默认行为以下是python类的主要特性:class语句创建类对象并将其赋值给一个名称(与def语句类似);class语句内的赋值语句会创建类的属性;类属性提供了对象的状态和行为;实例对象是具体的元素以下是累的实例的重点概要:像函数那样调用类对象会创建新的实例对象;每个实例对象...原创 2020-07-08 22:53:59 · 115 阅读 · 0 评论 -
第二十六章 OOP:宏伟蓝图
为何使用类从以下两大方面来看OOP非常有用:继承:对于一些通用属性只需要将通用属性代码实现一次,就能让未来我们所创建的所有种类的机器人都可以重用;组合:每一个组件都可以写成类,并定义自己的行为及关系;类的三个独特之处:多重实例:类本质上是产生对象的工厂,每当我们调用一个类的时候,就会产生一个独立的命名空间的新对象。每个由类产生的对象都能读取类的属性,并且获得自己的命名空间来存储数...原创 2020-07-08 22:30:53 · 132 阅读 · 0 评论 -
第二十三章 模块代码编写基础
模块的创建python中的所有.py文件都能做为模块;模块文件名模块的命名应该遵循一般变量名的命名规则;模块的使用import语句import语句直接列出一个或多个需要加载的模块的名称,以逗号分隔。因为它用一个名称引用整个模块;import module1. module2,....# 函数调用module1.func1()module2.func2()from语句...原创 2020-07-08 00:17:40 · 261 阅读 · 0 评论 -
第二十二章 模块:宏伟蓝图
模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便在利用,同时提供自包含的命名空间从而避免程序出现变量名冲突。模块可以用下面两个语句和一个重要的内置函数进行处理:import使用户程序(导入者)以一个整体获取一个模块;from允许用户程序从一个模块文件中获取特定的名称;imp.reload提供了一种在不终止python程序的情况下重新载入模块文件代码;为什么使用模块模...原创 2020-07-08 00:06:38 · 113 阅读 · 0 评论 -
第二十一章 基准测试
计时器迭代可选方案自己编写的计时模块我们可以在python中非常方便的计时代码:# 创建计时函数import timedef timer(func, *args): # 在python3.3后clock()函数已经废除,可以使用perf_counter()方法代替 start = time.perf_counter() for i in range(1000): ...原创 2020-07-08 00:03:17 · 141 阅读 · 0 评论 -
第四章 Python对象类型
Python知识结构python程序可以分解成模块、语句、表达式以及对象:程序由模块构成;模块包好语句;语句包含表达式;表达式创建并处理对象;为什么要使用内置类型内置对象使程序更容易编写;内置对象是可扩展的组件;内置对象往往比定制的数据结构更有效率;内置对象是语言标准的一部分;Python核心数据类型对象类型字面量/构造示例数字1234,3.14字符串“spam”列表[1, 2, 3]字典{“spam”: 2, “taste”:原创 2020-07-07 23:36:45 · 93 阅读 · 0 评论 -
第五章 数值类型
第五章 数值类型数值类型基础知识完整的python数值类型的工具包括:整数和浮点数;复数对象;小数:固定进度对象;分数:有理数对象;集合:带有数值计算的集合体;布尔值:真和假;内置函数和模块;表达式;第三方扩展;数值字面量整数和浮点数字面量:整数写成十进制数字串。浮点数带一个小数点,也可以加上一个科学计数标识e或E。python3整数:在python3中,没...原创 2020-07-07 23:18:07 · 233 阅读 · 0 评论 -
第六章 动态类型
缺少声明语句的情况在python中,类型是在运行时自动决定的,而不是通过代码声明。这意味着没有必要事先声明变量。变量、对象和引用变量创建:一个变量,当代码第一次给它赋值时就创建了它。之后的赋值将会改变已创建的变量名的值;变量类型:类型的概念存在于对象而不存在变量名中;变量使用:当当变量出现在表达式中时,它会立马被当前引用的对象所替代,无论这个对象的类型是什么;总而言之,变量在赋值的时...原创 2020-07-07 23:16:26 · 111 阅读 · 0 评论 -
第七章 字符串基础
字符串基础字符串基础从实用的角度来看,字符串可以用来表示能够编码为文本或字节的任何事物。字符串字面量表示示例单引号‘spa"m’双引号“spa’m”三引号‘’’…spam…’’’、"""…spam…"""转义序列“s\tp\na\om”原始字符串r"C:\new\test.spm"单引号和双引号字符串是一样的在python字符串...原创 2020-07-07 23:14:15 · 546 阅读 · 0 评论 -
第八章 列表与字典类型
列表列表的属性:任意对象的有序集合;通过偏移访问;可变长度、异构以及任意嵌套;属于“可变序列”的分类;对象引用数组;列表的实际应用基本列表操作列表的拼接(+)原创 2020-07-07 00:36:27 · 148 阅读 · 0 评论 -
第九章 元组、文件与其他核心类型
元组元组是:任意对象的有序集合;通过偏移量存取;属于“不可变序列”;固定长度、多样性、任意嵌套;对象应用的数组;元组的实际应用元组的拼接(+)>>> (1, 2) + (3, 4)(1, 2, 3, 4)元组的重复(*)>>> (1, 2) * 4(1, 2, 1, 2, 1, 2, 1, 2)元组的特殊语法:逗号和圆括号当元组中只有一个元素时,逗号和圆括号是必不可少的;>>> X = (2)>>&g原创 2020-07-07 23:12:23 · 98 阅读 · 0 评论 -
第十章 python语句简介
重温python的知识结构python程序的结构:程序由模块构成;模块包含语句;语句包含表达式;表达式创建并处理对象;python的语句语句功能赋值创建引用值调用与其他表达式运行函数print调用打印对象if/else/elif选择动作for/else序列迭代while/else通用循环pass空占位符b...原创 2020-07-07 23:46:55 · 105 阅读 · 0 评论 -
第十一章 赋值、表达式和打印
赋值语句赋值语句的特性:赋值语句创建对象引用,而不是对象复制;变量在首次赋值时会被创建,不必提前预声明变量名;变量在引用前必须先赋值;某些操作会瘾式地进行赋值;赋值语句形式运算解释spam = ‘Spam’基础形式spam, ham = ‘yum’, ‘YUM’元组赋值(基于位置)[spam, ham] = [‘yun’, ‘YUM’]列表赋...原创 2020-07-07 23:48:09 · 227 阅读 · 0 评论 -
第十二章 if测试和语句规则
if语句if及其表达式组成部分是python中主要的选择工具,处理了python程序中的大多数逻辑。一般形式当if语句执行时,python会执行第一个计算结果为真的测试的代码块,或者如果所有测试都为假时,就执行else块。if语句的一般形式如下:if test1: statements1else: statements2多路分支if test1: statements1el...原创 2020-07-07 23:48:56 · 216 阅读 · 0 评论 -
第十四章 迭代和推导
迭代器:初次探索我们以及知道for循环可以用于python中任何序列类型,包括列表、元组以及字符串,如下所示:>>> for i in [1, 2, 3, 4]: ... print(i)... 1234>>> >>> for i in (1, 2, 3, 4):... print(i)... 12...原创 2020-07-07 23:51:04 · 237 阅读 · 0 评论 -
第十三章 while循环和for循环
while循环原创 2020-07-07 23:49:38 · 241 阅读 · 0 评论 -
第十六章 函数基础
为何使用函数函数在程序中主要作用有以下两点:最大化代码重用和最小化代码冗余;过程的分解;编写函数在python中函数的主要概念:def是可执行的代码:def是一条可执行的语句——在python运行def之前,函数并不存在。事实上,在if语句、while循环甚至其他的def中嵌套def语句是合法的;def创建一个对象并将其赋值给某一变量名:当python运行到def语句时,将...原创 2020-07-07 23:51:58 · 191 阅读 · 0 评论 -
第十七章 作用域
python作用域基础在默认情况下,一个函数内赋值的所有变量都与该函数的命名空间相关联,这意味着:在def内赋予的变量名只能够被def内的代码使用;在def内赋值的变量名与在def外复制的变量名不冲突,即使是相同的变量名;在任何情况下,一个变量的作用域总是由它在代码中被赋值的位置决定的。变量可在3个不同的地方被赋值,分别对应3中不同的作用域:如果一个变量在def内赋值,它对于该函数...原创 2020-07-07 23:53:51 · 259 阅读 · 0 评论 -
第十八章 参数
参数传递基础下面是给函数传递参数时的一些简要的关键点:参数的传递是通过自动将对象赋值给局部变量名来实现的;在函数内部赋值参数名不会影响调用者;改变函数的可变对象参数的值也许会对调用者有影响;不可变参数本质上传入了‘值’;可变对象本质上传入‘指针’;参数和共享引用>>> def f(a):... a = 99... >>> b =...原创 2020-07-07 23:54:44 · 267 阅读 · 0 评论 -
第十九章 函数的高级话题
函数设计概念函数设计中的指导方针:耦合性:在输入时使用参数,输出时使用 return语句;耦合性:只在真正必要的情况下使用全局变量;耦合性:不要改变可变类型的参数,除非调用者希望这样做;内聚性:每一个函数都应该有一个单一的,统一的目标;携合性:避免直接改变其他模块文件中的变量;不过通常来讲,我们尽可能地把函数和其他编程组件对外部的依赖性最小化。函数的自包含性越好,它就越容易被理解...原创 2020-07-07 23:56:23 · 148 阅读 · 0 评论 -
第二十章 推导和生成
列表推导与函数是编程工具列表推导vs map加入我们有这样的一个需求,获取字符串中每个字符的ASCII编码,我们可以使用for循环和map函数实现:使用for循环:>>> res = []>>> for x in 'spam':... res.append(ord(x))... >>> res[115, 112, 97...原创 2020-07-07 23:59:59 · 685 阅读 · 0 评论