Python 学习笔记 -- 类和实例

 1 #创建一个类,类是一种具有相同属性和方法的抽象
 2 #创建类需要使用class关键字,并且定义方法时,方法的第一个参数是self
 3 class Student(object):
 4 
 5     #这点与C/C++、C#的语法不同,简单区别下,定义类属性需要在特殊方法__init__内部
 6     def __init__(self,name,score):
 7         self.name = name #注意了,这里才是类内的属性,为类属性
 8         self.score = score #同样的,这也是类属性
 9     
10     def fun(self):
11         print("这就是类内定义一个类的方法")
12 
13     def print_name(self):
14         print(self.name)
15 
16     def print_score(self):
17         print(self.score)
18 
19 #实例:创建对象,并调用对象的方法
20 omega = Student("欧米茄",100)
21 omega.print_name()
22 omega.print_score()
23 
24 #其他的一些实例:
25 class Person(object):
26 
27     def __init__(self, name="欧米茄"):
28         self.name = name
29 
30     def print_name(self):
31         print(self.name)
32 
33 omega = Person()
34 omega.print_name()
35 
36 
37 #矩形实例:
38 class Rectangle(object):
39 
40     def __init__(self,long = 0,breadth = 0):
41         self.long = long
42         self.breadth = breadth
43 
44     def setRect(self):
45         try:
46             print("请输入矩形的长和宽....")
47             long = input("长:")
48             breadth = input("宽:")
49             if not long.isdigit() or not breadth.isdigit() or long == "" or breadth == "":
50                 raise ValueError("输入的值错误!")
51             
52             self.long = int(long)
53             self.breadth = int(breadth)
54         except:
55             print("输入错误!")
56         
57     def getRect(self):
58         print("矩形长度为:%d,矩形宽度为:%d"%(self.long,self.breadth))
59         return self.long,self.breadth
60 
61     def getArea(self):
62         print("矩形面积为:",self.long * self.breadth)
63 
64 rect = Rectangle(3,5)
65 rect.getArea()
66 rect.setRect()
67 rect.getRect()
68 rect.getArea()
69 
70 
71 #总结下:
72 """
73     注意:上面的实例目前只能体现出封装的特性。
74     以下这些只是我先总结的,简单点,不想搞得太复杂
75     面向对象有三大基本特征:封装、继承、多态
76     封装:就是讲客观事物封装成抽象类,并对一些不可信的类隐藏信息
77     继承:主要是用于代码重用。
78     多态:Python的多态,显示在继承上,比如说A B C三个类都有add方法,print_value方法负责调用它们的add方法。
79     如果 它们同时继承与 D ,且D有add方法,那么 print_value(d): print(d.add()) 可以传入A B C三种类的对象。
80     且,调用的add函数,根据实例本身的类型。
81     
82 """

值得注意的是,Python类方法的第一个参数self,这其实就是C++里的this*,也就是对象本身。

 

posted @ 2017-12-17 21:29  欧晨曦  阅读(1462)  评论(0编辑  收藏  举报