目录
创建类、对象:
创建类: 创建对象:
class 类名(): 对象名=类名(参数)
变量
方法
###创建类,对象
class Person():#若不需要传参,可以省略类名后面的括号
#类名建议用驼峰式记法
def greeting(self):#函数名建议用小写字母命名
print("hello")
obj=Person()
obj.greeting()
注意:类名建议用驼峰式记法;函数名和变量名建议用小写字母命名,多个单词间用下划线分割
类方法:
实例方法:
在类中定义的方法默认都是实例方法,类的构造方法也属于实例方法,类的构造方法在实例化对象过程中自动调用
方法的第一个参数是self(self是约定俗称的写法,也可以用别的名字代替),self 代表实例本身,用于绑定调用此方法的实例对象
#实例方法
class ClassName():
#类构造方法,也属于实例方法
def __init__(self):
print('hello')
#instance_method实例方法
def instance_method(self,name,age):#self表示调用该方法的实例对象
print('姓名:{}'.format(name),end=' ')
print('年龄:{}'.format(age))
obj=ClassName()
obj.instance_method('Bob',12)#实例对象调用方法的时 可以忽略self参数
ClassName.instance_method('fsg','Bob',12)#类调用时 需要传递与定义数量匹配的n个参数
类方法:
为了将类中的变量传递给类中的函数,这里引入类方法
类方法最少包含一个参数 cls,Python 会自动将类本身绑定给 cls 参数(注意,绑定的不是类对象)。所以在调用类方法时,无需显式为 cls 参数传参。
类方法需要使用@classmethod
修饰符进行修饰,可以用类名直接调用类方法(推荐用类名调用),也可以使用实例对象来调用
#类方法
class Language:
a=10
@classmethod
def info(cls):
print("a的值为:{}".format(cls.a))
print("正在调用类方法",cls)
Language.info()
lan=Language()
lan.info()
给类方法传参:
类方法使用外部参数:
一首诗 = ['《卜算子》','我住长江头,','君住长江尾。','日日思君不见君,','共饮长江水。']
class 念诗类():
def 念诗函数(参数):
for i in 参数:
print(i)
念诗类.念诗函数(一首诗)
类方法使用内部参数:
#类方法使用内部参数
class 念诗类():
一首诗 = ['《卜算子》','我住长江头,','君住长江尾。','日日思君不见君,','共饮长江水。']
@classmethod
def 念诗函数(cls):
for i in cls.一首诗:
print(i)
念诗类.念诗函数()
类方法同时使用内部参数、外部参数:
class 念诗类():
一首诗 = ['《卜算子》','我住长江头,','君住长江尾。','日日思君不见君,','共饮长江水。']
@classmethod
def 念诗函数(cls,参数):
print("念给{}的一首诗".format(参数))
for i in cls.一首诗:
print(i)
补充:python中%s的用法
%s是一种字符串格式化的语法,作用是将对象传到str()方法中进行处理,输出字符串。其基本格式为%±(正负号表示)3(数字表示字符串的长度)s"%(取代s的字符串)
例如:
#%n(n为一个整数)s:输出宽度为n个字符
# 若n为正数且输出的字符串不超过n,则在左边补空格;宽度超过n,按原长度输出。
# 若n为负数且输出的字符串不超过-n,则在右边补空格;宽度超过-n,按原长度输出。
a=123456
print("上面a的数字是:%s"%a)
print("上面a的数字是:%10s"%a)
print("上面a的数字是:%5s"%a)
print("上面a的数字是:%-10s"%a)
print("上面a的数字是:%-5s"%a)