Day014_笔记总结

类中的内容:属性和方法

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()

你可能感兴趣的:(Day014_笔记总结)