zoukankan      html  css  js  c++  java
  • 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*,也就是对象本身。
  • 相关阅读:
    Python自动化学习笔记(九)——Python的面向对象
    Python自动化学习笔记(八)——接口开发、发送网络请求、发送邮件、写日志
    MRWordCount
    环境变量追加命令
    hadoop退役旧数据节点
    Hadoop服役新数据节点
    Namenode文件损坏
    NameNode故障处理
    NN和2NN工作机制
    hdfs读写流程
  • 原文地址:https://www.cnblogs.com/jiangchenxi/p/8053409.html
Copyright © 2011-2022 走看看