python 类 对象 方法 sum_python:面向对象的基本知识

面向对象:

#类是现实世界或思维世界的实体在计算机中的反映

#它将数据以及这些数据上的操作封装在一起

# 属性-特征

# 方法(函数)-行为

# 构造函数-__init__() 初始化类的特征

构造函数是自动被调用的,也可显式调用,但不能定义return值,只能返回None(一般不用)

作用:初始化类的特征值,让对象之间变的不同

1 类命名

# 首字母大写;单词之间大写连接

2 构造函数(特殊的实例方法)

# 2.1 默认被调用;亦可被主动调用

# 2.2 只能返回None,它不是用来返回值的

# 2.3 作用:让模板创建不同的对象,初始化对象的特性

3 属性

# 类变量(用'='号赋值!!!) :Students.sum

#规范:通过方法修改类变量

# self.__class__.变量 访问类变量

# 实例变量

# self.变量 定义实例变量

# __dict__ 内置函数(同__all__,定义import*的范围):对象下所有变量的字典

# dict需在实例中调用,在类中不准确。

4 方法

# 4.1 实例方法

# self 显胜于隐 相当于this,只和实例对象有关,和类无关

#访问实例变量,要加self

# 访问类变量 __class__ 指定的类 Student

# 不要操作与对象无关的变量,请用类方法

# 4.2 类方法 @classmethod装饰器

# 在函数前加上一个@classmethod 将self改成cls

# 避免逻辑错乱,不要用对象调用类方法

# 可以访问类变量 cls.sum(实例方法:self.__class__.变量 )

# 调用:类.类方法() (不建议用对象调用类方法,不合逻辑)

# 4.3 静态方法 @staticmethod,不推荐用此方法

# 在函数前加上一个@staticmethod

# 可以同时被 对象、类 调用

# 可以访问类变量 Student.sum,和变量关联性不大的方法时用

5 成员的可见性

# 只允许内部的方法操作变量,避免直接修改数据变量

# __ 前面加 双下划线 变量变成私有

6 继承性

# 建议一个类单独成一个文件

# super 指代父类 Python3.x 和 2.x 的一个区别是:3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx

# 子类调用父类 属性、方法 时,优先使用super()

案例:

class Student():

sum=0

def __init__(self,name1,age):

self.name=name1

self.age=age

self.__score=0

print(self.name)

#在实例方法中不要操作与对象无关的变量,请用类方法

#self.__class__.sum+=1

#print((self.__class__.sum))

#2.2 return '只能返回None'

@classmethod

def plus_sum(cls):

cls.sum+=1

print('我们班有:',cls.sum)

@staticmethod

def add(x,y):

print('This is a static method')

def do_homework(self):

print('写作业')

def marking(self,score):

self.__score=score

print(self.name+'同学本次成绩是'+str(self.__score))

class people

#实例化

s1=Student('石敢当',20)

r1=s1.marking(98)

Student.plus_sum()

s1=Student('石当2',22)

Student.plus_sum()

#2.1 很少调用构造函数,只是证明可用

#a=s1.__init__()

# print(a)

# print(type(a))

#print(s1.name)

#print(s1.__dict__)

#print(Student.__dict__)

s1.do_homework()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值