有感于现在python教程多如牛毛,且大多高不可攀,多次拜读而不得其门道,遂由入门到放弃。偶有机缘,得一不错教程,得以入门,现博客分享,想要获取完整教程,加V:ff17328081445。
类是一个函数包
类中可以放置函数和变量
#!/usr/bin/python3
class 智能机器人():
#类中的变量(属性)
胸围 = 33
腰围 = 44
臀围 = 55
#类中的函数(方法)
def 打招呼():
print('主人你好!')
def 卖萌():
print('主人,求抱抱!')
def 生气():
print('主人,我要报警了!')
print('把类的属性打印出来:')
print(智能机器人.胸围)
print(智能机器人.腰围)
print(智能机器人.腰围)
智能机器人.打招呼()
智能机器人.卖萌()
>>>>>>>>>>>>>>>>>>>>>>>>
把类的属性打印出来:
33
44
44
主人你好!
主人,求抱抱!
类方法和类属性可以组合
#!/usr/bin/python3
class 类A():
变量1 = 100
变量2 = 200
def 函数1(): # 【不需要】使用类属性
print('我不需要使用类属性。')
@classmethod
def 函数2(cls): # 【需要】使用类属性
print(cls.变量1)
print(cls.变量2)
类A.函数1()
类A.函数2()
>>>>>>>>>>>>>>>>>>>>>>>>
我不需要使用类属性。
100
200
给类方法传参
类方法仅使用外部参数
#!/usr/bin/python3
class ADD():
def add_100(num):
sum = num + 100
print('计算结果如下:')
print(sum)
#外部的参数
num = 1
ADD.add_100(num)
>>>>>>>>>>>>>>>>>>>>>>>>
计算结果如下:
101
------------------------------
#!/usr/bin/python3
#外部的参数
一首诗 = ['《卜算子》','我住长江头,','君住长江尾。','日日思君不见君,','共饮长江水。']
class 念诗类():
def 念诗函数(参数):
for i in 参数:
print(i)
念诗类.念诗函数(一首诗)
>>>>>>>>>>>>>>>>>>>>>>>>
《卜算子》
我住长江头,
君住长江尾。
日日思君不见君,
共饮长江水。
类方法仅使用内部参数
#!/usr/bin/python3
class 智能机器人():
#内部的参数
胸围 = 33
腰围 = 44
臀围 = 55
@classmethod
def 自报三围(cls):
print('主人,我的三围是:')
print('胸围:' + str(cls.胸围))
print('腰围:' + str(cls.腰围))
print('臀围:' + str(cls.臀围))
print('哈哈哈哈哈,下面粗上面细,我长得像个圆锥。')
智能机器人.自报三围()
>>>>>>>>>>>>>>>>>>>>>>>>
主人,我的三围是:
胸围:33
腰围:44
臀围:55
哈哈哈哈哈,下面粗上面细,我长得像个圆锥。
类方法同时使用内部参数和外部参数
#!/usr/bin/python3
class 类A():
#内部参数
变量1 = 100
变量2 = 200
@classmethod
def 函数1(cls): # 【需要】使用类属性
print(cls.变量1)
print(cls.变量2)
print(cls.变量3)
#外部参数
变量3 = int(input('请输入一个整数:'))
类A.函数1()
>>>>>>>>>>>>>>>>>>>>>>>>
请输入一个整数:300
100
200
300
增加/修改类属性
从外部增加/修改属性
#!/usr/bin/python3
变量1 = 15
#这是类外部的变量1
变量2 = 'abc'
class 类A():
变量1 = 100
#这是类属性变量1
变量1 = 类A.变量1
类A.变量2 = 变量2
print(类A.变量1)
print(类A.变量2)
PS:变量1 = 类A.变量1是把类属性100重新赋值给了类外部的变量1,类属性变量1的值没有改变,还是100。
PS:类A.变量2 = 变量2,是为类A增加了一个类属性变量2,它的值等于外部的变量2也就是abc。
>>>>>>>>>>>>>>>>>>>>>>>>
100
abc
------------------------------
#!/usr/bin/python3
class 双色球():
@classmethod
def 好运翻倍(cls):
print('好的,我把它存了起来,然后翻了999倍还给你:'+str(cls.幸运数*999))
双色球.幸运数 = int(input('你的幸运数是多少?请输入一个整数。'))
双色球.好运翻倍()
>>>>>>>>>>>>>>>>>>>>>>>>
你的幸运数是多少?请输入一个整数。100
好的,我把它存了起来,然后翻了999倍还给你:99900
PS:这个程序能接收外部输入的幸运数字,然后翻999倍打印出来。
从内部增加/修改属性
#!/usr/bin/python3
class 类():
@classmethod
def 增加类属性(cls):
cls.变量 = input('请随意输入字符串:')
类.增加类属性()
print('打印新增的类属性:')
print(类.变量)
>>>>>>>>>>>>>>>>>>>>>>>>
请随意输入字符串:qwer
打印新增的类属性:
qwer
------------------------------
#!/usr/bin/python3
class 念诗类():
一首诗 = ['《卜算子》', '我住长江头,', '君住长江尾。', '日日思君不见君,', '共饮长江水。']
@classmethod
def 念诗函数(cls, 参数):
print('念给' + 参数 + '的诗:')
for i in cls.一首诗:
print(i)
念诗类.念诗函数('张三')
>>>>>>>>>>>>>>>>>>>>>>>>
念给张三的诗:
《卜算子》
我住长江头,
君住长江尾。
日日思君不见君,
共饮长江水。