1、类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
class Ball:
def setName(self,name):
self.name = name
def kick(self):
print('我叫%s,该死的,谁踢我' % self.name)
#%s字符串格式化输出,self.name可以代替前面%s的内容
#实例化
a = Ball()
a.setName('球A')
b = Ball()
b.setName('球B')
c = Ball()
c.setName('土豆')
a.kick()
b.kick()
c.kick()
2、百度的一个例子
class Employee:
'所有员工的基类'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
#__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法
#self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
def displayCount(self):
print ("Total Employee %d" % Employee.empCount)
def displayEmployee(self):
print ("Name : ", self.name, ", Salary: ", self.salary)
"创建 Employee 类的第一个对象"
emp1 = Employee("Zara", 2000)
"创建 Employee 类的第二个对象"
emp2 = Employee("Manni", 5000)
#访问属性,访问对象的属性
emp1.displayEmployee()
emp2.displayEmployee()
print ("Total Employee %d" % Employee.empCount)
#%d十进制字符串格式化
4、和普通函数相比,在类中定义函数只有一点不同,就是第一参数永远是类的本身实例变量self,并且调用时,不用传递该参数。除此之外,类的方法(函数)和普通函数没啥区别,你既可以用默认参数、可变参数或者关键字参数(args是可变参数,args接收的是一个tuple,*kw是关键字参数,kw接收的是一个dict)。
作者:无罪的坏人
链接:https://www.jianshu.com/p/4f1760ddc19d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。