day 6 老王开枪打人
1.图示
2 程序
1)版本1:框架的搭建
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- #2.创建1个枪对象
- #3.创建1个弹夹对象
- #4.创建子弹对象
- #5.创建一个敌人
- #6.alex把子弹安装到弹夹中
- #7.alex把弹夹安装到枪中
- #8.alex拿枪
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
2)版本2:创建类对象
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #7.alex把弹夹安装到枪中
- #8.alex拿枪
- #5.创建一个敌人
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
3)版本3:安装子弹
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #8.alex拿枪
- #5.创建一个敌人
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
4)安装弹夹
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- def install2(self,gun_temp,gun_jia_temp):
- '''安装弹夹到枪'''
- #枪保存弹夹
- gun_temp.save2(gun_jia_temp)
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- self.gun_jia = None #用来记录弹夹对象的引用
- def save2(self,gun_jia_temp):
- '''用一个属性来保存这个弹夹对象的引用'''
- self.gun_jia = gun_jia_temp
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #alex.安装弹夹到枪(枪,弹夹)
- alex.install2(ak47,gun_jia)
- #8.alex拿枪
- #5.创建一个敌人
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
5)测试弹夹,枪
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- def install2(self,gun_temp,gun_jia_temp):
- '''安装弹夹到枪'''
- #枪保存弹夹
- gun_temp.save2(gun_jia_temp)
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- self.gun_jia = None #用来记录弹夹对象的引用
- def save2(self,gun_jia_temp):
- '''用一个属性来保存这个弹夹对象的引用'''
- self.gun_jia = gun_jia_temp
- def __str__(self):
- if self.gun_jia:
- return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
- else:
- return "枪的信息为:%s,没有弹夹..."%(self.name)
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- def __str__(self):
- return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- for i in range(15):
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #alex.安装弹夹到枪(枪,弹夹)
- alex.install2(ak47,gun_jia)
- #test1:测试弹夹的信息
- print(gun_jia)
- #test2:测试枪的信息
- print(ak47)
- #8.alex拿枪
- #5.创建一个敌人
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
- 弹夹的信息为:15/20
- 枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
6)老王拿枪,并且测试
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- self.gun = None #用来保存枪对象的引用
- self.hp = 100
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- def install2(self,gun_temp,gun_jia_temp):
- '''安装弹夹到枪'''
- #枪保存弹夹
- gun_temp.save2(gun_jia_temp)
- def catch(self,gun_temp):
- '''拿枪'''
- self.gun = gun_temp
- def __str__(self):
- if self.gun:
- return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
- else:
- return "%s的血量是%d,他没有枪.."%(self.name,self.hp)
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- self.gun_jia = None #用来记录弹夹对象的引用
- def save2(self,gun_jia_temp):
- '''用一个属性来保存这个弹夹对象的引用'''
- self.gun_jia = gun_jia_temp
- def __str__(self):
- if self.gun_jia:
- return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
- else:
- return "枪的信息为:%s,没有弹夹..."%(self.name)
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- def __str__(self):
- return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- for i in range(15):
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #alex.安装弹夹到枪(枪,弹夹)
- alex.install2(ak47,gun_jia)
- #test1:测试弹夹的信息
- print(gun_jia)
- #test2:测试枪的信息
- print(ak47)
- #8.alex拿枪
- #alex.拿枪(枪)
- alex.catch(ak47)
- #test3.测试老王对象
- print(alex)
- #5.创建一个敌人
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
- 弹夹的信息为:15/20
- 枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
7)创建敌人
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- self.gun = None #用来保存枪对象的引用
- self.hp = 100
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- def install2(self,gun_temp,gun_jia_temp):
- '''安装弹夹到枪'''
- #枪保存弹夹
- gun_temp.save2(gun_jia_temp)
- def catch(self,gun_temp):
- '''拿枪'''
- self.gun = gun_temp
- def __str__(self):
- if self.gun:
- return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
- else:
- return "%s的血量是%d,他没有枪.."%(self.name,self.hp)
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- self.gun_jia = None #用来记录弹夹对象的引用
- def save2(self,gun_jia_temp):
- '''用一个属性来保存这个弹夹对象的引用'''
- self.gun_jia = gun_jia_temp
- def __str__(self):
- if self.gun_jia:
- return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
- else:
- return "枪的信息为:%s,没有弹夹..."%(self.name)
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- def __str__(self):
- return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- for i in range(15):
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #alex.安装弹夹到枪(枪,弹夹)
- alex.install2(ak47,gun_jia)
- #test1:测试弹夹的信息
- print(gun_jia)
- #test2:测试枪的信息
- print(ak47)
- #8.alex拿枪
- #alex.拿枪(枪)
- alex.catch(ak47)
- #test3.测试老王对象
- print(alex)
- #5.创建一个敌人
- jack = Person("jack")
- print(jack)
- #9.alex拿枪打jack
- if __name__ == "__main__":
- main()
- 弹夹的信息为:15/20
- 枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
- jack的血量是100,他没有枪..
8)alex开枪??? 难点
- #alex拿枪打jack
- #老王.扣扳机(jack)
- '''让枪发射子弹打敌人'''
- #枪.开火(敌人)
- '''枪从弹夹中获取1发子弹,然后让子弹击中敌人'''
- '''子弹打中人,让敌人掉血'''
- '''根据杀伤力,掉相应的血量'''
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- self.gun = None #用来保存枪对象的引用
- self.hp = 100
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- def install2(self,gun_temp,gun_jia_temp):
- '''安装弹夹到枪'''
- #枪保存弹夹
- gun_temp.save2(gun_jia_temp)
- def catch(self,gun_temp):
- '''拿枪'''
- self.gun = gun_temp
- def __str__(self):
- if self.gun:
- return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
- else:
- return "%s的血量是%d,他没有枪.."%(self.name,self.hp)
- def pull(self,enemy):
- '''让枪发射子弹打敌人'''
- #枪.开火(敌人)
- self.gun.fire(enemy)
- def lose_blood(self,damage):
- '''根据杀伤力,掉相应的血量'''
- self.hp -= damage
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- self.gun_jia = None #用来记录弹夹对象的引用
- def save2(self,gun_jia_temp):
- '''用一个属性来保存这个弹夹对象的引用'''
- self.gun_jia = gun_jia_temp
- def __str__(self):
- if self.gun_jia:
- return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
- else:
- return "枪的信息为:%s,没有弹夹..."%(self.name)
- def fire(self,enemy):
- '''枪从弹夹中获取1发子弹,然后让子弹击中敌人'''
- #先从弹夹去子弹
- #弹夹.弹出一发子弹
- dan = self.gun_jia.pop()
- #让这个子弹去伤害敌人
- if dan:
- #子弹.打中(敌人)
- dan.hit(enemy)
- else:
- print("弹夹中没有子弹了")
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- def __str__(self):
- return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)
- def pop(self):
- '''弹出最上面的1发子弹,给枪'''
- if self.list_dan:
- return self.list_dan.pop()
- else:
- return None
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def hit(self,enemy):
- '''子弹打中人,让敌人掉血'''
- #敌人.掉血(一个子弹的伤害)
- enemy.lose_blood(self.damage)
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- for i in range(15):
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #alex.安装弹夹到枪(枪,弹夹)
- alex.install2(ak47,gun_jia)
- #test1:测试弹夹的信息
- print(gun_jia)
- #test2:测试枪的信息
- print(ak47)
- #8.alex拿枪
- #alex.拿枪(枪)
- alex.catch(ak47)
- #test3.测试老王对象
- print(alex)
- #5.创建一个敌人
- jack = Person("jack")
- print(jack)
- #9.alex拿枪打jack
- #老王.扣扳机(jack)
- alex.pull(jack)
- print(jack)
print(alex)- if __name__ == "__main__":
- main()
- 弹夹的信息为:15/20
- 枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
- jack的血量是100,他没有枪..
- jack的血量是90,他没有枪..
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:14/20
10)没血了,就挂了
- ## 打了11枪了
- jack的血量是-10,他没有枪..
- class Person(object):
- '''人的类'''
- def __init__(self,name):
- self.name = name
- self.gun = None #用来保存枪对象的引用
- self.hp = 100
- def install(self,gun_jia_temp,gun_dan_temp):
- '''把子弹安装到弹夹'''
- #弹夹.保存子弹(子弹)
- gun_jia_temp.save(gun_dan_temp)
- def install2(self,gun_temp,gun_jia_temp):
- '''安装弹夹到枪'''
- #枪保存弹夹
- gun_temp.save2(gun_jia_temp)
- def catch(self,gun_temp):
- '''拿枪'''
- self.gun = gun_temp
- def __str__(self):
- if self.hp < 0:
- return "%s他挂了..."%self.name
- else:
- if self.gun:
- return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
- else:
- return "%s的血量是%d,他没有枪.."%(self.name,self.hp)
- def pull(self,enemy):
- '''让枪发射子弹打敌人'''
- #枪.开火(敌人)
- self.gun.fire(enemy)
- def lose_blood(self,damage):
- '''根据杀伤力,掉相应的血量'''
- self.hp -= damage
- class Gun(object):
- '''一个枪的类'''
- def __init__(self,name):
- self.name = name #用来记录枪的类型
- self.gun_jia = None #用来记录弹夹对象的引用
- def save2(self,gun_jia_temp):
- '''用一个属性来保存这个弹夹对象的引用'''
- self.gun_jia = gun_jia_temp
- def __str__(self):
- if self.gun_jia:
- return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
- else:
- return "枪的信息为:%s,没有弹夹..."%(self.name)
- def fire(self,enemy):
- '''枪从弹夹中获取1发子弹,然后让子弹击中敌人'''
- #先从弹夹去子弹
- #弹夹.弹出一发子弹
- dan = self.gun_jia.pop()
- #让这个子弹去伤害敌人
- if dan:
- #子弹.打中(敌人)
- dan.hit(enemy)
- else:
- print("弹夹中没有子弹了")
- class Gun_jia(object):
- '''弹夹的类'''
- def __init__(self,max_num):
- self.max = max_num #用来记录弹夹的最大容量
- self.list_dan = [] #用来记录所有子弹的引用
- def save(self,gun_dan_temp):
- '''把子弹保存到弹夹'''
- self.list_dan.append(gun_dan_temp)
- def __str__(self):
- return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)
- def pop(self):
- '''弹出最上面的1发子弹,给枪'''
- if self.list_dan:
- return self.list_dan.pop()
- else:
- return None
- class Gun_dan(object):
- '''子弹类'''
- def __init__(self,damage):
- self.damage = damage #记录子弹的伤害
- def hit(self,enemy):
- '''子弹打中人,让敌人掉血'''
- #敌人.掉血(一个子弹的伤害)
- enemy.lose_blood(self.damage)
- def main():
- '''用来控制这个程序的流程'''
- pass
- #1.创建alex对象
- alex = Person("alex")
- #2.创建1个枪对象
- ak47 = Gun("AK47")
- #3.创建1个弹夹对象
- gun_jia = Gun_jia(20) #20代表弹夹的容量
- #4.创建子弹对象
- for i in range(15):
- gun_dan = Gun_dan(10) #一个子弹掉10滴血
- #6.alex把子弹安装到弹夹中
- #alex.安装子弹到弹夹中(弹夹,子弹)
- alex.install(gun_jia,gun_dan)
- #7.alex把弹夹安装到枪中
- #alex.安装弹夹到枪(枪,弹夹)
- alex.install2(ak47,gun_jia)
- #test1:测试弹夹的信息
- print(gun_jia)
- #test2:测试枪的信息
- print(ak47)
- #8.alex拿枪
- #alex.拿枪(枪)
- alex.catch(ak47)
- #test3.测试老王对象
- print(alex)
- #5.创建一个敌人
- jack = Person("jack")
- print(jack)
- #9.alex拿枪打jack
- #老王.扣扳机(jack)
- for i in range(12):
- alex.pull(jack)
- print(jack)
- print(alex)
- if __name__ == "__main__":
- main()
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:6/20
- jack的血量是0,他没有枪..
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:5/20
- jack他挂了...
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:4/20
- jack他挂了...
- alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:3/20
day 6 老王开枪打人的更多相关文章
- day_5.12 py 老王开枪demo
ps:2018-7-24 21:00:04 其实这部分主要是面向对象的复习!而不是面向过程 #!/usr/bin/env/python #-*-coding:utf-8-*- ''' 2018-5-1 ...
- python 案例之老王开枪
- Python---老王开枪
class Person(object): """人类""" def __init__(self,name): super(Person,s ...
- Java 的锁-老王女儿的爱情
对象锁: new一个对象,都会给这个实例创建一把锁,对象中的方法必须在实例创建后,通过调用方法获取锁,一个线程进去这个方法之前拿到对象的锁,才能调用方法,否则被阻塞,举个例子,老王有个如花似玉的女儿, ...
- 老王教您怎么做cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗
cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗本来是出于好奇看到网上有这样的东西,学了下感觉挺简单的,如果你是cass的初学者想仅仅是想学习这个软件,不想花大价格购买正版的,这个是可以 ...
- 老王Python培训视频教程(价值500元)【基础进阶项目篇 – 完整版】
老王Python培训视频教程(价值500元)[基础进阶项目篇 – 完整版] 教学大纲python基础篇1-25课时1.虚拟机安装ubuntu开发环境,第一个程序:hello python! (配置开发 ...
- javascript 老王开车去东北
[Decode error - output not utf-8] 魔女 飞 奔驰 去 华南 [Finished in 1.1s] 需要变化的对象进行隔离.正是编程的乐趣之处 /** * by Jac ...
- python开发之路:python数据类型(老王版)
python开发之路:python数据类型 你辞职当了某类似微博的社交网站的底层python开发主管,官还算高. 一次老板让你编写一个登陆的程序.咔嚓,编出来了.执行一看,我的妈,报错? 这次你又让媳 ...
- python之路:变量与变量基本操作(老王版)
python开发之路:变量与变量基本操作 你是一个师范大学的优秀毕业生,现在在某某小学工作. 你想:判作业真的很累,隔壁老王现在天天玩<蓝月传奇>,银行里存满了钱.唉,每节课1个小时,每个 ...
随机推荐
- NPM cache相关
今天下午把package.lock.json用别人的替换了,然后编译一堆报错,这个问题弄了一下午. 总结一下经验: 1.关于npm cache NPM会把所有下载的包保存,放在用户文件夹下面,在我的w ...
- 牛客网多校训练第一场 D - Two Graphs
链接: https://www.nowcoder.com/acm/contest/139/D 题意: 两个无向简单图都有n(1≤n≤8)个顶点,图G1有m1条边,图G2有m2条边,问G2有多少个子图与 ...
- poj 1159 Palindrome 【LCS】
任意门:http://poj.org/problem?id=1159 解题思路: LCS + 滚动数组 AC code: #include <cstdio> #include <io ...
- Linux入门基础介绍
概述: 1. linux是一个开源.免费的操作系统,其稳定性.安全性.处理多并发已经得到业界的认可,目前很多企业级的项目 都会部署到Linux/unix系统上. 2. 常见的操作系统(w ...
- P1018 乘积最大(高精度加/乘)
P1018 乘积最大 一道dp题目.比较好像的dp题目. 然而他需要高精度计算. 所以,他从我开始学oi,到现在.一直是60分的状态. 今天正打算复习模板.也就有借口解决了这道题目. #include ...
- HTML5前端性能优化——浏览器兼容与前端性能优化
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
- jquery固定位置浮动
示例: <!DOCTYPE html> <html> <head> <title>test page</title> <script ...
- TCP/IP初识(一)
TCP/IP学习记录,如有错误请指正,谢谢!!! 什么是TCP/IP协议? TCP/IP协议族分为四层(另一个名字是Internet协议族(Internet Protocol Suite)):链路层. ...
- #leetcode刷题之路13-罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M.字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1.12 写 ...
- linux系统基础之-----磁盘结构(基于centos7.4 1708)