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")
这样改也是正确的