标签:定义变量 自动 elf 实例 函数 ret 方法(函数) 创建对象 回车
# 类:一种数据类型,本身并不占内存空间,跟所学过的number等类型,一个类由属性(变量)和方法(函数)组成
# 对象: 要使用类内部的属性和方法,就需要实例化类,这种实例化类就叫做对象
"""
定义类
类名:首字母大写,其他遵循驼峰原则
属性:其他遵循驼峰原则
行为(方法/功能):其他遵循驼峰原则
创建一个类,格式如下:
class 类名():
定义属性(定义变量)
定义方法(定义函数)#在类中定义方法(函数)时,第一个参数名为self,表示对象名
构造函数:__init__(self[,paratmeters]),当使用该类创建对象时会调用该类的构造函数,默认是程序自动创建一个无参数的构造函数
一个类,有且仅有一个构造函数。作用:可以使对象创建出来时,给属性赋值
虚构函数:__del__(self) 当释放对象时,调用该方法
反写:__str__(self): 在调用print打印对象时自动调用,作用:可以打印对象时打印对象里的属性值
是给用户用的一个描述对象的方法 注意:这个函数里不能有print语句
__repr__(self): 跟__str__()很类似,区别在于,__str__()方法是在print方法打印对象时被调用,
__repr__()方法是在Python解释器里直接输入对象名在回车后被调用
self.__class__ 代表类名
"""
class Person():
name = ""
age = 0
def eat(self):
print("eat")
def sleep(self):
return 8
def __init__(self,name,age):
self.name = name
self.age = age
def __del__(self):
print("我被释放了",self)
def __str__(self):
return self.name+"已经"+str(self.age)+"岁了"
# def __repr__(self):
# return "在python解释器里输入了对象名"
"""
使用类实例化对象,格式如下:
对象名(自定义)=类名([paratmeters])
使用类中的属性/方法(函数),格式如下:
对象名.属性名/方法名
也可以将类中的属性/方法(函数)[若函数有返回值的话]赋值给变量:
变量 = 对象名.属性名/方法名
给对象的变量重新赋值,格式如下:
对象名.属性 = 新值
del 对象名 释放对象,释放后就不能调用方法
在函数里面创建对象,但这个函数运行完后释放对象
"""
person1 = Person("name",10)
print("name:%s age:%d" %(person1.name,person1.age))
person1.eat()
name1,age1,sleep1 = person1.name,person1.age,person1.sleep()
print("name1:%s age1:%d sleep:%d" %(name1,age1,sleep1))
print(person1)
标签:定义变量 自动 elf 实例 函数 ret 方法(函数) 创建对象 回车
原文地址:https://www.cnblogs.com/hjlin/p/10629536.html