![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python属性
谁动了我的数据库!
bug与你同在
展开
-
私有化方法
class User: #私有化方法一-般是类内部调用,子类不能继承,外部不能调用。 def __admin(self):#私有化方法 print(‘name’) pass def password(self): self.__admin() #在内部调用私有化方法 print(‘pwd@123’) pass pass class Test(User): pass t=Test() t.admin() t.password() ...原创 2021-03-07 18:35:34 · 322 阅读 · 0 评论 -
属性私有化
#使用私有属性的场景 1.把特定的一个属性隐藏起来不想让类的外部进行直接调用 #2.我想保护这个属性不想让属性的值随意的改变 3.保护这个属性不想让派生类[子类]去继承 class Person: def init(self): self.__name=‘admin’#加两个下划线将此属性私有化 self.age=22 pass def str(self): #私有化属性可以在本身类的内部使用 return ‘{}的年龄是{}’.format(self.__name,self.age) pass class原创 2021-03-07 18:35:44 · 806 阅读 · 0 评论 -
面向对象
面向对象编程: oop [ object oriented programming] 是一种python的 编程思路 面向过程:就是我们一开始学习的,按照解决问题的步骤去写代码 [根据业务逻辑去写代码] 在思考问题的时候,首先分析’怎么按照步骤去实现 然后将问题解决拆解成若干个步骤,并将这些步骤对应成方法一步一步的 最终完成功能 对象:对象是实实在在的一个东西,类的实例化,具象化 类是对象的抽象化 而对象是类的一个实例 定义类和对象 类结构类名 属性 方法 class 类名: 属性 方法 实例方法:在类的内原创 2021-03-07 18:35:55 · 351 阅读 · 0 评论 -
类方法
class Admin: name=‘admin’ # 类方法用classmethod来进行修饰 @classmethod def get_name(cls): return cls.name#访问类属性 pass @classmethod def xiugai_name(cls,data):#修改类属性的值 在类方法中 cls.name=data pass @staticmethod #@staticmethod定义一个私有方法 def getdata(): return Admin.name @stat原创 2021-03-07 18:36:03 · 697 阅读 · 1 评论 -
方法嵌套
def a(): print(’@@@@@@@’) pass def b(): a() print(’########’) pass b() 函数的分类:根据图数的返回值和函数的参数 有参数无返回值的 有参数又返回值的 无参数又返回值的 无参数无返回值的 def sum (*aa): b=0 for i in aa: b+=i pass return b pass c=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 · 343 阅读 · 0 评论 -
方法返回值
#函数返回值 #概念:函数执行完以后会返回一个对象,如果在函数的内部有return就可以返回实际的值,否则返回None #类型:可以返回任意类型,返回值类型应该取决于return后面的类型 #用途:给调用方返回数据 #在一个函数体内可以出现名个return值:但是肯定只能返回一个return #如果在一个函数体内执行了return,意味着函数就退出了。 return后面的代码语句将不会执行 def sum(a,b): sum=a+b return sum pass rs=sum(10,20)#将返回值赋给r原创 2021-03-07 18:36:25 · 974 阅读 · 0 评论 -
动态添加属性和方法
import types #添加方法的库 #添加动态方法 def lookstate(self): print(‘用户{}用户名{}年龄{}密码{}’ .format(self.name,self.admin,self.age,self.password)) pass #动态添加一个类方法 @classmethod def classTest(cls): print(‘这个一个类方法’) pass #动态添加一个静态方法 @staticmethod def staticmethodtest(): print原创 2021-03-07 18:36:33 · 348 阅读 · 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 · 187 阅读 · 0 评论 -
slots属性限制
class Admin: #限制要添加的实例属性 #节约内存资源 slots = (‘name’,‘pwd’) def str(self): return ‘{}…{}’.format(self.name,self.pwd) pass r=Admin() r.name=‘root’ r.pwd=‘pwd’ r.age=22 print(r.dict)#所有可以用的属性都在这果存储 不足的地方就是点用的内存空间太 ##在定义了slots变量之后student类的实例已经不能随意创建不在 slots_ 定义的原创 2021-03-07 18:36:53 · 338 阅读 · 0 评论