08 2021 档案
摘要:需求:士兵突进 士兵许三多有一把 AK47 士兵可以开火 枪能够发射子弹 枪装填子弹,可以增加子弹数量 需求分析 很明显有两个类:士兵类,枪类 AK47 是枪名,是枪类的属性,每把枪都有子弹数,所以子弹数也是一个属性 发生子弹是一个行为,所以是一个方法 装填子弹也是一个行为,也是一个方法 许三多是姓
阅读全文
摘要:前言 前面讲到实例属性的时候,我们可以通过 实例对象.实例属性 来访问对应的实例属性 但这种做法是不建议的,因为它破坏了类的封装原则 正常情况下,实例属性应该是隐藏的,只允许通过类提供的方法来间接实现对实例属性的访问和操作 class PoloBlog: # 构造方法 def __init__(se
阅读全文
摘要:简单介绍封装 封装是面向对象编程的一大特点 封装可以被认为是一个保护屏障,防止该类的属性、方法和数据结构被外部随意访问 要访问该类的属性、私有方法、数据结构,必须由指定的方法控制访问 深入理解封装 在设计类时,刻意地将一些属性和方法隐藏在类的内部【私有属性、私有方法】 这样在使用此类时,将无法直接通
阅读全文
摘要:需求 房子(House)有户型、总面积、家具名称列表;新房子没有任何的家具 家具(HouseItem)有名字、占地面积 席梦思(bed) 占地 4 平米 衣柜(bed) 占地 2 平米 餐桌(bed) 占地 1.5 平米 将以上三个家具添加到房子中 打印房子时,要求输出:户型、总面积、剩余面积、家具
阅读全文
摘要:需求 小明和小美都爱跑步 小明体重 75 公斤 小美体重 45 公斤 每次跑步会减肥 0.5 公斤 每次吃东西体重增加 1 公斤 需求分析 小明、小美都是一个具体的对象,他们都是人,所以应该抽象成人类 小明、小美是具体的对象的姓名,而体重是另一个属性,所以有两个属性 跑步、吃东西都是一种行为,所以也
阅读全文
摘要:公共属性 在 Python 的类里面,所有属性和方法默认都是公共的 class PoloBlog: # 公共属性 sum = 0 # 构造方法 def __init__(self, name): self.name = name # 公共方法 def test(self): ... 但Python也
阅读全文
摘要:为什么要讲 __str__ 在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(十六进制表示) 假设在开发调试过程中,希望使用 print 实例对象时,输出自定义内容,就可以用 __str__ 方法了 或者通过 str() 调用对象也会返回
阅读全文
摘要:实例方法 在类中定义的方法默认都是实例方法,前面几篇文章已经大量使用到实例方法 实例方法栗子 class PoloBlog: def __init__(self, name, age): print("自动调用构造方法") self.name = name self.age = age def te
阅读全文
摘要:什么是对象和类 https://www.cnblogs.com/poloyy/p/15178423.html 什么是 Python 类、类对象、实例对象 https://www.cnblogs.com/poloyy/p/15178456.html 类变量、实例变量/类属性、实例属性 前言 只是叫法不
阅读全文
摘要:题目 设计一个类Person,生成若干实例,在终端输出如下信息 小明,10岁,男,上山去砍柴 小明,10岁,男,开车去东北 小明,10岁,男,最爱大保健 老李,90岁,男,上山去砍柴 老李,90岁,男,开车去东北 老李,90岁,男,最爱大保健 实际代码 并不代表最优代码,大家有更好的写法可以评论下
阅读全文
摘要:为什么要讲 self 参数 class PoloBlog: def __init__(self): ... def say(self): ... 在类里面,所有实例方法都需要加 self 参数,且排在第一个,有且仅有一个 self 参数的含义 在类中定义的方法,第一个参数 self 指向调用该方法的
阅读全文
摘要:什么是构造方法 在创建类时, 可手动添加一个 __init__() 方法,称为构造方法,这是一个实例方法 构造方法用于创建实例对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它 一般用来初始化对象的某些属性 构造方法语法格式 class 类: def __init__(sel
阅读全文
摘要:del 语句 Python 提供了 del 语句用于删除不再使用的变量 语法 del 表达式 删除变量的栗子 var = "hello" del var print(var) # 输出结果 print(var) NameError: name 'var' is not defined 变量已经被删除
阅读全文
摘要:什么是对象和类 https://www.cnblogs.com/poloyy/p/15178423.html Python 类 类定义语法 最简单的类定义看起来像这样 class ClassName: <statement-1> . . . <statement-N> 类定义与函数定义 (def 语
阅读全文
摘要:面向对象编程 Object Oriented Programming,简称 OOP,是一种程序设计思想 OOP 把对象作为程序的基本单元,一个对象包含了数据和操作数据的方法 Python里面有一句话:万物皆是对象 在编程领域中,通常把现实世界中的实体称为对象,例如: 美国总统特朗普 中国明星成龙 上
阅读全文
摘要:gitee 仓库地址 https://gitee.com/poloyy/polo_test_notes 加入仓库链接 https://gitee.com/poloyy/polo_test_notes/invite_link?invite=bf48bc4012b0236e28c6c803e432b25
阅读全文
摘要:pip 常用命令 https://www.cnblogs.com/poloyy/p/15170968.html pip list 结合 Linux 命令 pip list 命令可以查询已安装的库,结合 Linux 的一些命令(cut、sed、awk、grep……),可以直接在命令行中实现批量升级 p
阅读全文
摘要:使用 pip-review 库(推荐) 安装库 pip install pip-review 检查是否有需要更新的包 > pip-review scikit-learn==0.23.2 is available (you have 0.23.1) scipy==1.5.4 is available
阅读全文
摘要:使用 pipupgrade 可以批量更新本地包、系统包 安装库 pip install pipupgrade 批量更新 pipupgrade -V -l -y -V、--verbose 显示详细输出 -s、--self 更新 pipupgrade pipupgrade --self -c、--che
阅读全文
摘要:pip pip(Python Package Index)是一个以 Python 语言写成的软件包管理系統,使用 pip 可以非常方便的安装和管理 python 软件包 帮助文档 pip --help ░▒▓ ✔ 10:41:20 Usage: pip <command> [option
阅读全文
摘要:背景 有一个 Flask 项目,然后有一个路由返回的是 dict 通过浏览器访问,结果报错 关键报错信息 TypeError: 'dict' object is not callable The view function did not return a valid response. The r
阅读全文
摘要:安装 Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 查看帮助 brew –help 安装软件 brew install [包名] //安
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 为啥要学这个,因为 FastAPI 是基于它进行开发的,而且是个不错的框架,所以有必要深入学习 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html typing 模块:https://www.cnblogs.com/p
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 int,long,float: 整型,长整形,浮点型; bool,str: 布尔型,字符串类型;
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型
阅读全文
摘要:前言 为啥要学它呢,因为学 Flask 的时候发现有人更推荐它代替 Flask,看了下介绍,感觉很强,而且也能拿来做平台,当然学起来!卷起来! 为什么要使用 FastAPI ? 日渐没落的是后端 HTML 渲染这种方式,比如 Flask + Jinja2 前后端分离成为主流 异步框架 官方地址 ht
阅读全文
摘要:为什么会有类型提示 Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,运行时不需要指定变量类型 但是与此同时 IDE 无法像静态类型语言那样分析代码,及时给我们相应的提示,比如字符串的 split 方法 def split_str(s): strs = s.split(",")
阅读全文
摘要:Python DB-API 规范 Python 所有的数据库接口程序都在一定程度上遵守 Python DB-API 规范 Python DB-API 是一个规范,它定义了一系列必须的对象和数据库存取方式,以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 在没有 Python
阅读全文
摘要:Python 中的函数是第一类对象 好像很多地方都会看到这样一句话 Python 创始人也说过,所有的对象都是第一类对象 什么是第一类对象 在上面中所说的第一类对象,其实是指函数作为一个对象,与其它对象具有相同的地位 具体来说,数值可以被赋值给变量、作为参数传递给函数、作为返回值 因为函数和数值具有
阅读全文
摘要:前言 参考的是慕课网提供的实战,自己编码 http://www.imooc.com/wiki/pythonlesson1/function2.html 什么是模块化程序设计 在进行程序设计时将一个大程序按照功能划分为若干小程序模块 每个小程序模块完成一个确定的功能 并在这些模块之间建立必要的联系,通
阅读全文
摘要:前置知识 Python 函数:https://www.cnblogs.com/poloyy/p/15092393.html 什么是仅限位置形参 仅限位置形参是 Python 3.8 才有的新特性 新增了一个函数形参语法 / 添加了它,表示函数形参只能通过位置参数传递,而不能通过关键字参数形式传递 仅
阅读全文
摘要:为什么要讲解包 因为我觉得解包是 Python 的一大特性,大大提升了编程的效率,而且适用性很广 啥是解包 个人通俗理解:解开包袱,拿出东西 正确理解:将元素从可迭代对象中一个个取出来 python 中,解包是自动完成的 最简单的解包栗子 a, b, c = [1, 2, 3] print(a, b
阅读全文
摘要:函数简介 函数是具有某种特定功能的代码块,可以重复使用 在前面讲解数据类型的时候,其实已经出现了很多 Python 内置函数了 重复性代码 什么是重复性的代码 在处理功能相似的逻辑时,会出现结构雷同的代码 例如:有两个列表,编写程序分别打印这两个列表 a = [1, 2, 3] b = [10, 2
阅读全文
摘要:字典简介 字典在 Python 里面是非常重要的数据类型,而且很常用 字典是以关键字(键)为索引,关键字(键)可以是任意不可变类型 字典由键和对应值成对组成,字典中所有的键值对放在 { } 中间,每一对键值之间用逗号分开 字典栗子 var = {'a': 'A', 'b': 'B', 'c': 'C
阅读全文
摘要:前置知识 break、continue 会结合循环使用的,所以要先学会循环哦 python 提供了两种循环语句 for 循环:https://www.cnblogs.com/poloyy/p/15087053.html while 循环:https://www.cnblogs.com/poloyy/
阅读全文
摘要:前言 在代码中有的时候我们需要程序不断地重复执行某一种操作 例如我们需要不停的判断某一列表中存放的数据是否大于 0,这个时候就需要使用循环控制语句 这里会讲解 while 循环 python 有两种循环语句,一个是 for、一个是 while for 循环详解 https://www.cnblogs
阅读全文
摘要:注意 本篇图片素材都来自慕课网,因为素材过于优秀,直接拿过来了,加水印只是为了防止整篇文章被搬 前言 程序并非是一成不变的向下执行,有的时候也要根据条件的不同选择不一样的代码,这个时候便用到了分支结构 最简单的分支结构 对条件进行判断: 如果条件为真,执行“条件为真的分支” 如果条件为假,执行“条件
阅读全文
摘要:前言 在代码中有的时候我们需要程序不断地重复执行某一种操作 例如我们需要不停的判断某一列表中存放的数据是否大于 0,这个时候就需要使用循环控制语句 这里会讲解 for 循环 python 有两种循环语句,一个是 for、一个是 while while 循环详解 https://www.cnblogs
阅读全文
摘要:介绍 range 是一个类,不是函数 表示不可变的数字序列,通常用于在 for 循环中循环指定的次数 两种语法格式 range(stop) 表示区间 [0, stop) 内的整数序列 该区间从 0 开始、到 stop 结束,不包含 stop range(start, stop[, step]) 表示
阅读全文
摘要:前言 Python 中不存在值传递,一切传递的都是对象的引用,也可以认为是传址 这里会讲三个概念:对象赋值、浅拷贝、深拷贝 名词解释 变量:存储对象的引用 对象:会被分配一块内存,存储实际的数据,比如字符串、数字、列表 引用:变量指向对象,可以理解为指针 实际的一种应用场景 有一个变量 a,存储了一
阅读全文
摘要:浅拷贝详解 https://www.cnblogs.com/poloyy/p/15084277.html 方式一:使用切片 [:] 列表 # 浅拷贝 [:] old_list = [1, 2, [3, 4]] new_list = old_list[:] old_list.append(5) old
阅读全文