dir内置函数
变量、函数、数据都是对象
标识符/数据 . TAb ipython会提示方法列表
dir标识符/数据 查看对象内的所有属性及方法
dir(demo)
__new__创建对象时自动调用
__init__对象被初始化时
__del__对象被从内存中销毁时
__str__返回对象的描述信息,print函数输出使用
定义简单的类
class 类名:
def 方法1 (self,参数列表):
pass
def 方法2 (self,参数列表):
pass
创建对象
对象变量=类名()
class Cat:
def eat(self):
print("小猫爱吃鱼")
def drink(self):
print("小猫要喝水")
#创建对象
tom=Cat()
tom.drink()
tom.eat()
class Cat:
def eat(self):
print("小猫爱吃鱼")
def drink(self):
print("小猫要喝水")
#创建对象
tom=Cat()
#给对象增加一个属性
#使用 .属性名 利用赋值语句就可以了
tom.name="Tom"
tom.drink()
tom.eat()
self.访问对象属性
self.调用其他的对象方法
class Cat:
def eat(self):
#哪一个对象调用的方法,self就是哪一个对象的引用
print("%s爱吃鱼"%self.name)
def drink(self):
print("小猫要喝水")
#创建对象
tom=Cat()
#给对象增加一个属性
#使用 .属性名 利用赋值语句就可以了
tom.name="Tom"
tom.drink()
tom.eat()
初始化方法
__init__方法
class Cat:
def __init__(self,new_name):
print("初始化方法")
# self.属性名=属性的初始值
#self.new_name="Tom"
self.name = new_name
def eat(self):
print("%s爱吃鱼"%self.name)
#使用类名()创建对象时,会自动调用初始化方法__init__
tom=Cat("T1om")
print(tom.name)
tom.eat()
----------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python面向对象基础/k03_初始化.py
初始化方法
T1om
T1om爱吃鱼
Process finished with exit code 0
内置方法和属性
class Cat:
def __init__(self,new_name):
self.name = new_name
print("%s我来了"%self.name)
def __del__(self):
print("%s走了"%self.name)
#tom是一个全局变量
tom=Cat("T1om")
print(tom.name)
#del可以删除一个对象
del tom
print("*"*50)
----------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python面向对象基础/k04_del方法.py
T1om我来了
T1om
T1om走了
**************************************************
Process finished with exit code 0
class Cat:
def __init__(self,new_name):
self.name = new_name
print("%s我来了"%self.name)
def __del__(self):
print("%s走了"%self.name)
def __str__(self):
#必须返回一个字符串
return "我是猫%s"%self.name
#tom是一个全局变量
tom=Cat("T1om")
print(tom)
---------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python面向对象基础/k05_str方法.py
T1om我来了
我是猫T1om
T1om走了
Process finished with exit code 0