2

面向对象基础 - 林澈2022

 2 years ago
source link: https://www.cnblogs.com/linche-2022/p/16104505.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

面向对象基础

面向对象基础
一.类的定义
一个类中包括:属性和方法,格式:
class 类名:(类名首字母大写)
属性
方法
创建一个对象,并调用对象的方法
变量名 = 类名()
变量名.方法()
实例为:
class Dog:
def eat(self):
print("狗在吃骨头")
dog1 = Dog()
dog1.eat
二.创建多个对象
class Dog:
def eat(self):
print("狗在吃骨头")
def introduce(self):
print("我的名字是{},我今年{}岁了".format(dog1.name,dog1.age)))
dog1 = Dog():
dog1.name = "泰迪"
dog1.age = 5
dog1.introduce()
dog2 = Dog():
dog2.name = "拉布拉多"
dog2.age = 3
dog2.introduce()
这样就创建了多个对象,但是每创建一个对象,我们都要重复给对象添加属性,所以有了下面的方法.
三,__init__
在python中遇见__(方法名)__此类称为魔法方法
__init__方法不需要手动调用,在对象初始化的时候自动调用
即给以上代码升级:
class Dog:
def __init__(self,self.name,self.age):
self.name = name
self.age = age
def introduce(self):
print("我的名字{},我今年{}岁了!".format(self.name,self.age))
dog1 = Dog("泰迪",8)
dog1.introduce()
dog2 = Dog("拉布拉多",3)
dog2.introduce()
四.__str__ 方法:
此方法一般用户格式化输出对象内容
class Dog:
def __init__(self,self.name,self.age):
self.name = name
self.age = age
def __str__(self):
return "我的名字是{},我今年{}岁了".format(self.name,self.age)
dog1 = Dog("泰迪",8)
dog2 = Dog("拉布拉多",3)
print(dog1)
print(dog2)
五.__del__方法:
当对象消亡(死了)的时候,自动调用这个方法,当我们想要在对象死亡的时候做些什么事情,可以使用这个方法
class Dog:
def __init__(self,self.name,self.age):
self.name = name
self.age = age
def __str__(self):
return "我的名字是{},我今年{}岁了".format(self.name,self.age)
def __del__(self):
print("{}朋友们再见了,我挂了!".format(self.name))
dog1 = Dog("泰迪",8)
dog2 = Dog("拉布拉多",3)
print(dog1)
print(dog2)
六.私有属性:
私有属性定义,在名字前面加上两个_
在Python中没有绝对的私有,其实当我们去定义私有属性的时候,会对这个属性名字去做处理
class Dog:
def __init__(self,self.name,self.age):
self.name = name
self.age = age
self.__age = age
def __str__(self):
return "我的名字是{},我今年{}岁了".format(self.name,self.age)
dog1 = Dog("泰迪",8)
dog2 = Dog("拉布拉多",3)
print(dog1)
print(dog2)
七.get和set
通过提供一个公有的方法访问私有属性或者方法,这样的话我们可以按照条件来进行访问权限的控制
class QQread:
def __reader(self):
print("SVIP会员阅读中")
def get_buyyip(self,money)
if money > 20:
self.__reader()
else:
print("对不起请充值会员")
qq = QQread()
qq.get_buyvip(10)
本文主要讲述,面向对象的基础
主要理解内容为类的理解以及代码的执行顺序的理解
后面会有面向对象的升级和深入,敬请期待!!
青山不改,绿水长流.感谢阅读,我的宝子!!!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK