python学习
文章平均质量分 61
学习爱好者fz
热爱学习
展开
-
Python学习28——Pycharm 开发环境的调试
Python学习28——Pycharm 开发环境的调试断点进入调试视图调试操作区进行调试的核心是设置断点。程序执行到断点时,暂时挂起,停止执行。就像看视频按下停止一样,我们可以详细的观看停止处的每一个细节。断点程序运行到此处,暂时挂起,停止执行。我们可以详细在此时观察程序的运行情况,方便做出进一步的判断。设置断点:(1) 在行号后面单击即可增加断点(2) 在断点上再单击即可取消断点进入调试视图我们通过如下三种方式都可以进入调试视图:单击工具栏上的按钮:右键单击编辑区,点击原创 2021-05-07 22:16:27 · 229 阅读 · 7 评论 -
Python学习27——with 上下文管理
Python学习27——with 上下文管理通过with 上下文管理,更方便的实现释放资源的操作。with 上下文管理可以自动管理资源,在 with 代码块执行完毕后自动还原进入该代码之前的现场或上下文。不论何种原因跳出 with 块,不论是否有异常,总能保证资源正常释放。极大的简化了工作,在文件操作、网络通信相关的场合非常常用。代码示例:#测试文件读取with open(r"e.txt","r",encoding="utf-8") as f: str = f.read() pri原创 2021-05-07 21:54:05 · 215 阅读 · 1 评论 -
Python学习26——常见异常汇总
Python学习26——常见异常汇总异常名称说明ArithmeticError所有数值计算错误的基类AssertionError断言语句失败AttributeError对象没有这个属性BaseException所有异常的基类DeprecationWarning关于被弃用的特征的警告EnvironmentError操作系统错误的基类EOFError没有内建输入,到达 EOF 标记Exception常规错误的基类Floatin转载 2021-05-07 21:39:59 · 161 阅读 · 1 评论 -
Python 入门笔记25——设计模式
Python 入门笔记25——设计模式工厂模式实现单例模式实现设计模式是面向对象语言特有的内容,是我们在面临某一类问题时候固定的做法,设计模式有很多种,比较流行的是:GOF(Goup Of Four)23 种设计模式。本文学习两个最常用的模式:工厂模式和单例模式。工厂模式实现工厂模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进行统一的管理和控制。#测试工厂模式class CarFactory: def create_car(self,brand):转载 2021-04-15 22:14:31 · 188 阅读 · 1 评论 -
Python 入门笔记24——组合
Python 入门笔记23——对象的浅拷贝和深拷贝“is-a”关系,我们可以使用“继承”。从而实现子类拥有的父类的方法和属性。“is-a” 关系指的是类似这样的关系:狗是动物,dog is animal。狗类就应该继承动物类。“has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。” has-a”关系指的是这样的关系:手机拥有 CPU。 MobilePhone has a CPU。#测试组合#使用继承实现代码的复用class A1: def say_a1(se原创 2021-04-15 21:36:23 · 103 阅读 · 3 评论 -
Python 入门笔记23——对象的浅拷贝和深拷贝
Python 入门笔记23——对象的浅拷贝和深拷贝变量的赋值操作只是形成两个变量,实际还是指向同一个对象。浅拷贝Python 拷贝一般都是浅拷贝。拷贝时,对象包含的子对象内容不拷贝。因此,源对象和拷贝对象会引用同一个子对象。深拷贝使用 copy 模块的 deepcopy 函数,递归拷贝对象中包含的子对象。源对象和拷贝对象 所有的子对象也不同。代码示例:#测试对象的浅拷贝、深拷贝import copyclass MobilePhone: def __init__原创 2021-04-14 06:55:21 · 161 阅读 · 6 评论 -
Python 入门笔记22——特殊方法和运算符重载
Python 入门笔记22——特殊方法和运算符重载Python 的运算符实际上是通过调用对象的特殊方法实现的。比如:a = 20 b = 30c = a + bd = a.__add__(b)print("c=", c)print("d=", d)c= 50d= 50常见的特殊方法统计如下:每个运算符实际上都对应了相应的方法,统计如下:我们可以重写上面的特殊方法,即实现了“运算符的重载”。#测试运算符的重载class Person: def __init__(原创 2021-03-30 22:10:18 · 116 阅读 · 0 评论 -
Python 入门笔记21——面向对象进阶
Python 入门笔记21——面向对象进阶super()获得父类定义super()获得父类定义在子类中,如果想要获得父类的方法时,我们可以通过 super()来做。super()代表父类的定义,不是父类对象。代码实例:#测试super(),代表父类的定义,而不是父类的对象class A: def say(self): print("A:",self)class B(A): def say(self): #A.say(self)原创 2021-03-25 21:54:04 · 124 阅读 · 0 评论 -
Python 入门笔记20——面向对象进阶
Python 入门笔记20——面向对象进阶object 根类dir()查看对象属性重写__str__()方法object 根类object 类是所有类的父类,因此所有的类都有 object 类的属性和方法。我们显然有必要深入研究一下 object 类的结构。对于我们继续深入学习 Python 很有好处。dir()查看对象属性为了深入学习对象,我们先学习内置函数 dir(),他可以让我们方便的看到指定对象所有的属性。查看对象所有属性以及和 object 进行比对:class Person:原创 2021-03-15 19:28:17 · 171 阅读 · 0 评论 -
Python 入门笔记19——面向对象进阶
Python 入门笔记19——面向对象进阶面向对象三大特征介绍继承语法格式类成员的继承和重写查看类的继承层次结构封装多态面向对象三大特征介绍Python 是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。继承继承可以让子类具有父类的特性,提高了代码的重用性。从设计上是一种增量进化,原有父类设计不变的情况下,可以增加新的功能,或者改进已有的算法。继承是面向对象程序设计的重要特征,也是实现“代码复用”的重要手段。如果一个新类继承自一个设计好的类,就直接具备了已有类的特征,就原创 2021-03-11 21:45:04 · 325 阅读 · 0 评论 -
Python 入门笔记18——私有属性和私有方法、@property 装饰器
Python 入门笔记18——私有属性和私有方法、@property 装饰器私有属性和私有方法@property 装饰器属性和方法命名总结类编码风格私有属性和私有方法 Python 对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有 属性和私有方法,有如下要点:通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。类内部可以访问私有属性(方法) 。类外部不能直接访问私有属性(方法) 。类外部可以通过“_类名__私有属性(方法)名”访原创 2021-02-08 20:11:54 · 270 阅读 · 0 评论 -
Python 入门笔记17——类对象、类属性、类方法、静态方法
Python 入门笔记17——类对象、类属性、类方法、静态方法类对象类属性类方法静态方法类对象 我们在前面讲的类定义格式中,“class 类名:”。实际上,当解释器执行 class 语句时, 就会创建一个类对象。In [1]: class Student: ...: pass ...:In [2]: print(type(Student))<class 'type'>In [3]: print(id(Student))1779741995168In [原创 2021-02-08 19:57:56 · 274 阅读 · 4 评论 -
Python 入门笔记16——面向对象初步(2)
Python 入门笔记16——面向对象初步(2)类的定义__init__构造方法和__new__方法实例属性和实例方法实例属性实例方法函数和方法的区别类的定义 我们把对象比作一个“饼干”,类就是制造这个饼干的“模具”。 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打包在一起”。 对象是类的具体实体,一般称为“类的实例”。类看做“饼干模具”,对象就是根据这个“模具”制造出的“饼干”。 从一个类创建对象时,每个对象会共享这个类的行为(类中定义的方法),但原创 2021-01-21 16:50:13 · 186 阅读 · 0 评论 -
Python 入门笔记16——面向对象初步(1)
Python 入门笔记16——面向对象初步(1)面向对象初步面向对象和面向过程区别面向过程(Procedure Oriented)思维面向对象(Object Oriented)思维对象的进化面向对象初步 面向对象(Object oriented Programming,OOP)编程的思想主要是针对大型软件设计而来的。面向对象编程使程序的扩展性更强、可读性更好,使的编程可以像搭积木一样简单。 面向对象编程将数据和操作数据相关的方法封装到对象中,组织代码和数据的方式更加接近人的思维,从而大大提高了编程原创 2021-01-18 22:11:14 · 166 阅读 · 0 评论 -
python入门笔记15——函数用法和底层分析(3)
python入门笔记15——函数用法和底层分析(3)函数用法和底层分析lambda 表达式和匿名函数eval()函数递归函数嵌套函数(内部函数)nonlocal 关键字LEGB 规则函数用法和底层分析lambda 表达式和匿名函数 lambda 表达式可以用来声明匿名函数。lambda 函数是一种简单的、在同一行中定义函数的方法。lambda 函数实际生成了一个函数对象。 lambda 表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数的返回值。lambda 表达式的基本原创 2021-01-12 22:49:50 · 171 阅读 · 0 评论 -
python入门笔记13——函数用法和底层分析(2)
python入门笔记——函数用法和底层分析(2)函数用法和底层分析参数的传递传递可变对象的引用函数用法和底层分析参数的传递 函数的参数传递本质上就是:从实参到形参的赋值操作。 Python 中“一切皆对象”,所有的赋值操作都是“引用的赋值”。所以,Python 中参数的传递都是“引用传递”,不是“值传递”。具体操作时分为两类:对“可变对象”进行“写操作”,直接作用于原对象本身。对“不可变对象”进行“写操作”,会产生一个新的“对象空间”,并用新的值填充这块空间。(起到其他语言的“值传递”效果,但原创 2021-01-10 22:16:05 · 320 阅读 · 0 评论 -
python入门笔记12——函数用法和底层分析(1)
python入门笔记——lambda匿名函数原创 2021-01-07 21:36:12 · 559 阅读 · 3 评论 -
Python 入门笔记11——推导式
Python 入门笔记11——推导式控制语句使用 zip()并行迭代推导式创建序列列表推导式字典推导式集合推导式生成器推导式(生成元组)控制语句 变量、数据类型(整数、浮点数、布尔)、序列(字符串、列表、元组、字典、集合),可以看做是数据的组织方式。数据可以看做是“砖块”! 流程控制语句是代码的组织方式,可以看做是“混凝土”。 一个完整的程序,离不开“砖块”,也离不开“混凝土”。他们的组合,才能让我们建立从小到“一个方法”,大到“操作系统”,这样各种各样的“软件”。使用 zip()并行迭代原创 2021-01-04 19:36:18 · 205 阅读 · 0 评论 -
Python 入门笔记10——循环结构
Python 入门笔记10——循环结构控制语句循环结构while 循环for 循环可迭代对象range 对象嵌套循环break 语句continue 语句else 语句循环代码优化控制语句 变量、数据类型(整数、浮点数、布尔)、序列(字符串、列表、元组、字典、集合),可以看做是数据的组织方式。数据可以看做是“砖块”! 流程控制语句是代码的组织方式,可以看做是“混凝土”。 一个完整的程序,离不开“砖块”,也离不开“混凝土”。他们的组合,才能让我们建立从小到“一个方法”,大到“操作系统”,这样各种原创 2020-12-30 17:33:18 · 188 阅读 · 0 评论 -
Python 入门笔记9——选择结构
Python 入门笔记9——选择结构控制语句选择结构单分支选择结构条件表达式详解双分支选择结构三元条件运算符多分支选择结构选择结构嵌套控制语句 变量、数据类型(整数、浮点数、布尔)、序列(字符串、列表、元组、字典、集合),可以看做是数据的组织方式。数据可以看做是“砖块”! 流程控制语句是代码的组织方式,可以看做是“混凝土”。 一个完整的程序,离不开“砖块”,也离不开“混凝土”。他们的组合,才能让我们建立从小到“一个方法”,大到“操作系统”,这样各种各样的“软件”。选择结构 选择结构通过判原创 2020-12-29 21:35:55 · 710 阅读 · 3 评论 -
Python 入门笔记8——字典,集合
Python 入门笔记8——字典,集合序列字典字典的创建字典元素的访问字典元素添加、修改、删除序列解包字典核心底层原理将一个键值对放进字典的底层过程根据键查找“键值对”的底层过程集合集合创建和删除集合相关操作实操联系序列字典 字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。 列表中我们通过“下标数字”找到对应的对象。字典中通过“键对象”找到对应的“值对象”。“键”是任意的不可变数据,比如原创 2020-12-28 21:01:18 · 576 阅读 · 0 评论 -
Python 入门笔记7——元组
Python 入门笔记7序列元组元组的创建通过()创建元组通过 tuple()创建元组生成器推导式创建元组元组的元素访问和计数zip()函数元组总结序列元组 元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。元组支持如下操作:索引访问切片操作连接操作成员关系操作比较运算操作计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等元组的创建通过()创建元组 通过()创建元组。小括号可以省略。 a原创 2020-12-25 20:47:56 · 172 阅读 · 0 评论 -
Python 入门笔记6——列表
Python 入门笔记6序列列表列表的创建list()创建range()创建整数列表推导式生成列表列表元素的增加append()方法+运算符操作+=运算符操作extend()方法insert()插入元素乘法扩展列表元素的删除del 删除pop()方法删除remove()方法删除列表元素访问和计数通过索引直接访问元素index()索引count()方法计数len()返回列表长度列表成员判断列表切片操作列表的遍历复制列表列表排序修改原列表,不建新列表的排序建新列表的排序reversed()返回迭代器列表相关的其原创 2020-12-24 21:49:44 · 621 阅读 · 0 评论 -
Python 入门笔记5——字符串
Python 入门笔记5字符串字符串基本特点字符串的编码引号创建字符串空字符串和 len()函数转义字符字符串拼接字符串复制不换行打印从控制台读取字符串数字转字符串字符提取字符串替换字符串切片 slice 操作split()分割和 join()合并字符串驻留机制和字符串比较字符串比较和同一性成员操作符字符串常用方法汇总常用查找方法去除首尾信息大小写转换格式排版其他方法字符串的格式化format()基本用法填充与对齐数字格式化可变字符串字符串字符串基本特点 字符串的本质是:字符序列。Python 的字原创 2020-12-23 23:33:10 · 439 阅读 · 0 评论 -
Python入门笔记4
Python 入门笔记4Python编程基础概念布尔值比较运算符逻辑运算符同一运算符其他运算符复合赋值运算符运算符优先级问题Python编程基础概念布尔值 Python2 中没有布尔值,直接用数字 0 表示 False,用数字 1 表示 True。 Python3 中,把 True 和 False 定义成了关键字,但他们的本质还是 1 和 0,甚至可以和数字相加。代码示例:>>> a = True>>> b =2>>> a + b3原创 2020-12-22 22:34:53 · 311 阅读 · 3 评论 -
Python入门笔记3
Python 入门笔记3二、Python编程基础概念变量的声明和赋值删除变量和垃圾回收机制链式赋值系列解包赋值常量最基本内置数据类型和运算符数字和基本运算符整型浮点型类型转换和四舍五入二、Python编程基础概念变量的声明和赋值 变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下:变量名 = 表达式 运行过程中,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象;然后,将这个对象地址赋值给左边的变量。最简单的表达式就是字面量。比如:a = 123456 。变量在使用前必须先被初始原创 2020-12-21 15:59:49 · 416 阅读 · 1 评论 -
Python 入门笔记2
Python 入门笔记二、Python编程基础概念程序构成代码的组织和缩进使用反斜杠\行连接符对象引用标识符关键字二、Python编程基础概念程序构成Python 程序由模块组成。一个模块对应 python 源文件,一般后缀名是:.py。模块由语句组成。运行 Python 程序时,按照模块中语句的顺序依次执行。语句是 Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。代码的组织和缩进“龟叔”设计Python语言时,直接通过缩进来组织代码块。“缩进”是pytho原创 2020-12-18 22:12:57 · 248 阅读 · 1 评论 -
Python 入门笔记
Python 入门笔记一、python介绍python特点python应用范围python不适合使用的场景Python 解释器Python开发环境Python 程序中需要注意的小要点程序基本格式实操作业一、python介绍python特点可读性强 可读性远比听上去重要的多得多。一个程序会被反复的修改,可读性强意味着让你 可以在更短时间内学习和记忆,直接提高生产率;简洁 研究证明,程序员每天可编写的有效代码数是有限的。完成同样功能只用一半的代码,其实就是提高了一倍的生产率;Python 是原创 2020-12-17 18:57:51 · 235 阅读 · 2 评论