随笔分类 -  python基础

单例模式
摘要:设计模式之单例模式 【一】什么是单例模式 单例设计模式(Singleton Design Pattern): 一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。 当一个类的功能比较单一,只需要一个实例对象就可以完成需求时,就可以使用单例模式来 阅读全文

posted @ 2024-05-09 19:17 silence^ 阅读(9) 评论(0) 推荐(0) 编辑

元类
摘要:Ⅰ 元类 【一】元类简介 # 元类 即产生类的类叫做type type就是所有类默认的元类 print(type(123)) # <class 'int'> print(type([12, 23, 43])) # <class 'list'> print(type({'name': 'silence 阅读全文

posted @ 2024-05-08 20:46 silence^ 阅读(11) 评论(0) 推荐(0) 编辑

抽象,多态,反射,内置方法
摘要:Ⅰ 抽象 【一】什么是抽象 将某几个具体的生物,根据特征总结成一个类,逐层向上总结 # 例如: # 唐老鸭 肉鸭 北京烤鸭 > 鸭子 # 北极熊 黑熊 --> 熊 # 猫 老虎 --> 猫科 # 鸭子 熊 猫科 --> 动物 【二】什么是继承 与抽象相反,自上而下解包 # 例如: # 动物 > 熊 阅读全文

posted @ 2024-05-07 19:45 silence^ 阅读(19) 评论(0) 推荐(0) 编辑

继承,派生,组合
摘要:Ⅰ面向对象之继承 【一】继承介绍 【1】什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类 新建的类如果有自己的属性称为派生类或子类。 【2】继承的优点 子类会“”遗传”父类的属性,从而解决代码重用问题(去掉冗余的代码) 【3】继承 阅读全文

posted @ 2024-05-06 17:32 silence^ 阅读(33) 评论(0) 推荐(0) 编辑

面向对象三大特征之封装及property
摘要:Ⅰ 面向对象三大特征之封装 【一】面向对象的三大特性 # 继承 # 封装 # 多态 # 其中之一就是封装:就是将数据与功能整合到一起 # 类里面定义数据和方法的时候,都会有一个需求,某些方法和属性是不能让别人看到的 【二】什么是封装 # 封装就是对具体的对象的一种抽象 # 意思就是将某部分功能和代码 阅读全文

posted @ 2024-04-30 17:01 silence^ 阅读(11) 评论(0) 推荐(0) 编辑

面向对象象和面向过程
摘要:Ⅰ 面向对象思想前戏 【一】人狗大战小游戏 【1】人狗大战小游戏描述 我们现在需要设计一个人狗大战的小游戏 人可以打狗,狗掉血,狗可以咬人,人掉血 【2】人狗大战小游戏实现 (1)分析 人的属性 人的名字 人的类型 人的年龄 人的攻击力 人的生命值 狗的属性 狗的名字 狗的类型 狗的攻击值 狗的生命 阅读全文

posted @ 2024-04-29 21:16 silence^ 阅读(7) 评论(0) 推荐(0) 编辑

二分法,冒泡排序
摘要:Ⅰ 算法之二分法 算法其实就是解决问题的有效方法 ''' 二分法使用有前提:数据集必须有先后顺序(升序,降序) ''' ''' 二分法原理 获取数据集中间的元素 比对大小 如果中间元素大于目标数据 那么保留数据集的左边一半 如果中间元素小于目标数据 那么保留数据集的右边一半 针对剩下的数据集再二分 阅读全文

posted @ 2024-04-25 15:49 silence^ 阅读(47) 评论(0) 推荐(0) 编辑

匿名函数,内置函数
摘要:Ⅰ 匿名函数 匿名函数的意思就是没有函数名 需要结合其他函数一起使用 【1】函数分类 # 【1】有名函数 def login(): ... login() # 【2】匿名函数(无名函数) # 语法:lambda 参数: 表达式 # lambda : 匿名函数的关键字 # 参数可以放位置参数关键自残术 阅读全文

posted @ 2024-04-24 17:13 silence^ 阅读(20) 评论(0) 推荐(0) 编辑

序列化模块,subprocess模块,re模块,常用正则
摘要:Ⅰ序列化模块 【1】json模块 ''' json模块是一个序列化模块 ,主要用于跨语言传输''' 1.由下图可知json格式数据是不同编程语言之间数据交互的媒介 2.json格式数据的具体特征 结论一中:数据基于网络传输肯定是二进制格式 在python中bytes类型的数据可以直接看成是二进制格式 阅读全文

posted @ 2024-04-23 21:21 silence^ 阅读(13) 评论(0) 推荐(0) 编辑

time模块,datetime模块,os模块,random模块,logging模块,hashlib模块
摘要:Ⅰtime模块 【1】表示时间的三种方式 # 【1】时间戳表示时间 : 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数 # 我们当时给函数计时 两次时间戳相减 得到了消耗的总时间 # 【2】元组(struct_tim 阅读全文

posted @ 2024-04-21 18:39 silence^ 阅读(29) 评论(0) 推荐(0) 编辑

模块介绍,包,json模块
摘要:【一】模块 1.什么是模块 模块就是一系列功能的结合体,可以直接使用 2.为什么要模块 极大地提升开发效率 3.模块的三种来源 【1】内置模块 无需下载,解释器自带,直接导入使用即可 【2】自定义模块 自己写的代码,封装成模块,自己用或者是发布到网上供别人使用 【3】第三方模块 别人写的发布到网上, 阅读全文

posted @ 2024-04-19 17:09 silence^ 阅读(13) 评论(0) 推荐(0) 编辑

迭代器,生成器
摘要:可迭代对象 【1】什么叫迭代? 迭代其实就是更新换代,每一次迭代的过程都需要依赖上一次的结果 例如 # 属于迭代,每次结果都依据上一次结果 # 例一 n = 1 while True: print(n) n +=1 # 例二 l1 = [1,2,3,4,5,6,7,8,9] n = 0 while 阅读全文

posted @ 2024-04-17 23:25 silence^ 阅读(14) 评论(0) 推荐(0) 编辑

闭包函数,装饰器详解
摘要:闭包函数 【1】.闭包函数两大特征 1.闭:定义在函数内部的函数 2.包:内部函数使用了外层函数名称空间中的名字 【2】在代码中怎么走 def outer(): def inner(): print(f'真简单') return inner res = outer() 在上述代码中怎么走 第一步定义 阅读全文

posted @ 2024-04-17 00:33 silence^ 阅读(15) 评论(0) 推荐(0) 编辑

函数对象,闭包函数及装饰器了解
摘要:函数对象 【1】定义 函数对象指的是函数可以被当做数据来处理 【2】可以直接被引用 定义一个函数用一个新的变量名来存,用新的变量名来调用 # 定义一个函数 def add(x, y): return x + y # 将函数地址绑定给一个变量 func = add # 通过这个变量找到对应的地址,从而 阅读全文

posted @ 2024-04-15 16:01 silence^ 阅读(6) 评论(0) 推荐(0) 编辑

函数的参数,名称空间,作用域
摘要:1 函数的调用方式 【1】直接调用 函数名()-->调用函数 def student(name, age): print(f"my name is {name} , my age is {age}") # 函数名()-->调用函数 student(name="silence", age=16) # 阅读全文

posted @ 2024-04-14 21:53 silence^ 阅读(12) 评论(0) 推荐(0) 编辑

函数介绍及其定义
摘要:1 函数的概念 函数就是我们将某一块代码封装起来后可以在某处直接使用的代码快 使用前提:只有先定义函数才能使用函数 先定义再调用 2.函数的语法 循环构建的时候有关键字if while else elif… 函数也有一个关键字def 【1】标准函数结构 def 函数名(参数1,参数2,...): " 阅读全文

posted @ 2024-04-10 21:24 silence^ 阅读(58) 评论(0) 推荐(0) 编辑

异常捕获与推导式
摘要:异常捕获 1.什么是异常 异常就是程序在运行当中遇到的报错 为了程序的健壮性,就要捕获到指定异常并对异常进行处理 异常处理包括:断掉程序,重启程序,进入到指定的处理流程。 2.捕获异常 普通的if是捕获不到的 使用python自带的异常捕获语法进行捕获 【1】 try…except….一起使用 pr 阅读全文

posted @ 2024-04-09 18:29 silence^ 阅读(7) 评论(0) 推荐(0) 编辑

GC机制+字符编码+文件操作
摘要:深浅拷贝 深浅拷贝问题 1.1 定义理解 给一个列表,想基于这个列表进行更改生成一个新的列表。 方式一:将原来列表复制一份一摸一样的 只对新列表生效,对原来的不生效 num_list = [1,2,3] num_list_new = [1,2,3] num_list_new.append(4) pr 阅读全文

posted @ 2024-04-08 19:59 silence^ 阅读(10) 评论(0) 推荐(0) 编辑

元组,布尔,集合数据内置方法
摘要:1 元组类型内置方法 【一】元组的定义 () 在元组的内部,只有一个元素的时候要+ ’ , ‘ 。如果不加’ , ‘就会变成了一个字符串或者是其他的类型。 【二】类型强转 转换其他数据类型为元组 整数类型不行,布尔类型也不行 print(tuple([1,2,3])) #(1,2,3) print( 阅读全文

posted @ 2024-04-03 16:47 silence^ 阅读(16) 评论(0) 推荐(0) 编辑

列表,字典内置方法
摘要:1 字符串内置方法(了解) 1.1 字符串的查找 字符串内部的字符 【1】find方法 name = "hello baby" # 默认是从左向右找并且返回当前字符在字符串内部的索引坐标 print(name.find("a")) # 7 name = "hello baby" # 默认只能找一次, 阅读全文

posted @ 2024-04-02 19:19 silence^ 阅读(10) 评论(0) 推荐(0) 编辑

导航