![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python初级
麦子磨成面筋
人贵在坚持
展开
-
json.loads报错--json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line
解决办法:把单引号替换成双引号。原创 2024-03-07 14:47:57 · 185 阅读 · 0 评论 -
Python(四十三)——下载PDF
python下载pdf原创 2022-08-22 14:04:12 · 527 阅读 · 0 评论 -
Python(四十)——async示例代码
Python(四十)——async示例代码import asyncioasync def func(): print('开始') await asyncio.sleep(1) print('结束')async def main(): task_list = [ asyncio.create_task(func(),name="t1"), asyncio,create_task(func(),name="t2"), ] done,pending = await asyncio.wa原创 2022-01-20 00:35:43 · 446 阅读 · 0 评论 -
pymysql查询结果是字典列表的格式
pymysql查询结果是字典列表的格式import pymysqlconn = pymysql.connect(host="",user="",passwrod="",db="",charset="utf8",port3306,cursorclass=pymysql.cursors.DictCursor)原创 2021-11-25 23:23:39 · 945 阅读 · 0 评论 -
Chrome版本相对应的chromedriver的网址
Chrome版本相对应的chromedriver的网址https://npm.taobao.org/mirrors/chromedriver/原创 2021-09-06 14:55:08 · 1556 阅读 · 0 评论 -
Python(四十八)——list
Python(四十八)——list特殊的点 a = [1,2] a = a + (3,4) #会报错,TypeError: can only concatenate list (not "tuple") to list #+=实际就是调用了extend方法,不会报错 a += (3,4) a.extend((5,6))原创 2021-06-20 21:07:48 · 53 阅读 · 0 评论 -
Python(四十七)——is和==的区别
Python(四十七)——is和==的区别1、is判断的是两个对象是否是同一个对象,比较的是对象的ID2、==判断的是两个对象返回的值是否相等。对象的三要素:ID值类型原创 2021-06-19 18:53:33 · 75 阅读 · 0 评论 -
Python(四十六)——抽象基类
Python(四十六)——抽象基类抽象基类就是强制继承它的子类必须实现它的方法,这样做的好处可能是为了方便整理代码,以免遗漏必要的方法。抽象基类的两个要素:1、ABCMeta2、abstractmethod两者缺一不可class BasisClass(metaclass=ABCMeta): @abstractmethod def get(self): pass def set(self): passclass Cache原创 2021-06-19 18:44:21 · 118 阅读 · 0 评论 -
Python(四十四)——转义字符与原字符
Python(四十四)——转义字符与原字符什么是转义字符:就是反斜杠+想要实现的转义功能首字母为什么需要转义字符:当字符串中包含反斜杠、单引号、双引号等有特殊用途的字符时,必须使用反斜杠对这些字符进行转义(转换一个含义)反斜杠:\单引号:’双引号:"换行:\n回车:\r水平制表符:\t退格:\b原子符:不希望字符串中的转义字符起作用,就使用原子符,就是在字符串之前加上r,或者R,但最后一个字符不能是反斜杠,可以是两个...原创 2021-06-11 00:05:27 · 173 阅读 · 3 评论 -
Python(三十六)——导入包
Python(三十六)——导入包1、__init__文件的三个核心作用:1>作为包的标识,不能删除。2>用来实现模糊导入3>导入包实质是执行代码__init__.py文件,可以在__init__.py文件中做这个包的初始化,以及需要统一执行的代码,和批量导入。2、用import *导入包:import × 表示希望从文件系统中找出包中所有的子模块,然后导入它们。这个索引由__init__.py文件定义__all__变量,该变量为一列表,例如__all__=[‘A’,‘B’,‘原创 2021-02-27 23:51:33 · 136 阅读 · 1 评论 -
Python(三十五)——读写csv格式
Python(三十五)——读写csv格式import csv#读取with open('fiels/test1.csv',encoding='utf8',errors='ignore') as f: a = csv.reader(f) print(list(a))#写入with open('fiels/test2.csv','w') as f: b = csv.writer(f) b.writerow(['1','2']) #单行写入 c = [[3,4原创 2021-02-27 22:06:29 · 56 阅读 · 0 评论 -
Python(三十四)——OS模块
Python(三十四)——原创 2021-02-24 22:57:12 · 194 阅读 · 0 评论 -
Python(三十三)——异常处理
Python(三十三)——异常处理异常处理:是指程序在出现问题时依然可以正确的执行剩余的程序,而不会因为异常而终止程序执行。Python中引进了很多用来描述和处理异常的类,称为异常类。try: passexcept 异常1: passexcept 异常2: pass常见的异常说明:SyntaxError:语法错误NameError:尝试访问一个没有声明的变量ZeroDivisonError:除零错误ValueError:数值错误TypeError:类型错误Attribut原创 2021-02-22 23:56:40 · 98 阅读 · 0 评论 -
Python(三十一)——组合
Python(三十一)——组合“is -a ”是继承 是(狗,动物;狗是动物)。继承可以实现代码的复用“has-a” 是组合,拥有(手机,CPU;手机拥有CPU)。组合也可以实现代码的复用。“组合”示例代码如下:class A(): def say(self): print('say A')class B(): def __init__(self,b): self.b = bc = B(A())c.b.say()#通过B类中的b属性去调用原创 2021-02-18 00:44:59 · 64 阅读 · 0 评论 -
Python(二十九)——多态
Python(二十九)——多态定义:是指同一个方法调用,由于对象不同可能会产生不同的行为(不同的实现)。多态是方法的多态,属性没有多态多态的存在有2个必要条件:继承和方法重写。例子:class Man(): def eat(self): print('吃饭')class Chinese(Man): def eat(self): print('中国人用筷子吃饭')class English(Man): def eat(self):原创 2021-02-17 22:37:20 · 62 阅读 · 0 评论 -
Python(二十六)——@property
Python(二十六)——@property一、描述@property将私有方法变成私有属性,大多数情况下为了实现类似于get方法和set方法一、普通方法的实现类似于get方法和set方法class Employee(): def __init__(self,name,salay): self.name = name self.__salay = salay def get_salay(self): print('get salay'原创 2021-02-05 23:17:49 · 62 阅读 · 0 评论 -
Python(二十五)——私有属性和私有方法(实现封装)
Python(二十五)——私有属性和私有方法(实现封装)1、两个下划线开头的属性是私有的(private)。2、类内部可以直接访问私有属性(方法)。3、类外部不可以直接访问私有属性(方法)。4、类外部可以通过“__类名__私有属性(方法)名”访问私有属性(方法)。class B: def __init__(self,name,age): self.name = name self.__age = ageif __name__=='__main__':原创 2021-02-04 01:19:53 · 116 阅读 · 0 评论 -
Python(二十三)——__del__方法(析构函数)和__call__方法
Python(二十三)——__del__方法(析构函数)一、__del__方法__del__方法也称为析构方法,用于实现对象被销毁时所需要的操作。比如:释放对象占用的资源,例如:打开文件资源,网络连接等。Python实现自动的垃圾回收,当对象没有被引用时(引用计数为0),由垃圾回收器调用__del__方法。二、__call__方法class Person: def __call__(self): print("hello world!")if __name__=='__原创 2021-02-04 00:29:45 · 354 阅读 · 0 评论 -
Python(二十二)——类方法和静态方法
Python(二十二)——类方法和静态方法一、类方法类方法从属于“类对象”的方法,类方法通过装饰器@classmethod定义,格式如下:@classmethoddef 类方法名称(cls,[, 形参列表]):函数体class Person(): name = '张三'#类属性 @classmethod def get_name(cls): print(cls.name) # print(self.name ) #错误if __name_原创 2021-02-01 23:41:06 · 108 阅读 · 0 评论 -
Python(二十一)—— LEGB规则
Python(二十一)—— LEGB规则一、解释Python在查找“名称”的时候,是按照LEGB规则查找的,Local–>Enclosed–>Global–>Buitl in。Local:指的是函数或者类方法的内部。Enclosed:指的是嵌套函数(闭包)。Global:模块中的全局变量。Buitl in:指的是Python为自己保留的特殊名称。按照这个顺序规则没有找到的话,会报“NameError”的错误。c = 8def func5(): a = 5原创 2021-02-01 02:14:58 · 173 阅读 · 0 评论 -
Python(二十)——nonlocal关键字
Python(二十)——nonlocal关键字一、用法:用来声明外层的局部变量#用法一:def func3(a): b = 1 def func4(c): b = 6 print('inner b:', b) func4(a) print('outer b:',b)if __name__=='__main__': func3(5) #inner b: 6 #outer b: 1#func4函数可以调用变量b,但是如原创 2021-02-01 02:01:06 · 156 阅读 · 0 评论 -
Python(十八)——eval函数
Python(十八)——eval函数一、eval函数的作用将字符串str当成有效的表达式来求值并返回计算结果。 a = 2 b = 3 c = "a+b" print(eval(c)) #5 dict1 = {"a":1,"b":2} print(eval("a+b",dict1))#3原创 2021-01-31 23:20:54 · 175 阅读 · 0 评论 -
Python(十七)——lambda函数
Python(十七)——lambda函数一、:lambda函数的使用方法lambda 参数:表达式例子:f函数等同于func1函数f = lambda a,b,c:a+b+cdef func1(a,b,c): return a+b+cif __name__=='__main__': print(f(1,2,3)) #6 print(func1(1,2,3))#f1 = [lambda a:a*2,lambda b:b*3]print(f1[0](2)) #4p原创 2021-01-31 23:02:06 · 323 阅读 · 0 评论 -
Python(十六)——浅拷贝和深拷贝
Python(十六)——深拷贝和浅拷贝一、定义浅拷贝(copy):不拷贝子对象的内容,只是拷贝子对象的引用。深拷贝(deepcopy):会连子对象的内存也全部一起拷贝一份,对子对象的修改不会影响源对象。通俗解释:深拷贝是拷贝一个人,连带着儿子和孙子都会拷贝,浅拷贝是只拷贝一个人,再指向原来的儿子和孙子。...原创 2021-01-31 17:05:01 · 56 阅读 · 0 评论 -
python(十五)——全局变量和局部变量
python(十五)——全局变量和局部变量一、a = 4 #全局变量def func1(): b = 300 #局部变量 print(b) a = 400 #局部变量 print(a) #会输出400if __name__=='__main__': func1() print(a) # 会输出4二、在函数内部里去改变函数外面的全局变量a = 4 #全局变量def func1(): b = 300 #局部变量 print(b)原创 2021-01-30 15:49:19 · 162 阅读 · 0 评论 -
Python(十四)——turtle画同心圆
Python(十四)——turtle画同心圆import turtlet = turtle.Pen()my_colors = ("red", "green", "yellow", "black")t.width = 1 #设置线条的宽度t.speed(0) #速度for i in range(10): t.penup() #抬起 t.goto(0,-10*i) t.pendown() #落下 t.color(my_colors[i%len(my_colors)])原创 2021-01-25 21:37:27 · 5217 阅读 · 0 评论 -
Python(十三)—— 生成器推导式
Python(十三)—— 生成器推导式tup1 = (x for x in range(10))#生成一个生成器对象print(tup1)#<generator object <genexpr> at 0x0000015645A14ED0>print(tuple(tup1))#(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)print(tuple(tup1))#只能用一次#()...原创 2021-01-25 21:18:58 · 204 阅读 · 1 评论 -
Python(十二)——append和+运算的效率问题
Python(十二)——append和+运算的效率问题#1、appenda = [1,2,3]print(id(a))#1366590579272a.append(4)print(a)#[1, 2, 3, 4]print(id(a))#1366590579272#解析ID一致,还是一个对象#2、+运算b = [1,2,3]print(id(b))#1366590579336b=b + [4]print(b)#[1, 2, 3, 4]print(id(b))#13665原创 2021-01-25 20:52:25 · 7269 阅读 · 0 评论 -
Python(十二)——按位运算
Python(十二)——按位运算| #按位或& #按位与^ #按位与或#位操作 #1、按位或>>> a = 0b11001>>> b = 0b01000>>> c = a|b>>> bin(c)'0b11001'#a和b从右往左对比,1和0取1,0和0取0,0和0取0,1和1取1,1和0取1。#2、按位与>>> d = a&b>>> bin(d)'0b原创 2021-01-24 17:14:48 · 250 阅读 · 0 评论 -
Python(十一)——字符串的驻留机制
Python(十一)——字符串的驻留机制字符串驻留机制:仅保留一份相同且不可变字符串的方法, 不同的值被存放在字符串驻留池中。Python支持字符串驻留池,对于符合标识符规则的字符串(仅包含下划线(_),字母和数字)会启动字符串驻留池机制。也是在命令行执行中。...原创 2021-01-24 14:52:16 · 84 阅读 · 0 评论 -
Python(十)——拼接字符串的效率对比
Python(十)——拼接字符串的效率对比import timedef str1(): time0 = time.time() a = '' for i in range(10000): a+='str' time1 = time.time() print(time1-time0)def str2(): time0 = time.time() list1 = [] for i in range(10000):原创 2021-01-24 11:20:14 · 353 阅读 · 0 评论 -
Python(七)
Python(七)1、Python的自省机制Python的自省机制是通过一定的机制查询到对象内部的结构。2、super调用父类的__init__函数class A(): def __init__(self): print('A')class B(A): def __init__(self): print('B') super().__init__()if __name__=='__main__': b = B() #B原创 2021-01-24 00:45:25 · 49 阅读 · 0 评论 -
python(五)——__str__魔法函数
python(五)——__str__魔法函数class A(): def __init__(self, list_name): self.list_name = list_nameclass B(): def __init__(self, list_name): self.list_name = list_name def __str__(self): return ','.join(self.list_name)if _原创 2021-01-18 23:24:03 · 163 阅读 · 0 评论 -
Python(四)-__getitem__魔法函数
Python(四)-__getitem__魔法函数生成可迭代的对象class C(): def __init__(self,list_name): self.list_name = list_nameclass D(): def __init__(self,list_name): self.list_name = list_name def __getitem__(self, item): return self.list_原创 2021-01-18 23:03:44 · 172 阅读 · 0 评论 -
Python(三)—类-计数器
Python(三)—类实现计数器class A(): count = 0 #类属性,属于该类 def __init__(self, name, age): self.name = name #实例属性,属于实例对象 self.age = age #实例属性,属于实例对象 def get_count(self): #实例方法,也属于对象 Sutdent.count = Sutdent.count + 1 #调用类属性原创 2021-01-05 23:21:59 · 978 阅读 · 0 评论 -
Python笔记(二)——global函数
Python笔记(二)——global函数a = 0 #在函数外先定义def func(): global a #在函数内部声明为全局变量 for _ in range(0, 6): a += 1 print(a)func()原创 2020-12-13 22:25:04 · 2562 阅读 · 0 评论 -
PyCharm导入目录文件出错
PyCharm导入目录文件出错在当前文件下加上根目录路径import osimport syssys.path.append(os.path.dirname(os.path.abspath(__file__)))原创 2020-12-09 23:08:53 · 321 阅读 · 0 评论 -
测试代理的网址
测试网址的代理http://httpbin.org/get原创 2020-11-19 11:53:56 · 707 阅读 · 0 评论 -
Python3中的zip函数(1)
python3中zip函数原创 2020-10-08 15:40:48 · 168 阅读 · 0 评论