
python
七天快乐
这个作者很懒,什么都没留下…
展开
-
day20
文章目录1. 排序算法1.1 冒泡排序1.2 插入排序1.3 快速排序2. 链表2.1 节点链2.2 链表3. 作业3. 作业1. 排序算法1.1 冒泡排序冒泡重复的遍历序列,一次完成相邻两个元素的比较,如果不符合规则-进行位置交换遍历这个序列直到没有元素可以进行交换代表冒泡排序完成。List = [1,10,9,2,3]# 第一轮排序:第一个值 第二个值。 比较较大值-放到序列最后位置List[0],List[1] #不重新排序List[1],List[2] #颠倒次序'''原创 2020-08-21 19:51:50 · 124 阅读 · 0 评论 -
day18
文章目录1. 数据结构介绍2. 数据结构算法2.1 **数组模块**2.2 **列表**2.3 **元组**2.4 字典2.5 二维列表2.6 集合2.7 矩阵3. 数据结构类型4. 算法复杂度分析4.1 时间复杂度4.2 空间复杂度5. 常见排序1. 数据结构介绍概念 计算机学科基本概念,有助于对编程语言程序执行效率的提高运算分类 存放在容器中的数据需要执行的数据结构操作如下:遍历: 逐个打印所有元素插入:在特定位置添加一个元素删除:删除特定位置的元素搜索:根据给定索引或者值对整原创 2020-08-19 20:59:45 · 187 阅读 · 0 评论 -
正则表达式
文章目录正则表达式1. 正则表达式2. 字符组 []3. 元字符4. 量词5. 贪婪模式与懒惰模式6. 转义符正则表达式1. 正则表达式匹配字符串的一套规则2. 字符组 []#[abc]只匹配其中任意一个#[a-z][0-9][A-Z]#[a-zA-Z]匹配一个字母#根据ASCII码从小到大排好#[0-9a-zA-Z]匹配一个字母或数字3. 元字符#\d->匹配一个数字[0-9]#\w->[0-9a-zA-Z]加下划线_#空白(空格/tab/enter)->原创 2020-08-18 21:22:44 · 120 阅读 · 0 评论 -
day17
文章目录1. 作业2. IO2.1 with用法2.2 csv2.3 Json2.4 openpyxl1. 作业'''作业题: 1. 创建data.txt文件写入数据 1-100之间整数。1000行. (添加功能,写入后对数据进行读取) import random #普通方法操作文件 f = open('./data.txt','w+') for i in range(1000): f.write(st原创 2020-08-18 16:31:01 · 179 阅读 · 0 评论 -
day16
文章目录1. 异常处理1.1 错误1.2 异常2. 文件操作2.1 文件操作2.2 读文件2.3 写文件2.4 追加2.5 读写2.6 写读2.7 追加读2.8 seek\tell3. 练习题3. 练习题1. 异常处理1.1 错误错误:语法错误代码-不符合Python基本语法,解释器无法运行代码def test: pass逻辑错误代码在逻辑上不完整、不严谨,存在漏洞通过数据测试完成复杂逻辑错误验证# 使用input接收外部输入,采用字符串处理方式对输入数据进行判原创 2020-08-17 16:53:55 · 138 阅读 · 0 评论 -
day15
文章目录1.random模块1.1 常用方法1.2.常用函数1.2.1 整数1.2.2 序列1.2.3 真值2. os模块2.1 系统操作2.2 目录操作3. sys模块4. logging模块5. 作业题1.random模块随机模块。生成随机数据-伪随机random1.1 常用方法import random#生成随机数:0-1之间的小数print(random.random())#循环方式实现输出5个0-1之间的小数,总精度4位for i in range(5): prin原创 2020-08-14 21:05:48 · 307 阅读 · 0 评论 -
python 面向对象之多态及元类
文章目录python 面向对象之多态及元类多态元类python 面向对象之多态及元类多态多态首先是建立在继承的基础上的,先有继承才能有多态。多态是指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式。多态成立的另一个条件是在创建子类时候必须使用父类new子类的方式元类类也是对象,可以在运行时动态的创建。对于动态的创建类,可以使用type,它可以接受一个类的描述作为参数,然后返回一个类。type还可以创建带有属性的类,可以接受一个字典来为原创 2020-08-13 21:56:31 · 145 阅读 · 0 评论 -
day14
文章目录day14类方法与静态方法time模块datetime模块1.date类2.time类3.timedelta类4.tzinfo类2020-08-13 01:01:00+09:00day14类方法与静态方法静态方法和显示名称,对于处理一类本地数据更好的解决方案类方法更适合处理层级之间每一类的不同数据"""class Student: count=0 def __init__(self,name,age): self.name=name原创 2020-08-13 21:36:59 · 304 阅读 · 0 评论 -
python类与对象之反射和内置方法
文章目录python类与对象之反射和内置方法反射内置方法python类与对象之反射和内置方法反射在Python中,反射指的是通过字符串来操作对象的属性,涉及到四个内置函数的使用。Python中一切皆对象,类和对象都可以用下述四个方法–>hasattr(),getattr(),setattr(),delattr()class People(): name = "" age = 10 def __init__(self,age): # self.name原创 2020-08-13 12:36:16 · 216 阅读 · 0 评论 -
day12
文章目录多继承type与objectsuper方法装饰器回顾类中的特殊方法类中的特殊方法多继承'''python2:深度优先python3:广度优先多继承 深度遍历 广度遍历 Python2: 多继承时 之前,经典类继承方式,采取深度优先原则 class className(object): pass 之后,新式类继承方式,广度优先原则 class class原创 2020-08-13 08:30:51 · 190 阅读 · 0 评论 -
exercise
"""1.原功能:entry_grade可以完成『成绩录入功能』可以重复录入成绩,默认所有输入都是合法的(1~100之间的数)当录入成绩为0时,结束成绩的录入将录入的成绩保存在列表中并返回给外界,eg:[90, 80, 50, 70]"""def entry_grade(): grade_list = [] while True: grade = int(input("grade(input 0 to exit): \n")) if grade原创 2020-08-13 08:16:26 · 278 阅读 · 0 评论 -
python 面向对象编程之继承
文章目录python 面向对象编程之继承1.继承概念2.多继承的优劣3.Mixin机制python 面向对象编程之继承1.继承概念继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类。子类会遗传父类的属性和方法(私有化除外)。python中新建的类支持多继承关系,一个类可以由一个或多个父类。(新式类)在Python3中,没有显式地继承object,也会默认继承该类。继承产生原因?-->用原创 2020-08-12 10:03:09 · 300 阅读 · 0 评论 -
python对象编程之封装
文章目录python对象编程之封装1.作业2.概要3.隐藏属性和方法4.property装饰器python对象编程之封装1.作业__init__与self在类中的所用进行说明__init__方法是类实例创建之后调用, 对当前对象的实例的一些初始化, 没有返回值。子类可以不重写__init__方法,实例化子类时,会自动调用超类中已定义的__init__方法。self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数原创 2020-08-18 16:34:49 · 251 阅读 · 0 评论 -
如何生成验证码python实现
# -*- coding: utf-8 -*-# @Software: PyCharmimport randomlis = []# chr函数可实现ascii码和数字的相互转换# 通过chr()函数取随机大写字母A-Zdef A_str(n): for i in range(n): num1 = random.randint(65, 90) # 在65-90之间随机一个整数 str1 = chr(num1) lis.append(原创 2020-08-05 17:58:27 · 233 阅读 · 0 评论 -
python基础
#python基础1.判断1.1 布尔值典型值:True,False;非典型值:[],{}…**布尔函数:**bool(data),返回一个布尔值。a = bool(12)print(a)#True1.2 ifif 条件判断:a = 12if a > 12:#为真时执行print()函数 print("此数大于12!")#input()函数:内置函数,实现从终端获取一个数据,以字符串格式返回 <class 'str'>#python内置了浮点型fl原创 2020-07-31 15:26:03 · 99 阅读 · 0 评论 -
python
文章目录2. 基础语法2.1 函数2.2 标识符2.3 关键字2.4 模块与包2.5 三方库的下载和安装2.6 三方库在线获取安装2.7 基础数据类型2.7.1Number2.7.3字符串2.7.3字符串2. 基础语法2.1 函数 type() 可返回数据所属类型 print() 进行数据的输出print(type(100))# class int help()函数 返回数据的用法help(int)'''Help on class int in module builtin原创 2020-07-29 15:12:38 · 157 阅读 · 0 评论 -
python基本运算符
2.基本运算符注释:单行注释:#,快捷键ctrl+/多行注释:''''''或者""""""运算符:算术比较赋值逻辑位成员身份2.1 算术运算符描述实例+两个对象相加(字符串拼接)a+b-两个对象相减a-b*两个对象相加a*b/两个对象相除a/b%返回除法余数a%b**幂运算a**b//返回除法的商a//b2.2 比较逻辑判断运算符描述实例==比较两个对象是否相原创 2020-07-29 15:08:31 · 112 阅读 · 0 评论 -
python数据类型
python数据类型1. 基本数据类型NumberStr:普通字符串:‘’、“”、“”“”“”、‘’‘’‘’字节码字符串:b‘’, b"",book= 'Python基础'print(type(book.encode('utf-8')))encodeBook = book.encode('utf-8')decodeBook = encodeBook.decode('utf-8')print(decodeBook)# utf-8 gbk 和ascii码是啥关系?#原创 2020-07-29 15:04:45 · 366 阅读 · 0 评论 -
Django
Django基本命令1.新建一个 django projectdjango-admin.py startproject project_name特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试注意 project_name 是自己的项目名称,需要为合法的 Python 包名,如不能为 1a 或 a-b。2.新建 app要先进入项目目录下,cd project_name 然后执行下面的命令(下同,已经在项目目录下则不需要 cd原创 2020-07-06 14:50:11 · 110 阅读 · 0 评论 -
查找
算法查找线性查找(顺序查找)基本思想:从数据的一端开始查找,比较元素是否与查找元素相同,若有则查找成功,直到另一端结束。既适用于线性表的顺序存储结构,也适用于线性表的链式存储结构,但查找效率低。二分查找(折半查找)基本思想:将待查找元素与序列中间值进行比较,若相等则找到,大于中值,则可以在右半边继续开始同样的查找工作,小于中值,则在左边。分块查找(索引顺序查找)基本思想:将数据进行分块,并用一个索引不表存储相关信息;将数据分成若干块,其中前一块的最大值不能大于后一块的最小值,用一个索引表原创 2020-07-01 18:21:17 · 113 阅读 · 0 评论 -
查找
算法查找线性查找(顺序查找)基本思想:从数据的一端开始查找,比较元素是否与查找元素相同,若有则查找成功,直到另一端结束。既适用于线性表的顺序存储结构,也适用于线性表的链式存储结构,但查找效率较低。#python实现def sequential_search(nums, key): for i in range(0,len(nums)): if nums[i] == key: return i return False二分查找(折半查找)原创 2020-07-01 18:17:05 · 101 阅读 · 0 评论 -
算法
算法:排序算法:堆排序:堆排序(Heap sort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点,即小根堆(大根堆)。#python3实现def big_endian(arr,start,end): root=start child=root*2+1 #表示左孩子 while child<=end: #孩子比最后一个节点还大,也就意味着原创 2020-06-30 14:27:48 · 130 阅读 · 0 评论 -
算法
算法:排序算法:归并排序:归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。归并操作的工作原理如下:第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列。第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置。第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置。重复步骤3直到某一指针超出序列尾,原创 2020-06-30 14:10:12 · 90 阅读 · 0 评论