作为一名运维工程师,也一直有一个学习开发的想法,值此之际,不知道博客的下一期目标在哪里,在这思考和犹豫的间隙想着学习和充实一下自己,学习一下python语言,python随着大数据和人工智能的兴起而日益火爆。边学习边实践的原则学习python,希望自己更上一层楼。我的目标是创建一个自己的网站——太阳站点(sun-site.com),一个自娱自乐的自由空间。
Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。主要需要记住的概念如下:
class ClassName: <statement-1> . . . <statement-N>
#实例化类
x = MyClass()
构造方法是一个名为 init() 的特殊方法,该方法在类实例化时会自动调用。类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
#!/root/anaconda3/bin/python
# This is a python program.
'''
这是一个python程序,主要用于展示威虎山上武器库,
武器库中主要有枪和炮两大类,详细武器品种继承父类。
有武器颜色、装弹量等属性。有开火、装弹等方法。
'''
class Gun:
name = "枪"
color = "black"
bullets = 7
def __init__(self,mycolor):
self.color = mycolor
def fire(self):
if self.bullets>0:
self.bullets -= 1
print("=>",end=' ')
def loading(self,zd):
if (self.bullets+zd) > 7:
self.bullets = 7
print("子弹已装满!")
else:
self.bullets = zd
print("装弹!",zd,"颗")
class HandGun(Gun):
name = "手枪"
#继承父类Gun
class SubmachineGun(Gun):
name = "冲锋枪"
bullets = 30
#定义类的私有属性,私有属性在外部无法调用
__conbutton = 1
#重新fire方法
def fire(self,lj):
__conbutton = lj
if self.bullets>0 and __conbutton == 1 :
self.bullets -= 2
print("==>",end=' ')
else:
self.bullets -= 1
print("=>",end=' ')
class SniperGun(Gun):
name = "狙击枪"
bullets = 10
mirror = 1
#定义子类私有方法
def __take_aim(self,mirror):
if mirror == 1 :
print("精准狙击视角!",end='')
else:
print("盲狙视角!",end='')
def fire(self,kj):
if kj == 1 :
self.__take_aim(1)
self.bullets -= 1
print("=>",end=' ')
else:
self.__take_aim(0)
self.bullets -= 1
print("=>",end=' ')
a = HandGun("白色")
b = SubmachineGun("黑色")
c = SniperGun("金色")
print("\na是一把",a.color,a.name,"子弹数量是",a.bullets)
while a.bullets > 0:
a.fire()
dyl = int(input("请输入装弹数:"))
a.loading(dyl)
print("手枪还剩余子弹:",a.bullets)
print("\nb是一把",b.color,b.name,"子弹数量是",b.bullets)
lj = int(input("请选择连击或者单击,1表示连击,0表示单击:"))
while b.bullets > 10:
b.fire(lj)
print("\n冲锋枪枪还剩余子弹:",b.bullets)
print("\nc是一把",c.color,c.name,"子弹数量是",c.bullets)
kj = int(input("请选择是否开镜,1表示开镜,0表示盲狙:"))
while c.bullets >5 :
c.fire(kj)
print("\n狙击枪还剩余子弹:",c.bullets)
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!