Python知识体系
上课不要睡觉了
逝者如斯夫,不舍昼夜
展开
-
NumPy与Python性能差异对比
import numpy as npimport timestart =time.clock()end = time.clock()np_array = np.arange(10000000)for i in range(10):np_array * 2print('Running time: %s Seconds'%(end-start))start2 =time.clock()end2 = time.clock()py_array = list(range(10000000))fo原创 2022-01-14 17:20:39 · 675 阅读 · 0 评论 -
nteract 的下载与安装
首先前往官网: https://nteract.io/.原创 2022-01-14 15:57:28 · 1534 阅读 · 0 评论 -
Python——科学计算核心库简介
Python拥有众多的软件包/库。几个构成Python科学计算生态系统的核心成员:NumPy:NumPy 是 Numerical Python 的简称。 NumPy 是 Python 科学计算最基础的库,涉及数据分析的软件包基本上都基于它来构建。Pandas : Pandas 的名字来源于 Python 数据分析( Python data analysis )和面板数据( Panel data )的结合。该库提供了多个数据存储对象,其中的 DataFrame 对象可以表征数据分析常见的二维表格。除此原创 2022-01-14 15:36:38 · 652 阅读 · 0 评论 -
Python——文件操作_open()函数
Python中使用open()函数读取文件。语法:open(file, mode='r')其中file:文件路径mode:文件打开模式模式描述t文本模式 (默认)。x写模式,新建一个文件,如果该文件已存在则会报错。b二进制模式。+打开一个文件进行更新(可读可写)。r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。r+打开一个文件用于读写。文件指针将会放在文件的开头。w打开一个文件只用于写入。如果该文件已存在则原创 2022-01-13 18:34:55 · 297 阅读 · 0 评论 -
Python——运算符重载
Python——运算符重载1.加法运算符重载和减法运算符重载2.`__str__()`方法重载和`__ge__()`方法重载3.索引的切片重载运算符重载指的是将运算符与类方法关联起来,每个运算符对应一个指定的内置方法。Python通过重写一些内置方法,实现了运算符的重载功能。1.加法运算符重载和减法运算符重载加法运算符重载——__add__()方法减法运算符重载——__sub__()方法例 7-16 加法运算符重载和减法运算符重载的实现:#ex0716.py 加法运算符重载和减法运算符重原创 2021-12-12 17:31:35 · 8929 阅读 · 1 评论 -
Python——类的多态
同一个方法(方法名相同),由于参数类型或参数个数不同而导致执行效果各异的现象就是多态。在Java或C#等强类型语言中,多态是通过一个父类类型的变量来引用一个子类类型的对象来实现的,即根据引用子类对象特征不同,得到不同的运行结果。例 7-15 多态的实现#ex0715.py 多态的实现class Animal: def __init__(self,aname): self.name = aname def enjoy(self): print("动物在原创 2021-12-12 16:29:19 · 1563 阅读 · 0 评论 -
Python——类的继承
1.继承的实现Python中继承语法格式如下:class 子类名(父类名): 类的属性 类的方法例 7-11 类的继承示例,子类继承父类方法:#ex0711.py 类的继承示例,子类继承父类方法class Animal: num = 0 def __init__(self): print("父类 Animal") def show(self): print("父类 Animal 成员方法")class Cat(Animal):原创 2021-12-08 11:12:34 · 20053 阅读 · 0 评论 -
Python——类方法和静态方法
类方法:成员方法普通方法类方法静态方法成员方法由对象调用,方法的第1个参数默认是 self ,构造方法和析构方法也属于成员方法;普通方法即类中的函数,只能由类名调用;类方法和静态方法都属于类的方法。1.类方法语法:class 类名: @classmethod def 类方法名(cls): 方法体在上述格式中,类方法的第1个参数为 cls ,代表定义类方法的类,通过 cls 参数可以访问类的属性。要想调用类方法,既可以通过对象名调用,又可以通过类名调用,这两种方法没有任何区原创 2021-12-08 10:10:13 · 5284 阅读 · 0 评论 -
Python——成员变量和类变量
类中的变量分为两种类型:一种是成员变量(实例属性),另一种是类变量(类属性)。成员变量是在构造方法__init__()中定义的,通过 self 参数引用;类变量是在类中方法之外定义的变量。在类的外部,成员变量属于对象,只能通过对象名访问;类变量属于类,既可以通过类名访问,又可以通过对象名访问,被类的所有对象共享。定义含有成员变量(名字name、颜色 color )和类变量(数量num)的 Animal 类:#ex0707.py 定义含有成员变量(名字name、颜色 color )和类变量(数量n原创 2021-12-06 16:43:33 · 10439 阅读 · 0 评论 -
Python——self参数
self 的意思是“自己”,表示的是对象自身,当某个对象调用成员方法的时候,Python 解释器会自动把当前对象作为第1个参数传给 self ,用户只需要传递后面的参数就可以了。self 参数的应用:#program0706.py self 参数的应用class Animal: ''' 类中未定义构造方法,使用默认的构造方法 def __init__(self): self.color = color ''' num = 0 #类的属性原创 2021-12-06 16:24:34 · 2328 阅读 · 0 评论 -
Python——构造方法和析构方法2_“__del__()“方法
Python中的__del__()方法是析构方法,析构方法与构造方法相反,它用来释放对象占用的资源。使用析构方法删除对象:#ex0705.py 使用析构方法删除对象class Dog: def __init__(self): #构造方法 self.color = "black" #初始化对象color属性值为“black” def show(self): print("颜色:{},id:{}".format(self.color,self.id)原创 2021-12-06 15:52:16 · 179 阅读 · 0 评论 -
Python——构造方法和析构方法1_“__init__()“方法
Python的类提供了两个比较特殊的方法:__init__()和__del__(),分别用于初始化对象的属性和释放对象所占用的资源。使用无参数的构造方法创建对象:#ex0703.py 使用无参数的构造方法创建对象class Dog: def __init__(self): #构造方法 self.color = "black" #初始化对象color属性值为“black” def show(self): print("颜色{}".format(se原创 2021-12-06 15:35:17 · 360 阅读 · 0 评论 -
Python——创建对象
创建一个对象:对象名 = 类名()创建Dog类的一个对象dog:dog = Dog()为对象添加属性:对象名.属性名 = 值为Dog类对象添加 weight属性:dog.weight = 52创建对象示例:#ex0702.pyclass Dog: num = 0 #类变量 def __init__(self,id=0,color="yellow"): #构造方法 self.id = id #成员变量 self.color =原创 2021-12-06 14:56:26 · 1353 阅读 · 0 评论 -
Python—创建类的示例
案例:#ex0701.py 创建类的示例class Dog: num = 0 #类变量 def __init__(self,id=0,color="yellow"): #构造方法 #这个类有两个属性一个是id(默认0),一个是颜色(默认yellow) self.id = id #成员变量 self.color = color def enjoy(self): #成员方法 print("汪汪汪原创 2021-12-06 14:30:14 · 1248 阅读 · 0 评论 -
Python——序列操作函数
函数名功能说明all()判断可迭代对象的每个元素是否都为 True 值any()判断可迭代对象的元家是否有为 True 值的元素range()产生一个序列,默认从0开始map()使用指定方法去操作传入的每个可选代对象的元素,生成新的可迭代对象filter()使用指定方法过滤可迭代对象的元素reduce()使用指定方法累积可迭代对象的元素zip()聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型选代器sorted()对可选...原创 2021-11-29 16:40:58 · 2758 阅读 · 0 评论 -
Python——数据类型转换函数
转换函数主要用于不同数据类型之间的转换,常见的内置转换函数如下:函数名功能说明示例bool()根据传入的参数返回一个布尔值bool(‘str’)、bool(0)int()根据传入的参数返回一个整数int(3)、int(3.6)float根据传入的参数返回一个浮点数float(3)、float(‘3.4’)complex()根据传入参数返回一个复数complex(‘1+2j’)、complex(1,2)str()返回一个对象的字符申表现形式s原创 2021-11-29 11:12:59 · 474 阅读 · 0 评论 -
Python——字符串运算函数
字符串运算函数表3.4 字符串的大小写转换函数表3.5 字符串的查找替换函数表3.6 字符串的判断函数表3.7 字符串头尾判新函数表3.8 字符串的计算函数表3.9 字符串的对齐函数表3.10 字符串拆分合并函数表3.11 删除字符串中的空格函数表3.4 字符串的大小写转换函数函数名功能描述lowe()转换字符串中的大写字符为小写upper()转换字符串中的小写字符为大写capitalize()将字符串的第一个字符转换为大写swapcase()英文字符大小写原创 2021-11-29 10:46:21 · 541 阅读 · 0 评论 -
Python——数学运算函数
Python中常用的数学运算函数:函数名功能说明示例abs()返回参数的绝对值abs (-2)、 abs (3.77)divmod()返回两个数值的商和余数divmod (10,3)max ()返回可迭代对象的元素的最大值或者所有参数的最大值max (-1,1,2,3.4)、 max (‘abcef989’)min()返回可迭代对象的元素的最小值或者所有参数的最小值min (-1,12,3,4,5)pow()求两个参数的幂运算值pow (2原创 2021-11-28 22:06:09 · 3097 阅读 · 1 评论 -
Python——变量的作用域_局部变量_全局变量_global 语句
变量可分为局部变量和全局变量,其作用域与变量是基本数据类型还是组合数据类型有关。局部变量局部变量指的是定义在函数内的变量其作用范围是从函数定义开始到函数执行结束。局部变量定义在函数内,只在函数内使用,它与函数外具有相同名称的变量没有任何关系。例 6-19 局部变量的作用域:>>> def func1(x,y): x1=x y1=y z=100 print("in func1(),x1=",x1) print("in func1(),y1=",y1) print("in原创 2021-11-28 21:53:07 · 927 阅读 · 0 评论 -
Python——递归函数
如果一个函数调用其他函数,会形成函数的嵌套调用;如果一个函数调用自身,则会形成函数的递归调用。1.递归的定义递归是函数在其定义或声明中直接或间接调用自身的一种方法。递归的基本思想是:在求解一个问题时,将这个问题递退简化为规模较小的同一问题,并设法求得这个规模较小的问题的解,在此基础上再递进求解原来的问题。如果经递退简化的问题还难以求解,可以再次进行递退简化。直至将问题递退简化成一个容易求解的基本问题为止。在此基础上进行递进求解,直至求得原问题的解。斐波那契数列是以数学家 Leonardo Fi原创 2021-11-28 14:21:58 · 667 阅读 · 0 评论 -
Python——用函数实现代码复用_闭包( Closure )
闭包( Closure )是一种重要的语法结构, Python 支持闭包这种结构。如果一个内部函数引用了外部函数作用域中的变量,那么这个内部函数就被称为闭包。被引用的变量将和这个闭包函数一同存在,即使离开了创建它的外部函数也不例外。所以,闭包是由函数和与其相关的引用环境组合而成的实体。在 Python 中创建一个闭包需要满足以下条件:闭包函数必须有嵌套函数。嵌套函数需要引用外部函数中的变量。外部函数需要将嵌套函数名作为返回值返回。例 6-15 闭包示例:#ex0615.pydef gr原创 2021-11-27 22:44:07 · 211 阅读 · 0 评论 -
Python——lambda 匿名函数_sorted() 函数_abs() 函数
lambda 函数是 Python 中的置名函数,该函数实质上是一个 lambda 表达式,是不需要使用 def 关键字定义的函数, lambda 函数的语法格式如下: lambda parameters:expressionparameters 是可选的参数表,通常是用逗号分隔的变量或表达式,即位置参数。expression 是函数表达式,该表达式中不能包含分支或循环语句。expression 表达式的值将会作为 lambda 函数的返回值。lambda 函数的应用场景是定义简单的、能在一原创 2021-11-24 16:48:34 · 1163 阅读 · 0 评论 -
Python——函数的返回值
用户可以为函数指定返回值,返回值可以是任意的数据类型,return[expression] 语句用于退出函数,将表达式值作为返回值传递给调用方。不带参数值的 return 语句返回 None。例 6-11 return 关键字的应用:>>> def compare(arg1,arg2): '''比较两个参数大小''' result = arg1>arg2 return result>>> btest = compare(10,9.99)>>原创 2021-11-25 06:45:00 · 1202 阅读 · 0 评论 -
Python——函数的参数和返回值_可变参数
在 Python 的函数中,可以定义可变参数。可变参数指的是在函数定义时,该函数可以接受任意个数的参数,参数的个数可能是1个或多个,也可能是0个。可变参数有两种形式,参数名称前加星号(*)或者加两个星号(**)。语法格式:def funname(formal_args,*args,**kwargs): statements return expression在上面的函数定义中, formal_args 为定义的传统参数,代表一组参数,*args 和** kwargs 为可变参数。函数传入的参数个原创 2021-11-24 10:29:46 · 799 阅读 · 0 评论 -
Python——函数的参数和返回值_默认参数
定义函数时,可以给函数的形式参数设置默认值,这种参数被称为默认参数。当调用函数的时候,由于默认参数在定义时已被赋值了,所以可以直接忽略,而其他参数是必须要传入值的。如果默认参数没有传人值,则直接使用默认值;如果默认参数传入了值,则使用传入的新值替代。例 6-8 默认参数的应用 :#ex0608.pydef showmessage(name,age=18): # 打印任何传入的字符串 print("姓名:",name) print("年龄",age) return原创 2021-11-24 10:12:44 · 865 阅读 · 0 评论 -
Python——函数的参数
在定义函数时,参数表中的参数称为形式参数,也称形参。调用函数时,参数表中提供的参数称为实际参数,也称实参。Python中的变量保存的是对象的引用,调用函数的过程就是将实参传递给形参的过程。函数调用时,实参可以分为位置参数和赋值参数两种情况1 位置参数函数调用时,默认情况下,实参将按照位置顺序传递给形参。def getvolume(r,h): print("圆的体积是:{:>8.2f}".format(3.14*r*r*h))2 赋值参数通常情况下,函数调用时,实参默认采用按照位置顺原创 2021-11-23 15:06:41 · 1651 阅读 · 0 评论 -
Python——函数的嵌套
1 函数的嵌套定义函数的嵌套定义指的是在函数内部定义的函数,但内嵌的函数只能在该函数内部使用,闭包应用了函数的嵌套定义。使用嵌套定义函数求阶乘和:>>> def sum(n): def fact(a): #嵌套函数,求阶乘 t = 1 for i in range(1,a+1): t *= i return t s=0 for i in range(1,n+1): s += fact(i) #调用嵌套函数fact() return s>>原创 2021-11-22 18:58:06 · 1829 阅读 · 0 评论 -
Python——用函数实现代码复用_1函数的定义和调用_1.2函数调用
在Python中,函数名也是一个变量,如果return语句没有返回值,则函数值为None。函数的调用和类型测试:>>> def getcirclearea(r): print("圆的面积是:{:>8.2f}".format(3.14*r*r)) return>>> getcirclearea(3)圆的面积是: 28.26>>> getcirclearea #函数名变量在内存中的地址<function getcirclear原创 2021-11-22 18:53:16 · 153 阅读 · 0 评论 -
Python——用函数实现代码复用_1.函数的定义和调用_1.1 函数的定义
在计算机语言中,函数是实现某一特定功能的语句集合。函数可以重复使用,提高了代码的可重用性;函数通常实现较为单一的功能,提高了程序的独立性;同一个函数,通过接收不同的参数,实现不同的功能,提高了程序的适应性。Python 提供了很多内置函数,用户也可以定义和使用自己的函数。1.1 函数的定义在 Python 中定义函数要使用 def 关键字,其语法格式如下:def funcname(paras): ststements return[expression]关于函数的说明如下:函数定义原创 2021-11-18 22:29:26 · 1229 阅读 · 0 评论 -
Python——组合数据类型的应用_2.二分查找
二分查找是一种效率比较高的查找方法。但二分查找要求原始数据是有序的,程序首先使用列表的 sort()方法对数据进行排序,然后再进行查找。二分查找的基本思想是将要查找的数值 find 与中间位置的数据进行比较,若相等,查找结束。否则,将 find 值与中间数据进行比较,如果小于中间数据,则继续在左边的数据区重复二分查找;如果大于中间数据,则继续在右边的数据区重复二分查找。二分查找需要比较的次数为log₂n。程序中通过一个标记 flag 能表示查找是否成功,如果成功,则跳出 while 循环。例 5-18原创 2021-11-09 21:32:58 · 854 阅读 · 0 评论 -
Python——组合数据类型的应用_1.英文句子中的词频统计
词频统计需要考虑下列几个问题:英文单词的分隔符可以是空格、标点符号或者特殊符号,使用字符串的 replace()方法可以将标点符号替换为空格,以提高获取单词的准确性。用 split()函数可以拆分字符串,生成单词的列表。逐个读取列表中的单词,并重复下面的操作。如果字典 map1的 key 值中没有这个单词,向字典中添加元素,关键字是这个单词,值是1,即 map1 [ word ]=1;如果字典的 key 值中有这个单词,则该单词计数加1,即 map1 [ word ]=1;当列表中的单词全部读取完后原创 2021-11-08 16:12:03 · 1854 阅读 · 0 评论 -
Python——集合运算
Python 中的集合与数学中集合的概念是一致的,因此,两个集合可以做数学意义上的交集、并集、差集计算等。集合的运算符或方法如表所示。集合的运算符:方法功能描述S & T 或 S . intersaction ( T )交集。返回一个新集合,包括同时在集合 S 和 T 中的元素S|T 或 S . union ( T )并集。返回一个新集合,包括集合 S 和 T 中的所有元素S - T 或 S . difference ( T )差集。返回一个新集合,包括在集原创 2021-11-03 10:25:40 · 18011 阅读 · 0 评论 -
Python——集合的基本操作_set()
1.创建集合使用函数 set()可以创建一个集合。与列表、元组、字典等数据结构不同,创建集合没有快捷方式,必须使用 set ()函数。set ()函数最多有一个参数,如果没有参数,则会创建一个空集合。如果有一个参数,那么参数必须是可迭代的类型,例如,字符串或列表,可迭代对象的元素将生成集合的成员。例 5-13 创建集合:>>> aset = set("python") #字符串作为参数创建集合>>> bset = set([1,2,3,4]) #列表作为参数创原创 2021-11-02 19:51:50 · 2196 阅读 · 0 评论 -
Python——集合
集合是0个或多个元素的无序组合。集合是可变的,可以很容易地向集合中添加元素或移除集合中的元素。集合中的元素只能是整数、浮点数、字符串等基本的数据类型,而且这些元素是无序的,没有索引位置的概念。集合中的任何元素都没有重复的,这是集合的一个重要特点。集合与字典有一定的相似之处,但集合只是一组 key 的集合,这些 key 不可以重复,集合中没有 value 。...原创 2021-11-02 19:39:56 · 179 阅读 · 0 评论 -
Python——字典的常用方法_keys ()、values ()、items ()、get()、 pop ()、popitem ()、copy()和 update ()
常用方法对照表方法或操作功能描述dicts .keys()返回所有的键信息dicts . values()返回所有的值信息dicts . items()返回所有的键值对dicts . get (key , defualt )键存在则返回相应值,否则返回默认值dicts . pop (key , default )键存在则返回相应值,同时删除键值对,否则返回默认值dicts . popitem()随机从字典中取出一个键值对,以元组( key ,原创 2021-11-01 15:09:17 · 5167 阅读 · 0 评论 -
Python——字典的基本操作
1.创建字典字典可以用标记“{}”创建,字典中每个元素都包含键和值两部分,键和值用冒号分开,元素之间用逗号分隔。 dict()是用于创建字典的函数,下面的示例给出了创建字典的代码。例 5-7 创建字典:>>> dict1 = {}>>> dict2 = {"id":101,"name":"Rose","address":"Changjianroad","pcode":"116022"}>>> dict3 = dict(id=101,name="原创 2021-10-30 15:56:34 · 910 阅读 · 0 评论 -
Python——字典
字典是 Python 中内置的映射类型。映射是通过键值查找一组数据值信息的过程,由 key-value 的键值对组成,通过 key 可以找到其映射的值 value 。字典可以看作是由键值对构成的列表。在搜索字典时,首先查找键,当查找到键后就可以直接获取该键对应 的值。特点:高效、实用。这种数据结构之所以破命名为字典,是因为它的存储和检索过程与真正的字典类似。键类似于字典中的单词,根据字典的组织方式(例如,按字母顺序排列)找到单词(键)非常容易,找到键就能找到相关的值(定义)。但反向的搜索,使用值去搜原创 2021-10-29 09:13:14 · 190 阅读 · 0 评论 -
Python——元组_元组的基本操作_元组与列表相互转换
元组是包含0个或多个元素的不可变序列类型。元组生成后是固定的,其中任意元素都不能被替换或者删除。元组与列表的区别在于元组中的元素不能被修改。创建元组时,只要将元组的元素用小括号括起来,并使用逗号隔开即可。元组的基本操作例 5-5 元组的基本操作:>>> tup1 = ('physics','chemistry',1997,2000) #元组中包含不同类型的数据>>> tup2 = (1,2,3,4,5)>>> tup3 = "a","b",原创 2021-10-28 17:36:34 · 2892 阅读 · 0 评论 -
Python——用for_while遍历列表
遍历列表可以逐个处理列表元素,通常使用 for 循环和 while 循环来实现。用 for 循环遍历列表:#ex0503.pylst = ['primary school','secondary school','high school','collage']for item in lst: print(item,end = ',')使用 while 循环遍历列表,需要先获取列表长度,将获得的长度作为循环的条件。用 while 循环遍历列表:#ex0504.pylst = list原创 2021-10-27 08:27:27 · 3323 阅读 · 0 评论 -
Python——列表的方法
除了使用序列操作符操作列表,列表还有特有的方法,如表所示,它们的主要功能是完成列表元素的增删改查,其中, Is 、 Ist 分别为两个列表, x 是列表中的元素, i 和 j 是列表的索引。操作符或方法功能描述ls [ i ] x将列表 Is 的第 i 项元素替换为 xIs [ i : j ] = lst用列表 Ist 替换列表ls中第 i 到第 j 项元素(不含第 j 项)Is [ i : j : k ] = lst用列表 Ist 替换列表 Is 中第 i 到第 j原创 2021-10-26 09:10:35 · 541 阅读 · 0 评论