类中的内容:属性和方法
1.属性(保存值的):
a.对象的属性:不同的对象对应的值可能不一样.这样的属性是对象属性.
类中的对象属性在声明在init方式中,并且声明格式:self.属性名 = 初值
对象属性的使用: 对象.属性名
init:当我们通过构造方法开创建对象的时候,系统会自动调用init方式
class Dog: def __init__(self,name,age=13): print(name,age) dog1 = Dog()
在内存中开辟空间开辟一个对象,然后用
对象取调init方法,然后返回对象
p1 = Dog('小明',18)
b.类的字段:属于类的,所有的对象对应的值是不一样的
类的字段就是声明在类中,但是方式(函数)的外面
什么样的属性声明成类的字段:
属于类的,对于这个类的所有对象来说 其值是共有的
怎么使用:
通过类来使用:类.字段
2.方法:
a.对象方法
b.类方法
c.静态方式
class Student: def __init__(self): # 声明对象属性 name /age /id self.name = '' self.age = 0 self.id = '001' p1 = Student() print(p1.id)
1.对象方法:
直接声明在类的函数默认就是对象方法,有一个默认参数self
对象方法要通过对象来调用:对象.对象方法()
对象方法默认的self,不需要传参,应为在调用方法的时候系统会自动将当前对象传给self
那个对象调用的方法,self就是指谁
class Circle: def __init__(self, radius): self.radius = radius # 声明了一个对象方法 def area(self): return 3.14 * self.radius**2 c1 = Circle(3) print(c1.area()) self 就是 对象名
练习:写一个矩形类
class Jx: def __init__(self,long,wide): self.long = long self.wide = wide def perimeter(self): return (self.long+self.wide) *2 j1 = Jx(2,3) print(j1.perimeter())
写一个班级类,班级里面学生的一门成绩,可以获取最高分
class Stu_score: def __init__(self, *score): self.score = score def max_score(self): return max(students.score) students = Stu_score(10,20,30,60,50) print(students.max_score())
'''
类:对拥有相同功能(方法)和相同属性的封装
封装效果:一个类可以对多个功能进行封装(多个函数)
1.类的声明格式:
class:类名(父类列表):
类的内容
2.说明:
class:声明类的关键字
类名:标识符,不能是关键字.驼峰式命名(首字母大写)
例:StudentSystem
(父类列表):这部分可以写.继承语法
类的内容:1.方法 / 2.属性
a.对象方式:对象方法需要通过对象来调用,对象,函数名()
直接写在类中的方法,自带一个self参数
b.类方法:
c.静方法:
'''
创建类
class person: '''人类''' def eat(self): print('吃饭')
创建一个对象
类名() -->创建类对应的对象
创建类的时候,系统会默认给我们创建这个类对应的构造方法
p1 = person()# 创建Person类的对象,并且将对象的地址存到p1中
一个类可以拥有多个对象
2.通过对象方式:
通过对象调用对象,默认参数是self不需要传参,系统会自动
p1.eat()