学习python遇到的一些有趣点(每日更新)

本文介绍了Python中函数参数的传递方式,包括默认值和位置/关键字参数的使用。接着通过一个数字时钟类展示了类的创建与成员方法的运用。最后,详细阐述了property修饰器的概念,如何通过getter和setter方法实现属性的访问和修改控制。示例代码清晰地演示了这些概念的实际应用。
摘要由CSDN通过智能技术生成

一、函数参数的传递
对于函数参数的传递,比如:

def add(a = 0, b = 0, c = 0):
    """三个数相加"""
    print(a)
    return a + b + c

print(add(1,2,3))
print(add(c = 200,b = 1000,a = 221)) #这里的参数会一一对应

在这里插入图片描述
从结果可以看出,对于
print(add(1,2,3)),
其函数的a处为1,
print(add(c = 200,b = 1000,a = 221))
其函数的a处为221,
对于python对于的参数的传递,可以通过指定参数进行赋值。

二、python对于类的一个很好的例子

from time import sleep

class Clock(object):
    """数字时钟"""

    def __init__(self, hour = 0, minute = 0, second = 0):
        """初始化方法
        :param hour: 时
        :param minute: 分
        :param second: 秒
        """
        self._hour = hour
        self._minute = minute
        self._second = second

    def run(self):
        """走字"""
        self._second += 1
        if self._second == 60:
            self._second = 0
            self._minute += 1
            if self._minute == 60:
                self._minute = 0
                self._hour += 1
                if self._hour == 24:
                    self._hour = 0

    def show(self):
        """显示时间"""
        return '%02d:%02d:%02d' % \
               (self._hour,self._minute,self._second)
def main():
    clock = Clock(23,59,57)
    while True:
        print(clock.show())
        sleep(1)
        clock.run()

if __name__ == '__main__':
    main()

这个数字时钟很好的解释了类,跟着敲一遍收获很多。

三、property修饰器

class Person(object):

    def __init__(self,name,age):
        self._name = name
        self._age = age

    #访问器 -getter方法
    @property
    def name(self):
        return self._name

    #访问器 -getter方法
    @property
    def age(self):
        return self._age

    #修改器 -setter方法
    @age.setter
    def age(self,age):
        self._age = age

    def play(self):
        if self._age <= 16:
            print('%s正在跳舞.'%self._name)
        else:
            print("%s正在唱歌."%self._name)

def main():
    person = Person('王大力',15)
    person.play()
    person.name = 17
    person.play()

if __name__ == '__main__':
    main()

使用getter,对参数内的变量进行包装然后外界能够访问进行修改变量,不过必须通过setter才能进行修改

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值