10 2021 档案

摘要:二叉树 Binary Tree 二叉树的特点 每个节点的度最大为2(最多拥有2棵子树) 左子树和右子树是有顺序的 即使某个节点只有一棵子树,也要区分左右子树 二叉树的性质 非空二叉树的第i层最多有 2^(i-1) 个节点(i >= 1) 高度为h的二叉树上最多有 2^h - 1 个节点(h >= 1 阅读全文
posted @ 2021-10-30 02:33 HyeJeong 阅读(122) 评论(0) 推荐(0)
摘要:归并排序 mergeSort 把序列按长度分成两个子序列,每个子序列再次分解,重复以上操作直至无法分解(递归从外到内的过程) 把两个最小单位的子序列按条件归并成一个新序列,新序列继续和同一层的序列归并(递归从内到外的过程) 使用两个指针从被归并的两个序列中分别取值比较大小,取出满足条件的值并移动该指 阅读全文
posted @ 2021-10-30 02:32 HyeJeong 阅读(58) 评论(0) 推荐(0)
摘要:快速排序 quickSort 取序列的第一个值作为基点,把序列中比基点小的数和比基点大的数分为两个子序列 把两个子序列分别作为新的序列,再次进行分堆,并不断递归,直至子序列无法再分堆 分堆时取出基点,使用两个指针,从序列的头尾分别向中间移动,移动过程把值与基点作比较 利用基点空出的位置,移动处于错误 阅读全文
posted @ 2021-10-30 02:31 HyeJeong 阅读(62) 评论(0) 推荐(0)
摘要:选择排序 SelectionSort 使用三个指针,指针一固定指向未排序部分的第一个元素,指针二向后遍历序列,指针三记录各轮遍历取到的值 比较指针一和指针二指向的值,用指针三记录每次比较后需要选取的值(大或小) 一轮遍历结束后,指针三在未排序序列中找到最大/最小元素,将其存放到排序序列的起始位置 在 阅读全文
posted @ 2021-10-30 02:30 HyeJeong 阅读(55) 评论(0) 推荐(0)
摘要:冒泡排序 BubbleSort 比较相邻的元素 升序排列时,如果第一个比第二个大,就将两个元素交换位置,否则比较第二个和第三个元素,降序反之 对每一对相邻的元素做同样的操作,直至完成遍历,此时序列中最大/最小的元素将被选出放在末尾 这样一轮比较,叫做一次冒泡 针对所有的元素重复以上的步骤,除了上一轮 阅读全文
posted @ 2021-10-30 02:29 HyeJeong 阅读(78) 评论(0) 推荐(0)
摘要:查找 常见查找算法:顺序查找,二分法,二叉树,哈希 选择查找方法需要考虑的因素: 查找速度 应用场景 资源占用 数据结构相关性:讨论查找算法的时候,首先要明确是在什么数据结构上执行查找算法 不同的数据结构有不同的查找算法,有的数据结构就是为了查找而生,如二叉树、哈希 顺序查找 遍历序列,将序列中的元 阅读全文
posted @ 2021-10-30 02:28 HyeJeong 阅读(287) 评论(0) 推荐(0)
摘要:哈希(散列) Hash是把任意长度的输入(预映射)通过散列算法变换成固定长度的输出,该输出就是散列值 不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值 Hash算法可以将一个数据转换为一个标志,这个标志和数据源的每一个字节都有关 Hash算法很难找到逆向规律 Hash算法是一个 阅读全文
posted @ 2021-10-30 02:27 HyeJeong 阅读(90) 评论(0) 推荐(0)
摘要:树 树的基本概念 每个节点有0个或多个子节点 没有父节点的节点称为根节点 每一个非根节点有且只有一个父节点 除根节点外,每个子节点可以分为多个不相交的子树 一棵树可以没有任何节点,称为空树,可以只有1个节点,即根节点 节点、根节点、子节点、父节点、兄弟节点 子树、左子树、右子树 节点的度(degre 阅读全文
posted @ 2021-10-30 02:26 HyeJeong 阅读(172) 评论(0) 推荐(0)
摘要:链表 LinkList 定义:链表是由一系列节点组成的元素集合 每个节点node包含两部分:数据域item和指向下一节点的指针next,双向链表还有指向上一节点的指针prev 链表是一种链式存储的线性表,所有元素的内存地址不一定是连续的 链表可以做到用多少空间就申请多少存储空间 分类:单链表,循环链 阅读全文
posted @ 2021-10-30 02:25 HyeJeong 阅读(293) 评论(0) 推荐(0)
摘要:队列 Queue 队列是一种特殊的线性表,只能在头、尾两端进行操作 队尾(rear):只能从队尾添加元素,叫做入队,enQueue 队头(front):只能从队头移除元素,叫做出队,deQueue FIFO的结构 First In First Out 队列的接口设计: isEmpty() 判断队列是 阅读全文
posted @ 2021-10-30 02:24 HyeJeong 阅读(66) 评论(0) 推荐(0)
摘要:栈 Stack 栈是一种特殊的线性表,只能在一端进行操作 往栈中添加元素的操作,叫做入栈,push 往栈中移除元素的操作,叫做出栈,pop,只能移除栈顶元素,也叫弹出栈顶元素 FILO的结构 First In Last Out 栈的接口设计: isEmpty() 判断栈是否为空 size() 返回栈 阅读全文
posted @ 2021-10-30 02:22 HyeJeong 阅读(52) 评论(0) 推荐(0)
摘要:复杂度 1.算法的评估 如果单从执行效率上进行评估,可以比较不同算法对同一组数据的的执行处理时间 但此方法执行时间严重依赖硬件以及运行时各种不确定的环境因素,测试数据的选择也比较难确保公正 一般从以下维度来评估算法: 正确性、可读性、健壮性(对不合理输入的反应能力和处理能力) 时间复杂度:估算程序指 阅读全文
posted @ 2021-10-29 14:01 HyeJeong 阅读(87) 评论(0) 推荐(0)
摘要:网络通信 网络 ​ 一些互联的、以共享资源为目的计算机的集合。使用网络可以把多方连接在一起,然后进行数据传递 ​ 工作中编写的程序几乎都是基于网络的 网络编程 ​ 网络编程指的是让不同计算机上的软件能够进行数据传递,即进程之间的通信 网络协议 ​ OSI参考模型,具有7层结构,仅是理论上的模型 ​ 阅读全文
posted @ 2021-10-28 23:53 HyeJeong 阅读(228) 评论(0) 推荐(0)
摘要:MySQL数据库导入、导出和授权 1.数据导出 导出一个库/表中所有数据,形成一个由建表和添加语句组成的sql文件,可以用这个sql文件到其他库中恢复这些数据导出 (1).导出库 mysqldump -u root -p 库名 > 路径\文件名.sql (2).导出表 mysqldump -u ro 阅读全文
posted @ 2021-10-28 21:02 HyeJeong 阅读(1083) 评论(0) 推荐(0)
摘要:DQL 数据查询 select */字段列表/函数 from 表名; [where 检索条件] [group by 字段列表 [having 检索条件]] [order by 字段列表 asc/desc] [limit 分页参数] 子句 值 功能 select * / 字段列表 / 函数 返回被查询 阅读全文
posted @ 2021-10-28 20:59 HyeJeong 阅读(71) 评论(0) 推荐(0)
摘要:DML 数据的增删改 create table users( id int unsigned not null primary key auto_increment, name varchar(20) not null, pw char(32) default 000000, age tinyint 阅读全文
posted @ 2021-10-28 20:37 HyeJeong 阅读(47) 评论(0) 推荐(0)
摘要:MySQL数据库与数据表操作 1.通过命令连接MySQL mysql -h localhost -u root -p -h 服务器地址(是本机时可以不写) -u 登陆账号 -p 登陆密码 -P 端口号,默认为3306 2.数据库操作 (1).创建库 create database [if not e 阅读全文
posted @ 2021-10-28 20:32 HyeJeong 阅读(77) 评论(0) 推荐(0)
摘要:MySQL存储引擎和字符集 阅读全文
posted @ 2021-10-28 20:22 HyeJeong 阅读(13) 评论(0) 推荐(0)
摘要:MySQL字段约束和主键 1.MySQL的字段约束 char(x),varchar(x),int(x) -- char(x),varchar(x): 字符串的长度 -- int(x):此处 x 没有意义,默认无符号的int为int(11),有符号的的为int(10) -- int(x) unsign 阅读全文
posted @ 2021-10-28 20:22 HyeJeong 阅读(124) 评论(0) 推荐(0)
摘要:MySQL常用数据类型和运算符 1.MySQL常用数据类型 数据类型是定义字段列中可以存储什么类型的数据以及该数据实际怎样存储的基本规则 设计table时应特别注重所使用的数据类型,使用错误的数据类型会严重影响程序的功能和性能 更改包含数据的字段列可能会导致数据丢失 1.字符串类型 char 定长字 阅读全文
posted @ 2021-10-28 20:21 HyeJeong 阅读(121) 评论(0) 推荐(0)
摘要:MySQL数据库基本介绍和配置 MySQL数据库基本介绍 什么是数据库 数据库(Database)就是按照数据结构来组织、存储、管理数据的仓库 专业的数据库是专门对数据进行创建、访问、搜索、管理等操作的软件 比起用文件读写的方式管理数据,数据库更加方便,快速,安全 数据库的作用 (1).持久化保存数 阅读全文
posted @ 2021-10-28 20:13 HyeJeong 阅读(108) 评论(0) 推荐(0)
摘要:静态文件和模板继承 静态文件的使用 1.创建静态文件目录 web/static 2.配置静态文件目录 web/web/settings.py STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR , "static"), 阅读全文
posted @ 2021-10-28 20:09 HyeJeong 阅读(57) 评论(0) 推荐(0)
摘要:Django框架 - 模型关系详解 Django 框架中,模型是数据层,也就是管理数据 在整个数据库的设计中,还需要设计模型关系,也叫数据库关系 关系概述 一对一 一个表中的一条数据对应另一个表中的一条数据 -- 例如用户和用户详细信息,在数据库的设计中,应该分开存储 -- 假设需要存储的字段有:i 阅读全文
posted @ 2021-10-28 20:02 HyeJeong 阅读(176) 评论(0) 推荐(0)
摘要:Django框架 - Model详解 Model是MVC设计思想中重要的一环,Model模型代表着数据层,主要负责程序中用于处理数据逻辑的部分 模型是关于数据唯一的、权威的信息源,它包含了你所存储数据的必要字段和行为 每个模型都是一个 Python 的类,这些类继承 django.db.models 阅读全文
posted @ 2021-10-28 19:34 HyeJeong 阅读(237) 评论(0) 推荐(0)
摘要:Django框架 - 模板引擎详解 作为一个Web框架,Django需要一种便捷的方式来动态生成HTML,最常见的方法是依赖于模板 模板包含了所需HTML输出的静态部分,以及一些描述如何插入动态内容的特殊语法 模板引擎的配置 web/web/settings.py TEMPLATES # 默认情况下 阅读全文
posted @ 2021-10-28 19:25 HyeJeong 阅读(344) 评论(0) 推荐(0)
摘要:Django框架 - 视图详解 Django使用视图这个概念来负责处理用户请求和返回响应的逻辑部分 视图(即视图函数):就是一个python函数,专门处理web程序中的业务逻辑部分 视图可以接收用户的请求,并返回响应给用户的内容,可响应的的内容包括字符串、html页面、图片等各种格式 通常情况下,把 阅读全文
posted @ 2021-10-28 19:16 HyeJeong 阅读(242) 评论(0) 推荐(0)
摘要:Django框架 - 路由详解 Django允许你自由地设计你的 URL,不受框架束缚 为了给一个应用设计 URL,你需要创建一个 Python 模块,通常被称为 URLconf(URL配置) 这个模块是纯粹的 Python 代码,包含 URL 模式(简单的正则表达式)到 Python 函数(视图函 阅读全文
posted @ 2021-10-28 19:02 HyeJeong 阅读(283) 评论(0) 推荐(0)
摘要:Django初步认识 Django是一个高级的 Python Web 框架,它鼓励快速开发和简洁、高效的设计 Django负责处理 Web 开发的很多麻烦,让开发者专注与编写应用程序 Django可以更快的构建更好的 Web 应用程序并减少代码 Django是开源的 一、Django安装 # 创建虚 阅读全文
posted @ 2021-10-28 18:48 HyeJeong 阅读(74) 评论(0) 推荐(0)
摘要:web开发简介 认识一个网站 最早的软件都是运行在大型机上的,用户通过“哑终端”登陆到大型机上运行软件 PC普及后,软件开始主要运行在桌面上,而数据库这样的软件运行在服务器端,这种Client/Server模式简称CS架构 随着互联网的兴起,Web应用程序的修改和升级非常迅速,而CS架构需要每个客户 阅读全文
posted @ 2021-10-28 18:46 HyeJeong 阅读(124) 评论(0) 推荐(0)
摘要:包 包用来把有联系的模块组织在一起,即放到同一个文件夹下 创建包时,包内会自动创建__init__.py文件,这个文件控制着包的导入行为 导入包 包的导入方式: 1.import 包.模块 2.from 包 import 模块 3.from 包 import * 注:使用此方式导入模块时,必须在__ 阅读全文
posted @ 2021-10-28 18:32 HyeJeong 阅读(65) 评论(0) 推荐(0)
摘要:all 当模块中有__all__变量,同时使用from X import *导入模块时,只能导入这个list中的元素携带的方法 all my_module2.py __all__ = ['testA'] def testA(): print('this is testA') def testB(): 阅读全文
posted @ 2021-10-28 18:23 HyeJeong 阅读(36) 评论(0) 推荐(0)
摘要:模块 python模块(Module)是一个python文件 导入模块 导入模块的方式: 1.import 模块 2.from 模块 import 方法 3.from 模块 import * 导入模块同时定义别名: 4.import 模块 as 别名 5.from 模块 import 方法 as 别 阅读全文
posted @ 2021-10-28 18:14 HyeJeong 阅读(47) 评论(0) 推荐(0)
摘要:自定义异常 如果发生不满足程序逻辑的情况,创建并抛出该错误的异常类对象,然后捕获异常 抛出自定义异常的语法为: raise 异常类对象 定义异常类,继承自Exception class LengthError(Exception): def __init__(self,len_min,len_max 阅读全文
posted @ 2021-10-28 18:09 HyeJeong 阅读(63) 评论(0) 推荐(0)
摘要:异常传递 异常可以嵌套书写 从外层向内层传递 当内层except捕获Exception异常类型时,不会执行内层except,而是执行外层except import time try: f = open('test.txt') try: while True : l = f.readline() if 阅读全文
posted @ 2021-10-28 18:06 HyeJeong 阅读(58) 评论(0) 推荐(0)
摘要:异常 当检测到错误时,解释器无法继续执行,并出现错误信息,这就是异常 异常语句可以尝试执行某句可能发生错误的代码,如果发生错误,则执行另一句没有错误的代码 不能确定一段代码是否有错误时,把它放入异常语句中执行,以避免程序发生错误导致无法推进的情况 异常类型 错误信息中会提示异常类型,如 NameEr 阅读全文
posted @ 2021-10-28 17:57 HyeJeong 阅读(159) 评论(0) 推荐(0)
摘要:dict 类对象/实例对象.__dict__ 功能:收集类对象或实例对象的属性和方法以及对应的值,并返回dict class A(object): a1 = 0 a2 = 1 def __init__(self): self.b1 = 6 self.b2 = 'BB' def sum(self,n, 阅读全文
posted @ 2021-10-28 17:49 HyeJeong 阅读(34) 评论(0) 推荐(0)
摘要:类方法 需要使用装饰器 @classmethod 来标识其为类方法,第一个参数必须是类对象,一般以 cls 作为第一个参数 类方法使用场景:当方法中需要使用类对象(如访问私有类属性等)时,定义类方法 类方法一般配合类属性使用 class Team(object): __champion = 40 @ 阅读全文
posted @ 2021-10-28 17:47 HyeJeong 阅读(129) 评论(0) 推荐(0)
摘要:类属性 类属性就是类对象拥有的属性,它被该类创建的所有实例对象所共有 记录的某项数据始终保持一致时,定义类属性存储 实例属性要求每个对象为其单独开辟一份内存空间来记录数据,而类属性为全类所共有,仅占一份内存 设置和访问类属性 类属性可以通过类对象或实例对象访问 class Team(): champ 阅读全文
posted @ 2021-10-28 17:45 HyeJeong 阅读(105) 评论(0) 推荐(0)
摘要:面向对象三大特性 面向对象三大特性 1.封装 将属性和方法写入类中的操作即为封装 封装可以为属性和方法添加私有权限 2.继承 子类默认继承父类所有属性和方法 子类可以重写父类属性和方法 3.多态 定义:多态是一种使用对象的方式,子类重写父类方法,用父类方法调用不同子类对象,可以产生不同的执行结果 优 阅读全文
posted @ 2021-10-28 17:42 HyeJeong 阅读(73) 评论(0) 推荐(0)
摘要:私有属性和方法 python中可以为实例属性和方法设置私有权限,即该实例属性或方法不继承给子类 设置私有权限的方法: __私有属性名 __私有方法名 私有属性和方法只能在类里面访问和修改 通常定义函数 get_私有属性、set_私有属性 用来获取和修改私有属性 class Ronaldinho(ob 阅读全文
posted @ 2021-10-28 17:41 HyeJeong 阅读(57) 评论(0) 推荐(0)
摘要:super() super(当前类名,self).func() / super().func() 功能:调用父类方法 super()可以自动查找父类,调用遵循__mro__类属性的顺序,比较适合单继承使用 class Ronaldinho(object): def __init__(self): s 阅读全文
posted @ 2021-10-28 17:39 HyeJeong 阅读(45) 评论(0) 推荐(0)
摘要:继承 面向对象的继承指的是多个类之间的所属关系,即子类默认继承父类的所有属性和方法 python中,所有类默认继承object类,object类是基类,其他子类叫派生类 class.__mro__ 功能:返回 class 的父类继承关系 单继承 父类和子类一一对应的继承 class A(object 阅读全文
posted @ 2021-10-28 17:37 HyeJeong 阅读(179) 评论(0) 推荐(0)
摘要:泡泡面 0 - 2 不熟 2 - 4 一点熟 4 - 6 完全熟 6 - 过熟 class InstantNooddles(): def __init__(self): self.soak_time = 0 self.D = '' self.S = [] def Soak(self,time): s 阅读全文
posted @ 2021-10-28 17:30 HyeJeong 阅读(53) 评论(0) 推荐(0)
摘要:魔法方法 Python中, xx() 的函数叫魔法方法,指的是具有特殊功能的函数 init() __init__(self,[*arg]) 功能:初始化对象属性 参数:需要初始化的属性 __init__() 方法在创建对象时默认被调用,不需要手动调用 __init__() 中的self参数不需要传递 阅读全文
posted @ 2021-10-28 17:26 HyeJeong 阅读(68) 评论(0) 推荐(0)
摘要:添加和获取对象属性 添加对象属性 对象名.属性名 = value 类外面获取对象属性 对象名.属性名 类里面获取对象属性 self.属性名 class SccoerField(): def match(self): print('进行比赛') def print_info(self): print( 阅读全文
posted @ 2021-10-28 17:19 HyeJeong 阅读(56) 评论(0) 推荐(0)
摘要:类和对象 1.类和对象的关系 用类创建(实例化)对象,即类是设计图,对象是产物 2.类 定义:类是对一系列具有相同特征和行为的事物的统称,是抽象的概念 特征即属性(variable) 行为即方法(function) 3.对象 定义:通过类创建出来的实例,是实际存在的事物 4.语法 类: class 阅读全文
posted @ 2021-10-28 17:17 HyeJeong 阅读(67) 评论(0) 推荐(0)
摘要:文件和文件夹的操作 Python中文件和文件夹相关函数依赖于os模块 文件的操作 import os # os.rename(oldName,newName) # 功能:重命名文件或文件夹 os.rename('A[备份].jpg','AB.jpg') # os.remove(file) # 功能: 阅读全文
posted @ 2021-10-28 17:11 HyeJeong 阅读(112) 评论(0) 推荐(0)
摘要:文件备份 1.用户输入文件 old_name = input('输入需要备份的文件:') # A.jpg print(old_name) A.jpg 2.创建备份文件的文件名 判断用户输入的文件是否有效,若有效,则提取文件的名称和后缀,并组成备份文件名 P = old_name.rfind('.') 阅读全文
posted @ 2021-10-28 17:05 HyeJeong 阅读(169) 评论(0) 推荐(0)
摘要:seek() 文件对象.seek(offset , whence=SEEK_SET) 功能:移动文件指针 参数:offset:偏移量 whence:起始位置 0:文件开始的位置 1:指针当前的位置 2:文件结尾的位置 # 创建test3 f = open('test3.txt','w') f.wri 阅读全文
posted @ 2021-10-28 16:58 HyeJeong 阅读(183) 评论(0) 推荐(0)
摘要:读取函数 # 创建test1 f = open('test1.txt','a',encoding='utf-8') f.write('''aaaaa bbbbb ccccc ddddd eeeee''') f.close() read() 功能:读取文件对象中全部内容,若给出 num ,则只读取 n 阅读全文
posted @ 2021-10-28 16:55 HyeJeong 阅读(130) 评论(0) 推荐(0)
摘要:文件访问模式详解 打开文件 open() 参数1 文件路径 路径 url :统一资源定位符 相对路径:目标文件相对于当前文件所在的位置 1. ./1.txt ./ 当前目录中的 1.txt 2. 1.txt 文件前没有任何表示时,默认为当前目录中的 1.txt 3. ../a/1.txt ../ 当 阅读全文
posted @ 2021-10-28 16:51 HyeJeong 阅读(472) 评论(0) 推荐(0)
摘要:Python中的file操作 针对磁盘中文件的读写,即文件I/O 输入(Input) 输出(Output) file操作作用:把数据存储起来,让程序下一次执行的时候可以直接使用 file操作步骤:1.打开文件 open() 2.读写文件 read()/write() 3.关闭文件 close() 写 阅读全文
posted @ 2021-10-28 16:40 HyeJeong 阅读(325) 评论(0) 推荐(0)
摘要:filter() filter(func,iterable), 功能:过滤数据,把iterable中的每个元素放入func中处理,如果return了True,则保留这个数据,return了False,则丢弃这个数据 参数:func:函数 iterable:可迭代对象 返回值:保留下来的元素组成的it 阅读全文
posted @ 2021-10-28 16:36 HyeJeong 阅读(45) 评论(0) 推荐(0)
摘要:reduce() reduce(func, iterable ), 功能:每次从iterable中取出两个元素,放入func中处理 然后把运算结果和iterable中的下一个元素再放入func中处理,以此类推,直至耗尽 参数:func:函数 iterable:可迭代对象 返回值:最终的运算结果 注: 阅读全文
posted @ 2021-10-28 16:35 HyeJeong 阅读(180) 评论(0) 推荐(0)
摘要:map() map(func, *iterable ), 功能:把iterable中的每个元素放入func中处理,并返回一个新的iterator 参数:func:函数 iterable:可迭代对象 返回值:iterator 批量处理数据 # 普通方法批量处理数据 arr = [1,2,3,4,5] 阅读全文
posted @ 2021-10-28 16:31 HyeJeong 阅读(42) 评论(0) 推荐(0)
摘要:sorted() sorted(iterable, key=None, reverse=False ), 功能:排序,并返回新的排序list 参数:iterable:可迭代对象 key:可选,函数,默认值为None;该函数用于从iterable中的每一个元素中提取一个比较键 reverse:可选,控 阅读全文
posted @ 2021-10-28 16:30 HyeJeong 阅读(157) 评论(0) 推荐(0)
摘要:数学相关函数 abs(x), 功能:求x的绝对值 sum(iterable), 功能:对iterable中的各项求和并返回结果;iterable的项通常为数字 pow(x,y), 功能:求x的y次幂 max(iterable) max(arg1,arg2,*arg), 功能:返回iterable中的 阅读全文
posted @ 2021-10-28 16:27 HyeJeong 阅读(109) 评论(0) 推荐(0)
摘要:zip() zip(*iterable), 功能:接收多个可迭代对象,并把每个可迭代对象中的第i个元素组合在一起,形成一个新的元组迭代器 参数:*iterable:任意个数的可迭代对象 返回值:返回一个元素为tuple的迭代器 其中第i个tuple包含来自每个iterable的第i个元素 当所有it 阅读全文
posted @ 2021-10-28 16:23 HyeJeong 阅读(49) 评论(0) 推荐(0)
摘要:range() range(start, stop[, step]), 功能:生成一个数字序列 参数:start:序列开始的值,默认值为0 stop:序列结束的值 [, step]:可选,步进值,默认值为1 返回值:可迭代对象,是一个数字序列 range构造器的参数必须为整数 range()基础操作 阅读全文
posted @ 2021-10-27 02:36 HyeJeong 阅读(188) 评论(0) 推荐(0)
摘要:迭代器 可迭代的:适合作为函数或结构体的参数,这些函数和结构体期望在迭代结束之前可以从中获取连续的元素 能用next()调用的可迭代对象(Iterable)被称为迭代器对象(Iterator) 迭代器是一种访问集合元素的方式 迭代器可以记录访问的位置 迭代器访问可迭代对象时,从第一个元素开始逐一访问 阅读全文
posted @ 2021-10-27 02:25 HyeJeong 阅读(91) 评论(0) 推荐(0)
摘要:匿名函数 定义方式: lambda [参数列表] : 返回值 lambda是一个表达式,而非代码块,所以又被称为一行代码的函数 不需使用def定义,也没有函数名,除了自己的形参外无法访问其他任何数据,包括全局变量 计算 p = lambda x,y,z,i : (x + i) * y - 2*z p 阅读全文
posted @ 2021-10-27 02:20 HyeJeong 阅读(61) 评论(0) 推荐(0)
摘要:闭包函数 在一个函数中,外函数的返回值是内函数,且内函数调用了外函数中的局部变量,这个内函数叫闭包函数 作用:为了保护局部变量不受全局的影响,同时在函数内可以正常使用 使用全局变量 m = 0 def A() : global m m += 100 def B() : global m m += 2 阅读全文
posted @ 2021-10-27 02:17 HyeJeong 阅读(45) 评论(0) 推荐(0)
摘要:回调函数 在一个函数中,要求其中一个参数也是函数,并在原函数中调用这个作为参数的函数,这个作为参数的函数叫回调函数 sorted() map() reduce() filter() 等函数中,会要求传递函数作为参数 把回调函数作为参数的原函数和回调函数 # 原函数 def A(n) : print( 阅读全文
posted @ 2021-10-27 02:14 HyeJeong 阅读(42) 评论(0) 推荐(0)
摘要:递归函数 递归函数 定义一个函数后,在此函数内调用自己 递归函数必须要有结束,否则会一直循环下去,直到栈溢出 递归函数的执行过程是一层层向内执行到最里层,再一层层向外执行 递归函数的缺点 递归函数的效率并不高,性能浪费比较大,多数需求也能由for循环完成,所以能不用的情况尽量不要使用 # 递归函数 阅读全文
posted @ 2021-10-27 02:07 HyeJeong 阅读(349) 评论(0) 推荐(0)
摘要:函数封装 封装打印矩形的函数 当参数n为0时,打印实心矩形,否则打印空心矩形 # 方法一 def rectangle(L,W,n=0) : ''' 函数的作用:打印一个可以控制长、宽、实心、空心的矩形 :param L: 矩形的长,需为大于1的整数 :param W: 矩形的宽,需为大于1的整数 : 阅读全文
posted @ 2021-10-27 02:00 HyeJeong 阅读(66) 评论(0) 推荐(0)
摘要:函数的作用域及函数文档 函数也有作用域 nonlocal关键字 局部函数内使用nonlocal引用一个外层函数已定义的局部变量后,可以对该局部变量进行更改等操作,但不会把该变量提升为全局变量 n = 10 N = 0 def outerScope() : print('outer') A = 1 g 阅读全文
posted @ 2021-10-27 01:57 HyeJeong 阅读(58) 评论(0) 推荐(0)
摘要:变量的作用域 全局变量 在函数外定义,任意函数都可以访问,但不能更改变 global关键字 函数内使用global定义的变量是全局变量 函数内使用global引用一个已定义的全局变量后,可对该全局变量进行更改等操作 局部变量 在函数内定义,函数外不可以访问 函数中变量的类型 可变数据类型:list, 阅读全文
posted @ 2021-10-27 01:53 HyeJeong 阅读(108) 评论(0) 推荐(0)
摘要:函数的返回值-return 函数除了可以完成一定功能以外,还可以按需要返回指定内容和数据 return可以返回任意内容或数据 return返回的结果由函数调用处接收 return同时表示函数结束,return后面的内容不会被执行 没有返回值或返回空值,默认返回结果为None 函数可以分为两种类型: 阅读全文
posted @ 2021-10-27 01:49 HyeJeong 阅读(617) 评论(0) 推荐(0)
摘要:关键字参数 通常定义在收集参数后面 需要通过形参的名称来传递实参 def event(a,b,*gather,substitution,c='run') : print(a,b,c) print(gather) print(substitution) event('football','swimmi 阅读全文
posted @ 2021-10-27 01:46 HyeJeong 阅读(144) 评论(0) 推荐(0)
摘要:函数中参数的类型 普通参数 默认参数 收集参数 命名关键字参数 关键字收集参数 普通参数 也叫位置参数或顺序参数,每个形参都必须传递对应的实参 使用关键字参数传递普通参数时,不需按顺序传递 def event(a,b,c) : print(a,b,c) event(1,2,3) 1 2 3 默认参数 阅读全文
posted @ 2021-10-27 01:42 HyeJeong 阅读(157) 评论(0) 推荐(0)
摘要:函数 函数的定义 函数即方法-function,是一段有特定功能的代码块 函数的作用 函数的作用是封装一段代码,增加代码的复用率,提高开发效率,减少维护成本 函数的定义方法和使用方法 1.定义函数 def 函数名([参数列表]): 实现功能的内容 实现功能的内容 ... 2.使用函数 函数名([参数 阅读全文
posted @ 2021-10-27 01:36 HyeJeong 阅读(133) 评论(0) 推荐(0)
摘要:容器类型数据转换 非容器类型数据不能转换为除str外的其他容器类型数据 str可以转换为list、tuple、set,每个字符为一个元素,但不能转换为dict list、tuple、set、dict之间可以互相转换 dict转换为list、tuple、set时,只保留键,每个键为一个元素 A = ' 阅读全文
posted @ 2021-10-27 01:33 HyeJeong 阅读(108) 评论(0) 推荐(0)
摘要:基础数据类型转换 字符串 string 数字 整型 int 浮点型 float 布尔型 bool 复数 complex 列表 list 元组 tuple 字典 dict 集合 set 数据类型的分类 可变数据类型: list,dict,set 不可变数据类型: string,number,tuple 阅读全文
posted @ 2021-10-27 01:30 HyeJeong 阅读(151) 评论(0) 推荐(0)
摘要:set运算 set的主要运算 交集 & intersection() intersection_update() 并集 | union() update() 差集 - difference() difference_update() 对称差集 ^ symmetric_difference() sym 阅读全文
posted @ 2021-10-27 01:26 HyeJeong 阅读(64) 评论(0) 推荐(0)
摘要:set推导式 varset = {1,2,3,4,5,6,7} 普通set推导式 newset = {i<<2 for i in varset} print(newset) {4, 8, 12, 16, 20, 24, 28} 带有条件判断的set推导式 newset = {i<<2 for i i 阅读全文
posted @ 2021-10-27 01:23 HyeJeong 阅读(70) 评论(0) 推荐(0)
摘要:frozenset 语法: 1.冻集合只能使用frozenset()函数进行定义 2.frozenset定义后不能被修改,只能做set相关的数学运算 3.frozenset()本身就是一个强制类型转换的函数,可以把其他容器类型数据转为frozenset 定义 res = frozenset([1,' 阅读全文
posted @ 2021-10-27 01:20 HyeJeong 阅读(229) 评论(0) 推荐(0)
摘要:set 集合 set是一个无序且元素不重复的集合 set使用大括号{}或set()方法进行定义 set中的元素可以是str、number、tuple,但不能是list、dict、set set常见用途包括成员资格测试、从序列中删除重复项以及进行交集、并集、差集和对称差集等数学运算 set中的单个元素 阅读全文
posted @ 2021-10-27 01:17 HyeJeong 阅读(133) 评论(0) 推荐(0)
摘要:dict推导式 # 把dict中的key和value互换 vardict = {1:'a',2:2,'3':'c','d':4} # 普通方法 newdict = {} for k,v in vardict.items() : newdict[v] = k print(newdict) # dict 阅读全文
posted @ 2021-10-27 01:09 HyeJeong 阅读(80) 评论(0) 推荐(0)
摘要:dict相关函数 dict.keys() dict.values() dict.items() # list() # 功能:返回以key为元素的list res = list(vardict) print(res) # iter() # 功能:返回以key为元素的iterator res = ite 阅读全文
posted @ 2021-10-27 01:06 HyeJeong 阅读(48) 评论(0) 推荐(0)
摘要:dict 字典类型 dict用于存储一组或多组数据,dict使用大括号{}进行定义 dict是键值对的存储方式,name:admin 键和值之间使用“:”分隔,多组键值对之间使用“,”分隔 键必须是字符串或数字类型,值可以是任意类型 键命不能重复,值可以重复 # 例:记录一本书的相关数据 vard 阅读全文
posted @ 2021-10-27 01:02 HyeJeong 阅读(104) 评论(0) 推荐(0)
摘要:例题 # 斐波那契数列 def f(N) : m,n = 0,1 t = 0 while t < N : print(n,end=',') m,n = n,n+m t += 1 f(5) 1,1,2,3,5, # 1. def f1(N) : m,n = 0,1 t = 0 while t < N 阅读全文
posted @ 2021-10-27 00:54 HyeJeong 阅读(49) 评论(0) 推荐(0)
摘要:生成器与yield关键字 yield关键字使用在生成器函数中 yield与return 相同点: 函数执行到yield和return时,都将返回结果 不同点: 函数执行到return时,函数会结束调用 函数执行到yield时,函数会暂停,并记录当前的位置,下一次调用时从此位置继续执行 生成器函数被调 阅读全文
posted @ 2021-10-27 00:49 HyeJeong 阅读(83) 评论(0) 推荐(0)
摘要:tuple推导式 list推导式返回的是list,tuple推导式返回的是生成器 list推导式 ==> [变量运算 for i in iterable] ==> list tuple推导式 ==> (变量运算 for i in iterable) ==> 生成器 什么是生成器 生成器是一种特殊的i 阅读全文
posted @ 2021-10-27 00:37 HyeJeong 阅读(115) 评论(0) 推荐(0)
摘要:tuple 元组 tuple和list都用于存储多个数据内容,tuple使用小括号()进行定义 tuple中元素的值不可以被修改 tuple定义方式 vartuple = 1,'1' print(vartuple,type(vartuple)) vartuple = (1,) print(vartu 阅读全文
posted @ 2021-10-27 00:32 HyeJeong 阅读(74) 评论(0) 推荐(0)
摘要:例题 # 1.把dict中的键值对转为'key=value'格式 ''' {'user':'admin','age':20,'phone':'0101'} ==> ['user=admin','age=20','phone=0101'] ''' vardict = {'user':'admin',' 阅读全文
posted @ 2021-10-27 00:22 HyeJeong 阅读(59) 评论(0) 推荐(0)
摘要:list推导式 list推导式是一种创建list的简洁方法 其中每个元素都是另一个序列或iterable中的元素经过处理的结果,或是由满足特定条件的元素组成的的子序列 基础list推导式 # 1.创建一个次方list # 普通方法 varlist = [] for i in range(10) : 阅读全文
posted @ 2021-10-27 00:16 HyeJeong 阅读(127) 评论(0) 推荐(0)
摘要:浅拷贝 varlist = [1,2,3,['a','b','c']] newlist = varlist.copy() # 两个list是不同对象 print(varlist,id(varlist)) print(newlist,id(newlist)) # 操作一维元素 del newlist[ 阅读全文
posted @ 2021-10-27 00:12 HyeJeong 阅读(115) 评论(0) 推荐(0)
摘要:list相关函数 varlist = [1,2,3,3,'a','a','b'] # len() res = len(varlist) print(res) # list.count() # 功能:统计并返回指定元素在list中出现的次数 res = varlist.count('a') print 阅读全文
posted @ 2021-10-27 00:04 HyeJeong 阅读(82) 评论(0) 推荐(0)
摘要:list切片 list[start:stop:step] start:切片部分开始的位置,默认值为0 stop:切片部分结束的位置,默认值为list最后一个元素的序号 step:步进值,默认值为1 varl = [4,5,6,7,8,9,10,11] # 序列:0-7 # 从start到list结束 阅读全文
posted @ 2021-10-27 00:02 HyeJeong 阅读(122) 评论(0) 推荐(0)
摘要:list 列表类型 list用来存储一组数据内容,list使用中括号[]进行定义,每个数据之间使用“,”分隔 list中存储的数据可以使用其下标进行获取 list中存储的数据被称为元素,list中元素的值可以是任意类型,并且可以被修改 list中元素的值储存一个list时,被称为二级列表或多级列表 阅读全文
posted @ 2021-10-26 23:59 HyeJeong 阅读(295) 评论(0) 推荐(0)
摘要:字符串操作相关函数 # str.split(sep=None, maxsplit=-1) # 功能:以指定字符串sep为分隔,把目标字符串拆分maxsplit次,返回由拆分结果为元素组成的list # 若给出sep,连续的分隔符会被视为分隔空字符串 # 若给出maxsplit,则最多进行maxspl 阅读全文
posted @ 2021-10-26 23:52 HyeJeong 阅读(79) 评论(0) 推荐(0)
摘要:字符串查找相关函数 varstr = 'information management system' # str.find(sub[, start[, end]]) # 功能:正序查找指定字符串在目标字符串中首次出现的位置,未找到则返回-1 res = varstr.find('s') print( 阅读全文
posted @ 2021-10-26 23:50 HyeJeong 阅读(80) 评论(0) 推荐(0)
摘要:大小写转换相关函数 str = 'information MANAgement 9system' # str.capitalize() 把字符串的首字母大写,其余字母小写;若首个字符不是英文,则只把其余字母小写 res = str.capitalize() print(res) # str.titl 阅读全文
posted @ 2021-10-26 23:47 HyeJeong 阅读(187) 评论(0) 推荐(0)
摘要:字符串格式化 format()方法 , f方法 format(*args,**kwargs) # 1.普通方法 a = '阿尔萨斯' str1 = '但{}和{}被{}的决定震惊了'.format('乌瑟尔','吉安娜',a) print(str1) # 2.通过索引传参 str2 = '但{2}和 阅读全文
posted @ 2021-10-26 23:43 HyeJeong 阅读(52) 评论(0) 推荐(0)
摘要:字符串相关操作 + , 拼接 * , 复制 [] , 索引、切片 # + 拼接 str1 = 'foot' str2 = 'ball' s = str1 + str2 print(s) s = 'foot' + 'ball' print(s) # * 复制 s = '耗子尾汁' * 3 print( 阅读全文
posted @ 2021-10-26 23:35 HyeJeong 阅读(79) 评论(0) 推荐(0)
摘要:string 字符串类型 I_S = 'information systems' hello = '你好' print(I_S,type(I_S)) res = type(hello) print(hello,res) information systems <class 'str'> 你好 <cl 阅读全文
posted @ 2021-10-26 23:28 HyeJeong 阅读(72) 评论(0) 推荐(0)
摘要:Number 数字类型 int 整型 float 浮点类型 complex 复数 bool 布尔类型 varn1 = 10 print(varn1,type(varn1)) varn2 = 3.14 print(varn2,type(varn2)) # 复数 varn = 5 + 6j print( 阅读全文
posted @ 2021-10-26 23:16 HyeJeong 阅读(185) 评论(0) 推荐(0)
摘要:百钱买百鸡 A鸡3元,B鸡1元,C鸡0.5元,用100元买100只鸡,共有多少种买法? 方法一 因为100元刚好买100只B鸡,所以不存在只买A鸡和B鸡,或只买C鸡和B鸡且有解的情况 当把尽量多的钱买A鸡,最多可以买33只A鸡余1元,用余下的钱买尽量多的鸡(33只A,2只C,共35只) 此时减少A鸡 阅读全文
posted @ 2021-10-26 23:13 HyeJeong 阅读(410) 评论(0) 推荐(0)
摘要:获取斐波那契数列中指定位数的数字 n1 = 0 n2 = 1 x = 3 y = int(input('请输入要获取的位数:')) if y == 1 : print(f'斐波那契数列第{y}位为:{n1}') elif y == 2 : print(f'斐波那契数列第{y}位为:{n2}') el 阅读全文
posted @ 2021-10-26 23:08 HyeJeong 阅读(58) 评论(0) 推荐(0)
摘要:输入对角线长度,输出对应大小的菱形 l为对角线长度,必须是大于1的奇数,c为行数 line = input('请输入菱形对角线长度(必须是大于1的奇数):') l = int(line) c = 1 while c <= (l+1)/2 : # 含对角线在内的菱形上半部分 n = c * 2 - 1 阅读全文
posted @ 2021-10-26 23:05 HyeJeong 阅读(95) 评论(0) 推荐(0)
摘要:循环结构 while循环 , for循环 循环内的操作语句: continue 结束本次循环,继续下次循环 break 跳出当前循环代码块 pass 占位 while循环 level = 1 price = 5 while price <= 2000 : level += 1 price *= 2 阅读全文
posted @ 2021-10-26 22:56 HyeJeong 阅读(43) 评论(0) 推荐(0)
摘要:分支结构 单向分支 双向分支 多向分支 巢状分支 写分支结构时,要严格遵守python语法规则 判断区间不能为空 相同代码块的代码保持相同的缩进 # 例:让用户输入一个年份,判断该年的生肖 # 鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪 zodiac = ['猴','鸡','狗','猪','鼠' 阅读全文
posted @ 2021-10-26 22:52 HyeJeong 阅读(59) 评论(0) 推荐(0)
摘要:运算优先级 从高到低依次排列 ** ~ +@ -@ * / % // + - << >> & | ^ < > <= >= == != = += -= *= /= %= //= **= is is not in not in not and or (有序,依次从高到低) a = 10 and (30 阅读全文
posted @ 2021-10-26 22:46 HyeJeong 阅读(108) 评论(0) 推荐(0)
摘要:恢复内容开始 ### 成员运算符 > in , not in ``` S = 'information management system' l = ['information','management','system'] t = ('information','management','syst 阅读全文
posted @ 2021-10-26 22:45 HyeJeong 阅读(100) 评论(0) 推荐(0)
摘要:二进制 十进制 转换为 二进制 除2取余,逆序排列 13769 / 2 商 6884 余 1 6884 / 2 商 3442 余 0 3442 / 2 商 1721 余 0 1721 / 2 商 860 余 1 860 / 2 商 430 余 0 430 / 2 商 215 余 0 215 / 2 阅读全文
posted @ 2021-10-26 22:35 HyeJeong 阅读(238) 评论(0) 推荐(0)
摘要:赋值运算 = , += , -= , *= , /= , %= , **= , //= x = 7 y = 3 x **= y # x = x ** y print(x) x //= y # x = x // y print(x) y %= x print(y) 343 114 3 比较运算 == 阅读全文
posted @ 2021-10-26 22:26 HyeJeong 阅读(129) 评论(0) 推荐(0)
摘要:算术运算符 + , - , * , / , % , ** , // a,b = 3,10 print(b / a) print(b % a) print(b ** a) print(b // a) 3.3333333333333335 1 1000 3 字符串运算 字符串可以与字符串相加或与正整数相 阅读全文
posted @ 2021-10-26 22:18 HyeJeong 阅读(208) 评论(0) 推荐(0)
摘要:格式化符号 格式化符号: %s:字符串 %d:无符号的十进制整数 %xyd:若d的长度不足y,则用x补全至y,若d的长度超出y则直接输出d %f:浮点数 %.xf:保留x位小数 name = 'messi' id = 1 age = 34 num = 3.1415926 vars = ('姓名:%s 阅读全文
posted @ 2021-10-26 22:01 HyeJeong 阅读(68) 评论(0) 推荐(0)
摘要:变量 变量就是用一个英文字符串来记录或标记一些数据,在程序中可随时修改变量的值,且将始终记录变量的最新值 变量名需要满足命名规范 变量的定义方式 # 第一种定义方式 A = 10 B = 20 a = b = c = d = 30 print(A, B, a, b, c, d) # 第二种定义方式 阅读全文
posted @ 2021-10-26 21:52 HyeJeong 阅读(189) 评论(0) 推荐(0)
摘要:认识python脚本 编写python程序的文件,称为python的脚本或程序 python脚本的文件后缀名必须是.py PyCharm使用注意 需要明确知道当前PyCharm选择的python环境 注释 注释就是一段文字说明,内容不会被执行,注释的作用是解释、说明、调试 python脚本中注释有以 阅读全文
posted @ 2021-10-26 21:47 HyeJeong 阅读(84) 评论(0) 推荐(0)