码迷,mamicode.com
首页 > 其他好文 > 详细

面向对像(1day)

时间:2017-09-11 22:45:49      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:实例   类的变量   log   dict   png   struct   python   sel   hasd   

技术分享

 

技术分享

 

 

# list
# int
# tuple


#在python3中,所有的类都是新式类
#
# class A:pass
# print(A.__bases__)
#python3中你不写都默认给你是继承object
#
#
#
# #在python2中,新式类
# class B(object):pass
B继承object
# class C(B):pass
C继承B
#
# print(B.__bases__)
# print(C.__bases__)
#
#
#
# #在python2中,经典类
# class D:pass
# print(D.__bases__)


# class Student:
# country = ‘China‘
#
# def __init__(self, ID, NAME, SEX, PROVINCE):#__init__这函数下面不能有除了none以外的返回值
# self.id = ID
# self.name = NAME
# self.sex = SEX
# self.province = PROVINCE
#
# def search_score(self):
# print(‘tell score‘)
#
# def study(self): #self=s1
# print(‘study‘,self)
#类的属性是:特征(变量)和技能(函数)

#类的用法:实例化,属性引用
# s1 = Student(‘371818181818181‘, ‘cobila‘, ‘female‘, ‘shanxi‘)
#Student.__init__(s1,‘371818181818181‘,‘cobila‘,‘female‘,‘shanxi‘)就等于上面的一行,但是这个函数不能有return
# s1.id=‘371818181818181‘
# s1.name=‘cobila‘
# s1.sex=‘female‘
# s1.province=‘shanxi‘

# print(Student.country)这是引用类的变量
# print(Student.__init__)
# print(Student.study) 这些都是函数加括号就能运行
# print(Student.search_score) 都是函数

# Student.__init__(s1,‘371818181818181‘,‘cobila‘,‘female‘,‘shanxi‘)因为是函数,所以加括号就运行
# Student.study(s1)

# Student.x=1 给类增加一个属性
# print(Student.x)
# x=10000000
# print(Student.x)还是1,涉及到名字,跟命名空间有关,类相当于把一堆名字,包起来了
你要用,就必须类名.xx的方法来进行

# del Student.x 删除类的那个属性
# print(Student.x)
#
# print(Student.study)
# del Student.study 删除类的属性
# print(Student.study)接下来就会报错

# Student.country=‘xxxxx‘ 改变类的属性
# print(Student.country)


# class Struct:pass
# Struct.x=1
# Struct.y=2
# Struct.res=Struct.x+Struct.y
# print(Struct.res)
这嘛做的好处是,变量来自于类,跟外部的名字隔离,


# class Student:
# country = ‘China‘
#
# def __init__(self, ID, NAME, SEX, PROVINCE):
# self.id = ID
# self.name = NAME
# self.sex = SEX
# self.province = PROVINCE
#
# def search_score(self):
# print(‘tell score‘)
#
# def study(self): #self=s1
# print(‘study‘,self)
#
# s1 = Student(‘371818181818181‘, ‘cobila‘, ‘female‘, ‘shanxi‘)

#对象也称为实例
#对象的属性:对象本身就只有特征(变量)

#对的用法:属性引用
# print(s1.id,s1.name,s1.sex,s1.province)
# s1.weight=100
#
# weight=1111111111111111111111111111111111111111111111
# print(s1.weight)
# # del s1.weight
# # print(s1.weight)
#
# s1.id=123 修改
# print(s1.id)

 

#类的名称空间与对象的名称空间
# x=123123123123
# class Student:
# country = ‘China‘
#
# def __init__(self, ID, NAME, SEX, PROVINCE):
# self.id = ID
# self.name = NAME
# self.sex = SEX
# self.province = PROVINCE
#
#
# def search_score(self):
# print(‘tell score‘)
#
# def study(self): #self=s1
# print(‘study‘,self)
# def walk(self):
# print(‘name:%s is walking‘ %self.name)
#
# s1 = Student(‘371818181818181‘, ‘cobila‘, ‘female‘, ‘shanxi‘)
# s2 = Student(‘371818181sadf818181‘, ‘cobilamei‘, ‘femaleasfd‘, ‘shasdfanxi‘)
#
#
# # print(Student.__dict__) #查看类的名称空间,是一个字典
# # print(Student.country) 就是在类里面有没有一个country对应的value
# # print(s1.__dict__)#查看对象的名称空间,是一个字字典
# # print(s1.id)
# # s1.country="123123123"
# # print(id(s1.country))
# # print(id(s2.country))
# # print(id(Student.country))
# #
# print(s1.study,id(s1.study))
# print(Student.study,id(Student.study))
# #绑定方法的核心在于‘绑定’,唯一绑定一个确定的对象
# s1.walk()
# s2.walk()

 

class Riven:
camp=‘Noxus‘ #所有玩家的英雄(锐雯)的阵营都是Noxus;
def __init__(self,nickname,aggressivity=54,life_value=414): #英雄的初始攻击力54;
self.nickname=nickname #为自己的锐雯起个别名;
self.aggressivity=aggressivity #英雄都有自己的攻击力;
self.life_value=life_value #英雄都有自己的生命值;
def attack(self,enemy): #普通攻击技能,enemy是敌人;
enemy.life_value-=self.aggressivity #根据自己的攻击力,攻击敌人就减掉敌人的生命值。

class Garen:
camp=‘Noxus‘ #所有玩家的英雄(锐雯)的阵营都是Noxus;
def __init__(self,nickname,aggressivity=54,life_value=414): #英雄的初始攻击力54;
self.nickname=nickname #为自己的锐雯起个别名;
self.aggressivity=aggressivity #英雄都有自己的攻击力;
self.life_value=life_value #英雄都有自己的生命值;
def attack(self,enemy): #普通攻击技能,enemy是敌人;
enemy.life_value-=self.aggressivity #根据自己的攻击力,攻击敌人就减掉敌人的生命值。


#对象之间的交互
# r1=Riven(‘芮雯雯‘)
# g1=Garen(‘草丛轮‘)
# print(r1.life_value)
# g1.attack(r1)
# print(r1.life_value)


# name=input(‘your nickname: ‘)
# r1=Riven(name)

 

面向对像(1day)

标签:实例   类的变量   log   dict   png   struct   python   sel   hasd   

原文地址:http://www.cnblogs.com/wanchenxi/p/7507271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!