关于python 类的小例子(简单易懂的知识点)

小白整理知识点:

1. 类内变量:public可访问,private(__双下划线)不可访问

2. 类内函数:def语句,分有参、无参两种,而且要注意参数不能是self.x格式的

3. 变量的调用:类内公共变量可直接访问(如x.a),还可以用于其他def函数中,但是调用时要加前缀self

4. 外部传入参数的调用:同3,可直接访问(如x.x1),可以用于其他def函数中,调用时要加前缀self

5.类的实例化:分无参和有参,前者load(),后者load(1,2,3)

class load():
    a = 1
    b = 100
    __abc = 2  #不可访问

    def __init__(self, x1, x2, x3):  # 类的外部参数,注意__前后均有,这里错了会导致实例化报错
        self.x1 = x1
        self.x2 = x2
        self.x3 = x3

    def pr(self):            # 没有参数
        print('hello')

    def myadd(self, k):      # 带参数,但是这个参数不能为self.x这类
        return k + self.a    # 接上行,self.x可以出现在函数内部,类内全局变量调用需加前缀self

    def myfun(self, x):
        out1 = x + self.x1   # 类外传入参数的调用同类内全局变量的调用,前缀加self
        return out1
    
    def  myfun2(self, x):
        out2 = self.myfun(x)  # 类内函数调用,既非调用myfun(),也不是load.myfun(),而是加前缀
        return out2           # self.myfun()调用,和变量调用是相同的模式

x = load(1, 2, 3)       # 带参数的实例化
print(x.a)
print(x.myadd(111))     # 注意不要写成load.myadd(),因为没注意导致报错了
print(x.myfun(9))
print(x.myfun2(100))    # 函数调用

6. 跨文件的调用

# 保存在classTest.py
class load8760():
    a = 1
    b = 100
    __abc = 2

    def __init__(self, x1, x2, x3):
        self.x1 = x1
        self.x2 = x2
        self.x3 = x3

    def pr(self):
        print('hello')

    def myadd(self, k):
        return k + self.a

    def myfun(self, x):
        out1 = x + self.x1
        return out1

    def myfun2(self, x):
        out2 = self.myfun(x)
        return out2

调用示范:

# 保存在classMain.py文件中
import classTest

t = classTest.load8760(10, 11, 12)  # 注意实例化的同时要传入参数
t.pr()                 # 不带参数的函数调用
print(t.myfun(2))      # 带参数的函数调用

7. 几点容易出错的点:

  (1) __init__后面的双下划线不要忘记,否则会一直报错

       

(2)带参数的类,在实例化的时候,记得同时传入参数,否则报错,缺少参数

        

(3)写成类的时候,调用外部变量和def函数都要加self.xx

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值