python之类class init input

本文介绍了Python中的类,特别是类初始化方法`__init__`的使用。错误地调用构造函数会导致报错,正确做法是在创建实例时传入相应参数。另外,`input`函数的使用也需要注意,如果期望输入为整数,需要进行类型转换以避免出现意外结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 class

在类里面定义函数有一点需要注意:参数列表要添加上self,指类里默认的参数 他会被传递下来

class Calculator:
    name='calculator'
    price=100#属性
    def add(self,x,y):#函数即功能
        print(self.name)
        result=x+y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        result = x * y
        print(result)
    def devide(self,x,y):
        result = x / y
        print(result)


calcul=Calculator()#定义一个个体
print(calcul.name)
print(calcul.price)
calcul.minus(45,2)#调用时不用在参数上加上self
calcul.add(3,56)

运行结果:
 

D:\PycharmProjects\pythonProject\venv\Scripts\python.exe D:/PycharmProjects/pythonProject/hello.py
calculator
100
43
calculator
59

2 类 Init

错误示范:
 

class Calculator:
    name='calculator'
    price=100#固有属性
    def __init__(self,name,price,high,weight):
        self.n=name#给定的属性
        self.p=price
        self.h=high
        self.w=weight
    def add(self,x,y):#函数即功能
        print(self.name)
        result=x+y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        result = x * y
        print(result)
    def devide(self,x,y):
        result = x / y
        print(result)


calcul=Calculator()#定义一个个体

 结果报错:

原因是调用类的时候没有把构造函数里的参数都赋值

正确做法:

class Calculator:
    name='calculator'
    price=100#固有属性
    def __init__(self,name,price,high,weight):
        self.n=name#给定的属性
        self.p=price
        self.h=high
        self.w=weight
    def add(self,x,y):#函数即功能
        print(self.name)
        result=x+y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        result = x * y
        print(result)
    def devide(self,x,y):
        result = x / y
        print(result)


calcul=Calculator('good',100,25,30)#定义一个个体
print(calcul.name)

输出的是:
 

 若是这样调用:

class Calculator:
    name='calculator'
    price=100#固有属性
    def __init__(self,name,price,high,weight):
        self.n=name#给定的属性
        self.p=price
        self.h=high
        self.w=weight
    def add(self,x,y):#函数即功能
        print(self.name)
        result=x+y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        result = x * y
        print(result)
    def devide(self,x,y):
        result = x / y
        print(result)


calcul=Calculator('good',100,25,30)#定义一个个体
print(calcul.n)

输出的才是新的命名good 

若是默认调用:
 

class Calculator:
    name='calculator'
    price=100#固有属性
    def __init__(self,name,price=20,high=30,weight=22):
        self.n=name#给定的属性
        self.p=price
        self.h=high
        self.w=weight
    def add(self,x,y):#函数即功能
        print(self.name)
        result=x+y
        print(result)
    def minus(self,x,y):
        result = x - y
        print(result)
    def times(self,x,y):
        result = x * y
        print(result)
    def devide(self,x,y):
        result = x / y
        print(result)


calcul=Calculator('good')#定义一个个体
print(calcul.h)

则输出的是默认值30 

3  Input

a_input=input("Please input some numbers:\n")
print('The input number is',a_input)

运行结果:
 

下面有一个易出错的例子:

a_input=input("Please input some numbers:\n")
print('The input number is',a_input)
if a_input==1:
    print('good')
elif a_input==2:
    print('bad')
else:
    print("i don't know")

运行结果:
 

D:\PycharmProjects\pythonProject\venv\Scripts\python.exe D:/PycharmProjects/pythonProject/hello.py
Please input some numbers:
1
The input number is 1
i don't know

 最后结果居然是i don't know 这说明之前出现了问题

这样改正就正确了:
 

a_input=input("Please input some numbers:\n")
print('The input number is',a_input)
if a_input=='1':
    print('good')
elif a_input==str(2):
    print('bad')
else:
    print("i don't know")

 或者是把Input定义为int:

a_input=int(input("Please input some numbers:\n"))
print('The input number is',a_input)
if a_input==1:
    print('good')
elif a_input==2:
    print('bad')
else:
    print("i don't know")

这样改也是正确的 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值