码迷,mamicode.com
首页 > 编程语言 > 详细

python 中函数

时间:2017-08-26 18:23:34      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:自身   匹配   父类   静态   method   eth   方法重写   区分   模拟   

函数
   def 函数名(形参):形参不用在前面定义,局部变量
   参数
      必须参数            必须以正确的顺序传参
      关键字参数        加入关键字后可以不需要正确的顺序传参
      默认参数            如果没有传参数,使用默认值
      不定长参数
   
类===大驼峰
    定义类有两种:经典类Car和新式类Car(Object)

      对象名 = 类名()
      如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。

      属性命名方式来区分,如果在属性名前面加了2个下划线‘__‘,则表明该属性是私有属性,
      否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,
      否则为公有的)。
      
      私有的属性,不能通过对象直接访问,但是可以通过方法访问
私有的方法,不能通过对象直接访问
私有的属性、方法,不会被子类继承,也不能被访问
一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用
      
      多态:定义时的类型和运行时的类型不一样,此时就成为多态
      
      类属性 和 实例属性  

      如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性
      不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,
      实例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属性。
描述
类属性   私有)   类变量

实例属性 私有) 成员变量


静态方法和类方法
    类方法 是类对象所拥有的方法    第一个参数必须是类对象 cls表示
    能够通过实例对象和类对象访问
    类方法对类属性修改之后,通过类对象和实例对象访问都发生了改变

从类方法和实例方法以及静态方法的定义形式就可以看出来,
类方法的第一个参数是类对象cls,那么通过cls引用的必定是类对象的属性和方法;
而实例方法的第一个参数是实例对象self,那么通过self引用的可能是类属性、也有可能是实例属性(这个需要具体分析)
不过在存在相同名称的类属性和实例属性的情况下,实例属性优先级更高。
静态方法中不需要额外定义参数,因此在静态方法中引用类属性的话,必须通过类对象来引用


函数导入模块
模块或者是包,但是不可以是类,函数或者变量的名字。
    模块:是一个包含你定义所有函数和变量的文件,可以被别的程序引入,
    导入整个模块 只能就导入一次
             import support
    导入模块中的一部分
              from ...import
              from ... import* 导入所有(函数,变量)内容 但是下划线__开头的除外
                       使用该方法 会覆盖本身定义的函数
                       可以使用__name__ ==‘__main__‘表示使用模块自身
    包:一种管理模块命名空间的形式,采用“ 点模块名称”
        例如:一个模块A.B  表示一个包中A的子模块B
                    
异常处理
try  ————except(可能有多个,处理不同的异常)
首先 执行 try 子句,如果没有异常,就不会执行except子句
但是如果执行过程中有异常。且和except后面的异常匹配那么执行except语句 最后执行try 之后的语句
                           如果没有匹配 那么会将异常传递给上一层的try中  
抛出异常
      raise

面向对象
    类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
    类变量:   类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
    数据成员: 类变量或者实例变量用于处理类及其实例对象的相关的数据。
    方法重写: 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
    实例变量: 定义在方法中的变量,只作用于当前实例的类。
    继承:     即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
    实例化:   创建一个类的实例,类的具体对象。
    方法:     类中定义的函数。
    对象:     通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法

类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。
支持多继承:默认调用的是在括号中排前地父类的方法
类的私有属性__private_attrs
类的私有方法__private_methods

python 中函数

标签:自身   匹配   父类   静态   method   eth   方法重写   区分   模拟   

原文地址:http://www.cnblogs.com/yumo1627129/p/7435865.html

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