zoukankan      html  css  js  c++  java
  • Python之面向对象

    vim day6-5.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    class Person(object):
    
        def __init__(self,name):    #初始化函数,其实初始化已经执行了
            self.name = name
    
        def say_name(self):
            print "My name is %s" % self.name
    
    
    p1=Person("gf1")                #实例化
    p2=Person("gf2")
    
    p1.say_name()           #调用类里面的某一个功能
    

     类是一个模板不应用就是一个静态的

    实例化会生成一个对象,对象是实体,对象是真实存在的

    实例化是一个动作

    给类赋予一个吃的功能

    vim day6-5.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    class Person(object):
    
        def __init__(self,name):    #初始化函数,其实初始化已经执行了
            self.name = name
    
        def say_name(self):
            print "My name is %s" % self.name
    
        def eat(self):
            print "I am eating..."
    
    
    p1=Person("gf1")                #实例化
    p2=Person("gf2")
    
    p1.say_name()
    p1.eat()
    

    执行就在吃了

    调用p2.eat()也显示在吃,但是到底是谁在吃不知道

    vim day6-6.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    class Person(object):
    
        def __init__(self,name):    #初始化函数,其实初始化已经执行了
            self.name = name
    
        def say_name(self):
            print "My name is %s" % self.name
    
        def eat(self,n):
            print "%s is eating..." %n
    
    
    p1=Person("gf1")                #实例化
    p2=Person("gf2")
    
    p1.say_name()
    p1.eat("gf1")
    p2.eat("gf2")
    

    这样需要在定义的时候定义一个参数n

    vim day6-7.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    class Person(object):
    
        def __init__(self,name):    #初始化函数,其实初始化已经执行了
            self.name = name     #p1.name = 'gf1'把局部变量name赋值给self.name 因为下面可能有多个方法调用,局部变量在这里执行一次会失效
    
        def say_name(self):
            print "My name is %s" % self.name
    
        def eat(self):
            print "%s is eating..." %self.name
    
    
    p1=Person("gf1")                #实例化
    p2=Person("gf2")
    
    p1.say_name()
    p1.eat()
    p2.eat()
    

    其实在实例化的时候已经赋值了

    这里self代表实例本身 p1调用时代表p1 p2调用时代表p2

    PS:类的方法(类函数)与普通的函数只有一个特别的区别:他们必须有一个额外的第一个参数名称

    ,但是在调用这个方法的时候你不必为这个参数赋值,Python会提供这个值.这个特别的变量指对象

    本身,按惯例它的名称是self

    类中定义的函数这里不叫函数,叫方法.

  • 相关阅读:
    OpenDataSource、OPENQUERY、OPENROWSET用法
    DROIDSLAM 论文阅读笔记
    android之路重新开启
    Android工程目录
    新入园
    获取输入框内容,数值类型转换问题
    基于.net平台remoting、DB2技术的大型分布式HIS系统架构及开发(项目架构师方向)
    基于ios开发点餐系统应用(附带源码)
    DEV控件及如何实现一些功能的应用(附带PPT讲解)
    基于J2EE+JBPM3.x/JBPM4.3+Flex流程设计器+Jquery+授权认证)企业普及版贝斯OA与工作流系统
  • 原文地址:https://www.cnblogs.com/minseo/p/6870257.html
Copyright © 2011-2022 走看看