会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132464个问题
Python 全系列/第一阶段:Python入门/编程基本概念 2537楼
Python 全系列/第一阶段:Python入门/编程基本概念 2538楼

螢幕截圖 2021-06-01 下午11.58.19.png

老師,我想問問為什麼 print(add(20,50)*10) 那里會重新出多一次 sum 然後下一行又出return了的值?? 要怎樣做才只出return的值?? 謝謝老師!


Python 全系列/第一阶段:Python入门/函数和内存分析 2539楼
Python 全系列/第一阶段:Python入门/编程基本概念 2540楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 2542楼

class Employee:

    __init_flag = True

    def __init__(self, id, name, salary):
        self.id = id
        self.name = name
        self.salary = salary

    def __add__(self, other):
        if isinstance(other, Employee):
            return self.salary+other.salary

    def input(self):
        a = 1000
        if self.id == ' ':
            if Employee.__init_flag == True:
                self.id = 1000
                Employee.__init_flag = False
                return self.id

            else:
                a = a + 1
                self.id = a
                return self.id

        else:
            return self.id

    @property
    def salary(self):
        return self.salary

    @salary.setter
    def salary(self, salary):
        if 1000 < salary < 50000:
            self.salary = salary
        else:
            print('输入错误,薪水只能在1000-50000之间')


p1 = Employee(' ', '周也', 30000)
p2 = Employee(' ', '张子枫', 40000)
print(p1+p2)
print(p2.input())
p3 = Employee(' ', '杨紫', 10000)
print(p3.input())
p4 = Employee(' ', '彭昱畅', -30000)
p4.input()
p4.set_salary()

老师,@property这里不缩进就报错

Traceback (most recent call last):

  File "E:\PycharmData\MyPython\MyPy35.py", line 42, in <module>

    p1 = Employee(' ', '周也', 30000)

  File "E:\PycharmData\MyPython\MyPy35.py", line 8, in __init__

    self.salary = salary

  File "E:\PycharmData\MyPython\MyPy35.py", line 37, in salary

    self.salary = salary

  File "E:\PycharmData\MyPython\MyPy35.py", line 37, in salary

    self.salary = salary

  File "E:\PycharmData\MyPython\MyPy35.py", line 37, in salary

    self.salary = salary

  [Previous line repeated 993 more times]

  File "E:\PycharmData\MyPython\MyPy35.py", line 36, in salary

    if 1000 < salary < 50000:

RecursionError: maximum recursion depth exceeded in comparison

但是缩进到首行就不执行了,怎么处理啊,谢谢!

Python 全系列/第一阶段:Python入门/面向对象 2544楼
Python 全系列/第一阶段:Python入门/编程基本概念 2545楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 2549楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 2550楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637