python作业三:self用法、__init__()用法、调用函数

一、Self用法:

       首先我们要了解self的定义,即类实例化后,它代表着实例本身。而且我们知道python的类是不能直接使用的,只能通过创建实例。每个实例都是独特的独一无二的,它可以调用类的属性和方法等。类就是让实例对象有了self的功能。

       类的方法(构造方法和实例方法)中都会有一个固定参数self,其实这个参数就是代表着实例本身,就像是一个ID card,实例可以凭着身份证去调用类方法。

       当某个实例调用类方法时,该对象会把自身的引用作为第一个参数自动传给该方法,而这第一个参数就是self。

 如下有一个School类:

class School:
    # 构造方法
    def __init__(self, name):
        self.exam_results = None
        self.name = name

    # 实例方法
    def study(self, exam_results):
        self.exam_results = exam_results
        print("学校{}得分为{}".format(self.name, self.exam_results))
        print("该实例对象的地址是{}".format(self))


# 实例school_1
student_a = School('school_1')
print(student_a.name)

结果输出:school_1

再来一个实例school_2:

 

可以看出实例不同,打印的结果也不同当类被实例化后,self.name其实就等于实例本身。

以刚刚的代码为例,我们再来调用里面的实例方法:

 输出结果为:学校school_1得分为90

该实例对象的地址是<__main__.School object at 0x000002C351A796D8>

 

 实例school_2:

 输出结果为:学校school_2得分为80

该实例对象的地址是<__main__.School object at 0x0000021201E196D8>

如图看到两个实例打印出的self是不一样的,因为self代表着实例(对象)本身。

二、__init__()用法:

        Python中的__init__()函数的作用是实现类的每个变量申请内存空间并付初值,是一个初始化的方法。

       在系统申请内存空间,__init__为类的每个变量申请内存空间并付初值,一些时候我们会说他是构造函数。在创建类的时候,我们是不需要使用init的,因为它只是一个初始化的方法,只能作为点缀在语言中使用。

       两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。而__init__函数(方法)支持带参数类的初始化,也可为声明该类的属性(类中的变量)。__init__函数(方法)的第一个参数必须为self,后续参数为自己定义。

      我们定义一个Grass类,有width, height两个属性,以及计算面积的方法:

class Grass:
    def __init__(self):
        self.height = None
        self.width = None

    def setData(self, width, height):
        self.width = width
        self.height = height

    def getArea(self):
        return self.width * self.height


b = Grass()
b.setData(10, 20)
print("草地面积为:",  b.getArea())

       我们在Grass类中定义了setDate方法去设定该Grass的属性,这样过于繁琐,而用__init__()这个特殊的方法就可以方便地自己对类的属性进行定义,__init__()方法又被称为构造器。

class Grass:

    #  def setData(self, width, height):
    #  self.width = width
    #  self.height = height

    def __init__(self, width, height):
        self.width = width
        self.height = height

    def getArea(self):
        return self.width * self.height


b = Grass(10, 20)
print("草地面积为:", b.getArea())

 三、调用函数:

       python调用函数分为多种函数,可以是自己创建的,可以是python自带的,也可以是第三方库里面的函数。

函数调用的基本语法格式如下所示:

[返回值] = 函数名([形参值])


(1)

def test():

    print("the test is fine!")



test()

# 新建一个函数,直接用函数名加括号就可以调用函数

 (2)

def test(num):

    print("The number is %d." %(num))

 test(888)  #如果有参数设置,调用函数的时候记得要填入参数,不然会报错。

(3)

from test import test
test(999)
#在同一个文件夹底下新建一个PY文档,并且用from import来调用刚刚创建的函数。

(4)

def test(num):
print("The number is %f." %(num))
import math
test(math.pi
#还会经常用到的是调用python自带的函数,要用import来引入。

(5)

print(int("888"))
#当然还有一些不需要用import来导入的,比如print()函数就可以直接使用。

(6)

import requests
result = requests.get("")
print(result)
#还有一种情况就是第三方库,这一类都要先安装才能进行导入。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spiritqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值