
Python属性
谁动了我的数据库!
bug与你同在
展开
-
私有化方法
class User:#私有化方法一-般是类内部调用,子类不能继承,外部不能调用。def __admin(self):#私有化方法print(‘name’)passdef password(self):self.__admin() #在内部调用私有化方法print(‘pwd@123’)passpassclass Test(User):passt=Test()t.admin()t.password()...原创 2021-03-07 18:35:34 · 348 阅读 · 0 评论 -
属性私有化
#使用私有属性的场景1.把特定的一个属性隐藏起来不想让类的外部进行直接调用#2.我想保护这个属性不想让属性的值随意的改变3.保护这个属性不想让派生类[子类]去继承class Person:def init(self):self.__name=‘admin’#加两个下划线将此属性私有化self.age=22passdef str(self):#私有化属性可以在本身类的内部使用return ‘{}的年龄是{}’.format(self.__name,self.age)passclass原创 2021-03-07 18:35:44 · 911 阅读 · 0 评论 -
面向对象
面向对象编程: oop [ object oriented programming] 是一种python的 编程思路面向过程:就是我们一开始学习的,按照解决问题的步骤去写代码[根据业务逻辑去写代码]在思考问题的时候,首先分析’怎么按照步骤去实现然后将问题解决拆解成若干个步骤,并将这些步骤对应成方法一步一步的最终完成功能对象:对象是实实在在的一个东西,类的实例化,具象化类是对象的抽象化 而对象是类的一个实例定义类和对象类结构类名 属性 方法class 类名:属性方法实例方法:在类的内原创 2021-03-07 18:35:55 · 388 阅读 · 0 评论 -
类方法
class Admin:name=‘admin’# 类方法用classmethod来进行修饰@classmethoddef get_name(cls):return cls.name#访问类属性pass@classmethoddef xiugai_name(cls,data):#修改类属性的值 在类方法中cls.name=datapass@staticmethod #@staticmethod定义一个私有方法def getdata():return Admin.name@stat原创 2021-03-07 18:36:03 · 719 阅读 · 1 评论 -
方法嵌套
def a():print(’@@@@@@@’)passdef b():a()print(’########’)passb()函数的分类:根据图数的返回值和函数的参数有参数无返回值的有参数又返回值的无参数又返回值的无参数无返回值的def sum (*aa):b=0for i in aa:b+=ipassreturn bpassc=sum(1,2,3,4,5,6)c=sum(1,2,3,4,5,6,9,10)print(‘c={0}’.format©) #forma原创 2021-03-07 18:36:12 · 375 阅读 · 0 评论 -
方法返回值
#函数返回值#概念:函数执行完以后会返回一个对象,如果在函数的内部有return就可以返回实际的值,否则返回None#类型:可以返回任意类型,返回值类型应该取决于return后面的类型#用途:给调用方返回数据#在一个函数体内可以出现名个return值:但是肯定只能返回一个return#如果在一个函数体内执行了return,意味着函数就退出了。return后面的代码语句将不会执行def sum(a,b):sum=a+breturn sumpassrs=sum(10,20)#将返回值赋给r原创 2021-03-07 18:36:25 · 1016 阅读 · 0 评论 -
动态添加属性和方法
import types #添加方法的库#添加动态方法def lookstate(self):print(‘用户{}用户名{}年龄{}密码{}’.format(self.name,self.admin,self.age,self.password))pass#动态添加一个类方法@classmethoddef classTest(cls):print(‘这个一个类方法’)pass#动态添加一个静态方法@staticmethoddef staticmethodtest():print原创 2021-03-07 18:36:33 · 376 阅读 · 0 评论 -
单例模式
单例模式是一种常用的软件设计模式目的:确保某一个类只有一个实例存在#如果希望在真个系统中某个类只能出现一个实例的时候。那么这个单例对象就满足要求创建一个单例对象基于_ new 去实现的[推荐的一种]class Databases(object):def new(cls, *args, **kwargs):cls.instance=cls.new()不能使用自身的new方法容易造成一个深度递归,应该调用父类的new方法 if not hasattr(cls,'instance'):#如果i原创 2021-03-07 18:36:42 · 210 阅读 · 0 评论 -
slots属性限制
class Admin:#限制要添加的实例属性#节约内存资源slots = (‘name’,‘pwd’)def str(self):return ‘{}…{}’.format(self.name,self.pwd)passr=Admin()r.name=‘root’r.pwd=‘pwd’r.age=22print(r.dict)#所有可以用的属性都在这果存储 不足的地方就是点用的内存空间太##在定义了slots变量之后student类的实例已经不能随意创建不在 slots_ 定义的原创 2021-03-07 18:36:53 · 365 阅读 · 0 评论