- 博客(18)
- 问答 (2)
- 收藏
- 关注
原创 总结一下全局abc模块,_collections_abc模块,collections.abc模块,collections包
最近学习进阶Python发现有些容易混淆的内容,例如本次标题中所写的全局abc模块,_collections_abc模块,collections包里面的abc模块,collections包。自己找了相关资料,发现一般都是单独分开写的,在此给放到一起对比一下,欢迎各位提建议首先明白两个事情:一:元类,用来创建类的类,父类为type或type本身二:抽象基类,规定继承类必须具有抽象基类指定的方法,同时无法实例化,定义抽象基类为类名(metaclass=abc.ABCMeta),此时此类是抽象基类。其次说
2022-04-18 10:52:41 958
原创 自己研究了一下装饰器运转时候函数对象是如何被传递的
import timefrom functools import wrapsdef cal_time(func):#形参接收的参数是一个函数对象的引用 print('cal_time函数对象的地址是:{}'.format(id(cal_time))) print('func形参获得函数对象地址是:{}'.format(id(func))) @wraps(func)#并不能将函数对象的地址恢复,只是包装实现函数名和备注说明维持和原来的一致 def wrap(*args,**
2022-03-20 21:44:06 126
原创 Python中变量赋值,浅复制,深复制后,变量id的变化
通过给变量赋值内容的改变和赋值方式的改变,验证Python中对变量创建和内存管理的理解
2022-03-20 15:25:06 1209
原创 关于类的实例方法、静态方法、类方法的用途,使用代码解释说明
经过研究个人总结如下,如有不对欢迎留言讨论:1、类方法,用来管理类属性,类和实例都可以访问2、实例方法,用来管理实例属性,实例访问3、静态方法,用来作为类里面的工具箱,类和实例都可以访问# 创建一个带计数器功能的矩形类class Rectangle(): __count_num=0#定义一个私有类属性用来计数,因为是类属性故类和每个实例对象中都会有这个属性 def __init__(self,height,width): ''' 初始化矩形类,有两个
2022-03-12 19:22:34 995
原创 关于类的属性、方法实例后内存中的保存方式
在学习python过程中,学习到类,通过自己编写代码测试,总结一下类在计算机的储存和管理,有利于深入的了解类和实例类一旦定义,就会开辟一块内存空间吗?这个没有测试出来,看到的人可以回复一下通过代码测试发现:a.类名的id和每个实例的id均不一样,每个实例id也不一样b.类的实例化属性(不是通过构造 函数初始化的)其id地址一致c.类的实例化属性是通过构造函数初始化的其id地址不一致d.类的实例化方法同一个方法的id是一致的。class People(): sex='女' def
2022-03-11 16:53:14 565
原创 关于url各种位置的跳转,RedirectView,HttpresponseRedirect,redirect
路由中直接跳转:RedirectView.as_view(url=‘路径’)from django.urls import pathfrom index import viewsfrom django.views.generic.base import RedirectViewurlpatterns=[ path('upload/',views.upload,name='upload'), path('',views.index,name='index'), path('.
2021-11-16 21:39:36 585
原创 研究一个下午加晚上的关于URL命名空间问题
首先URL命名空间有两种方式方式1:在app中自己建立的urls.py文件中增加一行app_name=‘名字’app_name='myAppNamespace'urlpatterns=[ path('',views.index,name='Default'), path('<data>/',views.index,name='ndata'),]方式2:在project中自动生成的urls.py文件中使用include((‘app名.urls’,app_name),na.
2021-11-07 21:06:54 171
原创 django中模板和视图中url链接反转的总结
views中的链接跳转:主要用到reverse和redirectreverse(‘app名:URL模式名称’,kwargs={‘传参1’:值’,‘传参2’:值2})1.1 如果要使用app名:URL模式名称这种样式,需要在urls.py文件中增加一行app_name=app名,否则会提示URL模式名称没有注册,建议使用此种格式,可以避免app过多存在URL模式名相同从而导致错误。1.2 kwargs对应的是传参功能,如果在path路径中未设置传参内容则此时不需要urls.pyfrom djan.
2021-10-31 18:42:23 235
原创 python类中__init__与__new__魔法函数及__init__中super(父类名,cls).方法名(cls)的理解
__new__方法在__init__方法执行前执行__new__方法是个classmethod方法,所以默认一个参数是clssuper当其放在__new__方法中时super(类名,cls).new(cls),第一个括弧中的内容可以省略,但是的二个cls不能省略,否则报错。class Person(): def __init__(self,name,age): print('__init__被调用') self.name=name self.age=.
2021-08-28 17:00:02 432
原创 from django.contrib import admin然后使用admin.ModelAdmin类的源文件位置和引用原因
from django.contrib import admin这个字面意思是从django.contrib中导入admin,单纯理解应该是从django下面contrib这个包中导入admin模块。找到django文件的安装位置C:\Users\XXX\AppData\Local\Programs\Python\Python39\Lib\site-packages\django\contrib\admin,发现admin是个包疑问来了既然是个包为何下面没有admin模块?而从路径看admin也是一
2021-08-23 22:35:15 1710
原创 一个易于理解但是代码有点多的素数求解程序-新手出学整理
# 判断101~200之间有多少个素数,并输出# 素数:除去1和他本身外不能被其他数字整除def num(n):#先定义一个函数用来判断一个数字是否是素数 lst=[] for i in range(2,n):#用所有小于这个数字的整数做除数求解 if n%i==0:#如果余数等于0那么结果列表就增加一个元素 lst.append(1) else: continue if len(lst)==0:#只
2021-08-04 15:42:37 72
原创 关于yield,iter(),__iter__,__next__
1.实例化函数中使用yield那么用dir查看所有的属性和方法就会出现__next__和和__iter__方法,for和while里面嵌套yield就可以用next()输出,def foo(): print('starting......') for x in range(10): yield x**2 x+=1f=foo()x=set(dir(f))#将实例函数的方法和属性转换成集合y=set(dir(foo))#将实例函数的方法和属性转换成集合z=x-y
2021-08-02 20:19:32 142
原创 多继承,super().__init__()—笔记
当一个类继承多个父类,最好不用super().init()而用父类名.init(self,parameter)逐个初始化,否则有坑,当然还不知道坑在哪里当一个类继承多个父类,而方法有覆盖重新的情况时候可以用类名.__MRO__查看方法的执行顺序,按照查看结果从左向右执行。我自己验证的结果是其实查找的顺序与继承时候填写的继承顺序有关class Human(): def __init__(self,sex): self.sex=sex def p(self): .
2021-07-25 17:27:46 372
原创 Python的lambda,列表推导式,map,zip,filter—新手自学整理
lambda定义匿名函数 func=lambda x:x**2列表推导式顾名思义主要用来生成列表,后来又扩展到可以生成字典和集合 lst=[x for x in range(10)if x%2==0]用0~10之间的偶数生成一个列表map(函数,序列)把序列中的每个元素放入函数中计算,计算后生成的是一个map对象不是一个序列,需要使用list(map对象)转换才能生成列表。lst=list(map(lambda x:x**2,[1,2,3,4]))zip(*list)和列表推导式一样也是主要用来.
2021-07-25 14:17:41 272
原创 Python中类方法,实例方法,静态方法—新手自学整理
实例方法:def 方法名(self,parameter):实例对象.方法名调用类 方 法:def 方法名(cls.parameter):增加行@classmethod类.方法名和实例对象.方法名调用静态方法:def 方法名(parameter):增加行@staticmethod类.方法名和实例对象.方法名调用在CSDN浏览了很多关于这三个方法的接受,总结和疑问如下:论坛建议用类方法来管理类属性,最典型的例子是实现对类实例化数量的计数作用静态方法如果功能有需求可以通过类名..
2021-07-25 14:03:11 100
原创 Python中类属性和实例属性总结-自学整理
类属性一般定义在类的方法外面,实例属性定义在类的方法内部(既可以是初始化构造函数也可以是其他的类方法)定义在构造函数中的实例属性会在类实例化后调用__dict__可以直接查看,而定义在实例方法中的实例属性需要在调用该方法后方可用__dict__来查看。打印类.__dict__是不显示实例属性的,打印实例.__dict__可以显示所有被执行过的实例属性(放在构造函数中的会直接显示,放在其他方法中的只有在方法调用后才会显示)class Person(): name='jacky'#定义一个类属.
2021-07-25 11:38:39 449
原创 Python起重机主梁截面特性计算小程序
python写了一个起重机主梁的计算小程序,欢迎批评import turtle# 要求输入主梁各个截面#尚未考虑有方刚轨道的情况# width1 = 400# height1 =8# width2 = 400# height2 =20# width3 = 6# height3 =600# width4 = 6# height4 =600# left_side =30# right_side =30# 以下为命令行输入width1 = int(input('上盖板宽度B1(mm)
2021-07-24 21:21:50 649
python使用迭代访问文件中每个字母并进行替换打印出现很多None
2021-07-27
关于边界重合后的margin设置
2020-08-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人