python类

类的定义调用
#面向对象
#有意义的面向对象的代码
#类 = 面向对象
#类、对象
#实例化
#类的基本作用:封装
#类只负责描述或者定义一个行为不负责执行
#类和对象的区别
#类就像一个模版
#类可以产生很多个对象

class Student():  # 类的函数名(规范写法:单词之间首字母大写)
    name = ''  # 可以定义变量
    age = 0  # 使用类下变量需要使用self访问变量
    
#行为:是这个方法  与  特征:数据成员刻画特征 

    def print_file(self):  # 在类中使用函数 需要使用关键字self
        print('name:' + self.name)
        print('age:' + str(self.age))

类的调用

from c1 import Student 	#导入模块c1中的Student类

student = Student()
student.print_file()

方法和函数区别

#方法 和 函数区别
# 方法 :设计层面
# 函数 :面向过程
# 在类下面定义的(最好叫做方法)
# 在模块下的定义(最好叫做函数)
# ---------------------------------
# 变量
# 在类里(叫做:数据成员)
# 在模块中(叫做:变量)

实例化意义

class Student():  
    name = ''  # 可以定义变量
    age = 0  # 使用类下变量需要使用self访问变量

    def __init__(self,name,age):#形式参数可以随意定义
        #构造函数
        #初始化对象的属性
        self.name = name  #后面的name为形式参数
        self.age = age
        print('student')
        return          

student = Student('小明','18')
print(student.name)
返回
>>>student
>>>小明

类变量和实例变量
类变量:是和类关联在一起的
实例变量:是和对象关联在一起

class Student():
    name = ''
    age = 0

    def __init__(self,name,age):

        self.name = name
        self.age = age

    def do_homework(self):
        print('homework')

student = Student('小明','18')
print(student.__dict__)
print(Student.__dict__)     #打印出类下面所有变量
#首先去实例变量中寻找,如果找不到去类变量中找


学习了哪些:
在这里插入图片描述
sum统计班级人总数

class Student():

    sum =0      #做+1操作

    def __init__(self,name,age):

        self.name = name
        self.age = age
        self.__class__.sum += 1
        print('当前班级学生总数:' + str(self.__class__.sum))

student = Student('小明','18')
student1=Student('小红','20')
student2= Student('白棋','26')

类方法
类中的方法可以调用类中的类方法(不建议)
类中的变量不建议用方法直接访问,提倡用类方法去访问或者修改
私有方法和公开方法
私有方法在 方法名前加’__’

__ dict __ 变量内部成员

继承

标准写法

from c6 import Human

class Student(Human):      #是当前类是(子类)  People 是当前类的(父类)
    sum =0
    def __init__(self,name,age):
        self.name = name
        self.age =age
        self.__score =0
        self.__class__.sum += 1

    def do_homework(self):
        print('english homeword')

例子:

from c6 import Human

#变量是可以被子类继承的

class Student(Human):      #是当前类是(子类)  People 是当前类的(父类)
    # sum =0
    # def __init__(self,name,age):
    #     self.name = name
    #     self.age =age
    #     self.__score =0
    #     self.__class__.sum += 1

    def do_homework(self):
        print('english homeword')

student1 = Student('小名',19)
print(student1.sum)
print(Student.sum)
print(student1.name)
print(student1.age)
-------运行结果------
>>>0
>>>0
>>>小名
>>>19

在这里插入图片描述
super调用父类方法

class Student(Human):      #是当前类是(子类)  People 是当前类的(父类)
    # sum =0
    def __init__(self,school,name,age):
        self.school = school
        # Human.__init__(self,name,age)       #通过类调用这个方法需要传入"self"
        super (Student,self).__init__(name,age)		#调用父类方法
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值