Python
少冰九分糖
billbill大学在校生
专栏是为自己服务的, 只是为了记录 总结对自己真正有用的东西, 如果能帮到部分人,便是意外之喜!
展开
-
Python代码--爬取音乐
音乐助手原创 2022-06-24 14:42:10 · 5007 阅读 · 28 评论 -
Python数据加密
数据加密原创 2022-06-05 17:41:07 · 1052 阅读 · 0 评论 -
python内存管理
整数1为一个对象。而a是一个引用。利用赋值语句,引用a指向对象1。Python是动态类型的语言对象与引用 分离。Python像使用“筷子”那样,通过引用来接触和翻动真正的食物——对象。为了探索对象在内存的存储,我们可以求助于Python的内置函数id()。它用于返回对象的身份(identity)。其实,这里所谓的身份,就是该对象的内存地址。缓存机制在Python中,整数和短小的字符,Python都会缓存这些对象,以便重复使用。当我们创建多个等于1的引用时,实际上是让所有这些引用指向同一个对原创 2022-06-05 17:39:52 · 651 阅读 · 0 评论 -
链表+二叉树
链表二叉树原创 2022-06-05 17:38:50 · 64 阅读 · 0 评论 -
Python装饰器
装饰器原创 2022-06-05 17:38:10 · 62 阅读 · 0 评论 -
Python生成器
究其原因,主要是因为,在其他主流语言里面没有生成器的概念。正是由于生成器是一个“新”的东西,所以,它一方面没有引起广大工程师的重视,另一方面,也增加了工程师的学习成本,最终导致大家错过了Python中如此有用的一个特性。那到底什么是生成器呢?下面,我们一起来看看如何创建一个生成器!2种方式...原创 2022-06-05 17:37:21 · 146 阅读 · 0 评论 -
Python之推导式
推导式原创 2022-06-05 17:36:40 · 90 阅读 · 0 评论 -
Python之迭代器
迭代器原创 2022-06-05 17:35:33 · 197 阅读 · 0 评论 -
Python之异常处理
python异常处理原创 2022-06-05 17:34:49 · 527 阅读 · 0 评论 -
Python之reflect反射 各个函数 单例模式
首先,我们要区分两个概念——“标识名”和“字符串”。两者字面上看起来一样,却是两种东西:前者是函数func的函数名,后者只是一个叫“func”的字符串,两者是不同的事物。我们可以用func()的方式调用函数func,但我们不能用"func"()的方式调用函数。说白了就是,不能通过字符串来调用名字看起来相同的函数!那么反射的作用或者意义是什么呢?考虑有这么一个场景:需要根据用户输入url的不同,调用不同的函数,实现不同的操作,也就是一个WEB框架的url路由功能。其次,有一个visit.py文件,作为程序原创 2022-06-05 17:33:55 · 277 阅读 · 0 评论 -
Python魔术方法和属性
Python中有大量类似这种以双下划线开头和结尾的特殊成员及“魔法方法”,它们有着非常重要的地位和作用,也是Python语言独具特色的语法之一!下面我们将常用的魔方方法进行讲解介绍:注:此方法一般无须自定义,因为Python自带内存分配和释放机制,除非你需要在释放的时候指定做一些动作。析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。如果一个类中定义了方法,那么在打印对象时,默认输出该方法的返回值。这也是一个非常重要的方法,需要用户自己定义。如果没有定义方法,打印结果是:需要提醒的是,定义的属性仅对当原创 2022-06-03 12:40:55 · 235 阅读 · 0 评论 -
Python成员保护和访问限制
在类的内部,有各种变量和方法。这些数据成员,可以在类的外部通过实例或者类名进行调用,例如:上面的调用方式是我们大多数情况下都需要的,但是往往我们也不希望所有的变量和方法能被外部访问,需要针对性地保护某些成员(账户余额),限制对这些成员的访问。这样的程序才是健壮、可靠的,也符合业务的逻辑。在Python中,如果要让内部成员不被外部访问,可以在成员的名字前加上两个下划线__,这个成员就变成了一个私有成员(private)。私有成员只能在类的内部访问,外部无法访问。那外部如果要对和 进行访问和修改呢?在类的内原创 2022-06-03 12:40:16 · 480 阅读 · 0 评论 -
Python之类方法和静态方法的作用
思考:实例方法中的self参数的值是从哪来的?类方法如下场景:假设我有一个学生类和一个班级类,想要实现的功能为:学生类继承自班级类,每实例化一个学生,班级人数都能增加;最后,我想定义一些学生,获得班级中的总人数。思考:这个问题用类方法做比较合适,为什么?静态方法是类中的"函数”。静态方法主要是用来存放逻辑性的代码,逻辑上属于类,但是和类本身没有关系,也就是说在静态方法中,不会涉及到类中的属性和方法的操作。可以理解为,静态方法是个独立的、单纯的函数,它仅仅托管于某个类的名称空间中,便于使用和维护。原创 2022-06-03 12:39:23 · 2467 阅读 · 0 评论 -
Python.接口类 抽象类 多态
接下来我们来定义一个,提供两个接口,如下:接口类仅提供接口的约束,不实现其接口功能,由其子类的实现,如果子类Rectangle不实现接口类GraphicRule中所有的接口,即area和perimeter,在实例对象的时候,会抛出异常抽象类什么是抽象类抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化。为什么要有抽象类?如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。比如我们有香蕉的类,有苹原创 2022-06-03 12:38:26 · 1303 阅读 · 0 评论 -
Python之封装、继承和多态
Python支持多父类的继承机制。继承示例代码:派生子类添加自己独有的方法或属性super函数如果你想强制调用父类的成员该如何实现呢?使用super()函数!这是一个非常重要的函数,最常见的就是通过super调用父类的实例化方法!语法:,需要传入的是子类名和self,调用的是父类里的方法,按父类的方法需要传入参数。重写思考:如果子类从父类中继承过来的方法,满足不了子类的应用,怎么办呢?单继承继承的作用:实现了程序的高复用,大大缩短程序原创 2022-06-03 12:36:02 · 419 阅读 · 0 评论 -
Python之面对对象
你现在是一家游戏公司的开发人员,现在需要你开发一款叫做的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的属性和技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢?两个角色对象生成了,狗和人还有不同的功能呀,狗会咬人,人会打狗. 怎么实现呢,。。想到了, 可以每个功能再写一个函数,想执行哪个功能,直接调用 就可以了,对不?上面两个函数相当于造了两个模子。游戏开始,如何塑造一个具体的人或者狗的角色呢?上面的功能实现的简直是完美...原创 2022-06-03 12:28:44 · 62001 阅读 · 0 评论 -
Python. 一二维数组&&csv数据处理
一二维数组&&csv数据处理原创 2022-06-03 12:27:56 · 1665 阅读 · 0 评论 -
匿名函数&&常用的高阶函数
匿名函数&&常用的高阶函数原创 2022-06-03 12:26:23 · 50 阅读 · 0 评论 -
Python 序列化模块
序列化模块json: 简单常用的轻量级的数据交换格式序列化: 将本语言(python)下的数据类型对象转换为json字符串的过程.反序列化:将json字符串转换为本语言支持的对应数据类型对象.import json # json模块dic = {"name": "yuan", 'age': 18, "is_good": True}序列化dic_str = json.dumps(dic)# print(dic_str,type(dic_str))pri原创 2022-04-13 22:44:43 · 515 阅读 · 0 评论 -
Python之 sys模块
sys模块import sysprint(sys.version)print(sys.platform)sys.exit(0)sys.pathsys.argvNAME = "yuan"PWD = "123"import sysNAME = "yuan"PWD = "123"if len(sys.argv) == 3: print(sys.argv) # ['04 sys模块.py', 'yuan', '123'] user = sys.argv[1]原创 2022-04-13 22:44:10 · 331 阅读 · 0 评论 -
Python深浅拷贝
深浅拷贝现象1a = 10b = aa = 15print(b) # 10现象2lst1 = [1,2,3]lst2 = lst1lst1.append(4)print(lst2) # [1, 2, 3, 4]浅拷贝 copyimport copylst1 = [1,2,3]一个做copy的文件中有一个copy函数方法写法一 (推荐)lst2 =原创 2022-04-13 22:43:44 · 395 阅读 · 0 评论 -
Python 日志模块
日志模块import logging日志config函数logging.basicConfig( level=logging.DEBUG, filename="log.txt", format="%(asctime)s %(levelname)s %(lineno)s %(message)s ", datefmt="%Y/%m/%d %H:%M", filemode="w")logging.debug("调试信息")logging.info("正常信息原创 2022-04-13 22:41:24 · 1849 阅读 · 1 评论 -
Python之 hash模块
hash模块import hashlibmd5 = hashlib.md5(b"yuan")# 摘要更新md5.update("hello ".encode()) # 需要字节数据md5.update("yuan".encode()) # 需要字节数据print(md5.hexdigest())print(len(md5.hexdigest())) # d61922197343632725cdec995a57d813...原创 2022-04-13 22:39:46 · 386 阅读 · 0 评论 -
Python之 lambda函数
lambda函数<函数名> = lambda<函数>:<表达式> || ||def <函数名>(<函数>): <函数体> return <返回值>f = lambda x,y :x+yf(10,15)# 25f = lambda : "lambda函数"print(f())# lambda函数谨慎使用lambda函数主要用作一些特定函数或方法的参原创 2022-04-13 22:37:24 · 359 阅读 · 0 评论 -
Python代码复用 模块化设计
代码复用把代码当成资源进行抽象代码资源化 : 程序代码是一种用来表达计算的"资源"代码抽象化 : 使用函数等方法对代码赋予更高级别的定义代码复用 : 同一份代码在需要时可以被重复使用函数和对象是代码复用的两种主要形式函数 : 将代码命名在代码层面建立了初步抽象对象 : 属性和方法 . 和.()在函数之上再次组织进行抽象模块化设计分而治之通过函数或对象封装将程序划分为模块及模块间表达具体包括 : 主程序,原创 2022-04-13 22:36:46 · 499 阅读 · 0 评论 -
Python之高阶函数
高阶函数满足两个条件: (1) 以函数为参数 (2) 以函数为返回值以函数作为参数def foo(func): print("foo...") func()def bar(): print("bar...")foo(bar)以函数作为返回值def foo(): print("foo...") def bar(): print("bar...") return barret = foo()print(ret)...原创 2022-04-10 16:24:21 · 46 阅读 · 0 评论 -
Python 闭包函数
闭包函数互相嵌套的两个函数叫做闭包,内函数就是闭包函数内函数使用了外函数的局部变量外函数把内函数返回出来的过程基本语法def zhangyutai_family(): father = "马云" def say(): print("以后,不准叫我首富,我是韭菜,我已躺平,这是我的爸爸{}说的".format(father)) return sayfunc1 = zhangyutai_family()print(func1 , type(func1))# 调用函原创 2022-04-10 16:23:41 · 163 阅读 · 0 评论 -
Python 之nonlocal 关键字
nonlocal 关键字 作用:用来修改局部变量nonlocal 修改局部变量时,采用LEGB原则跳出当前函数这一层空间,到上一层寻找如果上一层不存在该变量,继续向上一层寻找如果最顶级也找不到了,直接报错当前函数空间如果找不到,跳出这一层,到上一层寻找 [nonlocal 修改局部变量]def outer(): a = 1 def inner(): nonlocal a # 用来修改当前空间上一层的局部变量 a = 2 prin原创 2022-04-10 16:22:54 · 1944 阅读 · 2 评论 -
Python 函数的嵌套
函数的嵌套嵌套: 至少2层函数,嵌套在外层的就是外函数,嵌套在内层的就是内函数def outer(): inner() # error def inner(): print("我是内函数 ... ") inner() # success内部函数可以直接在函数外部调用么 ? 不能inner()调用外部函数后,内部函数可以在函数外部调用吗 ? 不可以outer原创 2022-04-10 16:09:21 · 3643 阅读 · 0 评论 -
Python之函数名的使用
函数名的使用动态创建,销毁,当参数传递,作为值返回,函数名是个特殊的变量,可以当做变量赋值创建a = 1def func(): print("我是func函数 ... ")a = func a() # 调用函数销毁del aa() # error函数名可以作为函数的参数def fun原创 2022-04-10 16:07:41 · 570 阅读 · 0 评论 -
Python之全局变量 和 局部变量
全局变量 和 局部变量局部变量:在函数内部定义的变量,就是局部变量, 是函数内部的占位符,与全局变量可能重名但不同,函数运算结束后,局部变量被释放 为组合数据类型且未创建,等同于全局变量全局变量:在函数外部定义的变量,或者在函数的内部,用global关键字定义的变量,就是全局变量,如果局部变量未真实创建,则是去全局变量作用域: 作用的范围 局部变量的作用范围只限定在函数的内部; 全局变量的作用范围横跨整个文件;变量的生命周期:内置 > 全局 > 局部局部变量原创 2022-04-10 16:06:41 · 11184 阅读 · 3 评论 -
Python 之return 自定义返回值
return 自定义返回值作用: 将函数内部的数据返回到函数的外部,返回到函数的调用处;语法: return 定义在函数的内部,函数外部不能使用1.return 可以接6大标准数据类型 , 还可以接函数和类对象2.不自定义返回值,默认返回的是None3.执行了return之后,函数立刻终止,后面的代码不执行4.return保留字用来传递返回值,可以有return,也可以没有5.函数/return可以返回0个或多个结果return 可以接6大标准数据类型 , 还可以接函数和类对象原创 2022-04-10 16:05:51 · 3611 阅读 · 0 评论 -
Python 命名关键字形参
命名关键字形参语法:1.def func(a,b,*,c,d) c,d是命名关键字形参2.def func(*args,c,d,**kwargs) 夹在收集参数之间的是命名关键字形参如果是命名关键字形参,意味着,在调用函数时,必须使用关键字实参的方式赋值 [指名道姓赋值]方法一def func(a,b,*,c,d): print(a,b) print(c,d)func(1,2,3,4) # errorfunc(1,2,c=3,d=4原创 2022-04-10 16:03:25 · 1004 阅读 · 0 评论 -
Python 普通.关键字收集形参
普通收集形参定义方法:def func(*args): passargs => arguments 参数作用:可以把一些没人要的普通实参收集过来,打包成一个元组,也叫可变参数def func(a,b,c,*args): print(a,b,c) # (1, 2, 2) print(args) # (4, 5, 6, 545)func(1,2,3,4,5,6,545)顺序: 普通形参 默认形参 普通收集形参原创 2022-04-10 16:02:38 · 229 阅读 · 0 评论 -
Python 函数与函参
函数的含义功能 (包裹一部分代码 实现某一个功能 达成某一个目的)特点 : 可以反复调用,提高代码的复用性,提高开发效率,便于维护管理函数的基本格式定义函数def func(): # def 函数名(): print("我是函数func ... ") # code ... 调用函数 func() # 函数名()函数的命名字母数字下划线,首字符原创 2022-04-10 16:01:41 · 308 阅读 · 0 评论 -
Python 文件的扩展模式
文件的扩展模式 ( + , b )w => write 写r => read 读a => append 追加[写]扩展模式本身是弥补没有的那个功能[无非就是读和写]w => w w+ wb wb+r => r r+ rb rb+a => a a+ ab ab+(utf-8编码格式下 默认一个中文三个字节 一个英文或符号 占用一个字节)read() 功能: 读取字符的个数(里面的参数代表字符个数)seek() 功能: 调整指针的位置(里面的原创 2022-04-09 18:13:02 · 219 阅读 · 0 评论 -
Python之文件相关函数
文件相关函数刷新缓冲区 flush 当文件关闭的时候自动刷新缓冲区 当整个程序运行结束的时候自动刷新缓冲区 当缓冲区写满了 会自动刷新缓冲区 手动刷新缓冲区 fp = open("lianxi7.txt",mode="a+",encoding="utf-8") fp.write("abcd") 强制刷新缓冲区,把内容写入到文件里 fp.flush() 因为死循环的存在,没有及时把缓冲区的数据写入到文件,为了避免这个情况,强制刷新缓冲区 while True: # pas原创 2022-04-09 18:11:41 · 151 阅读 · 0 评论 -
Python 文件相关函数
文件相关函数刷新缓冲区 flush 当文件关闭的时候自动刷新缓冲区 当整个程序运行结束的时候自动刷新缓冲区 当缓冲区写满了 会自动刷新缓冲区 手动刷新缓冲区 fp = open("lianxi7.txt",mode="a+",encoding="utf-8") fp.write("abcd") 强制刷新缓冲区,把内容写入到文件里 fp.flush() 因为死循环的存在,没有及时把缓冲区的数据写入到文件,为了避免这个情况,强制刷新缓冲区 while True: # pas原创 2022-04-09 18:10:31 · 213 阅读 · 0 评论 -
Python 文件操作
文件操作fp 文件io对象fp = open(文件名,模式,编码集)i : input 输入o : output 输出fp.read() 读文件内容fp.write() 写文件内容模式w => writer => reada => append文件可以存储两种数据格式: (1) 字符串 (2) 字节流如何写入文件打开文件fp = open("lianxi1.txt",mode="w",encoding="utf-8") # 打开冰箱原创 2022-04-09 18:09:42 · 1043 阅读 · 0 评论 -
Python 文件的全文本操作 数据的文件写入
文件的全文本操作遍历全文本:方法一fname = input("请输入要打开的文件名称:")fo = open(fname,"r")txt = fo.read()#对全文txt进行处理fo.close()一次读入,统一处理遍历全文本:方法二fname = input("请输入要打开的文件名称:")fo = open(fname,"r")txt = fo.read(2)while txt != "":#对txt进行处理 txt = fo.read(2)fo.clo原创 2022-04-09 18:09:12 · 547 阅读 · 0 评论