python 中函数
函数
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 中函数的更多相关文章
- python 中函数的参数
一.python中的函数参数形式 python中函数一般有四种表现形式: 1.def function(arg1, arg2, arg3...) 这种是python中最常见的一中函数参数定义形式,函数 ...
- python 中函数参数传递形式
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- python中函数的参数解析
python中函数的各种参数梳理: 1.形参:函数定义时传入的参数 2.实参:函数调用时传入的参数 (有形参必传实参,形参里自身特点可不传的,可传可不传) 3.缺省参数:不传为默认值,传了会覆盖(下面 ...
- (转)python中函数参数中如果带有默认参数list的特殊情况
在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]): for i in range(x): ...
- 学以致用三十二-----python中函数的括号使用
一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__( ...
- python中函数的参数
函数参数(一) 思考一个问题,如下: 现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗? def add2num(): a = 1 ...
- python中函数的定义和详细的使用方法
1. 函数的概念,函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 2. 函数的作用,使用函数可以加强代码的复用性,提高程序编写的效率 3. 函数的使用,函数必须先创建才 ...
- Python中函数的参数传递与可变长参数
转自旭东的博客原文 Python中函数的参数传递与可变长参数 Python中传递参数有以下几种类型: (1)像C++一样的默认缺省函数 (2)根据参数名传参数 (3)可变长度参数 示例如下: (1)默 ...
- python中函数参数传递的几种方法
转自 http://www.douban.com/note/13413855/ Python中函数参数的传递是通过“赋值”来传递的.但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题 ...
- python中函数参数的引用方式
值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方 ...
随机推荐
- bzoj1798维护序列
题目链接 暴力数据结构之线段树$qwq$ 裸题直接敲板子 忘了啥时候写的了$qwq$ 直接上代码吧 /************************************************* ...
- 通过get_FOO_display 查找模型中的choice值
在django的models.py 中,我们定义了一些choices的元组,类似一些字典值,一般都是下拉框或者单多选框,例如 0对应男 1对应女等. class Area(models.Model): ...
- Java面向对象之关键字this 入门实例
一.基础概念 1.关键字this是指:哪个对象调用this所在的函数.this就指向当前这个对象. 2.用法: (1).this关键字可以解决:构造函数私有化问题. 注意:构造函数只能被构造函数调用, ...
- 在Discuz X 中增加一个单独的页面
如果在DZ中增加一个新的页面,并且取得DZ中相关的用户等乱七八糟的属性,在旧的版本中只要引用一个 -. comm.php 文件就可以,但是在 X 版本以后好像就没.还好,X版本中还是有办法解决的,使用 ...
- 【算法笔记】B1048 数字加密
1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...
- 【贪心】洛谷 P1199 三国游戏 题解
这个题尽管题目长,主要还是证明贪心的正确性(与博弈关系不大) 题目描述 小涵很喜欢电脑游戏,这些天他正在玩一个叫做<三国>的游戏. 在游戏中,小涵和计算机各执一方,组建各自的军队进行对战 ...
- CF F. MST Unification (最小生成树避圈法)
题意 给一个无向加权联通图,没有重边和环.在这个图中可能存在多个最小生成树(MST),你可以进行以下操作:选择某条边使其权值加一,使得MST权值不变且唯一.求最少的操作次数. 分系:首先我们先要知道为 ...
- SPOJ - FREQ2 莫队 / n^1.5logn爆炸
题意:给定\(a[1...n]\)和\(Q\)次询问,每次统计\([L,R]\)范围内出现频率最高的数的次数 想法没啥好说的,分别统计该数出现的次数和次数出现的次数,然后莫队暴力 注意本题时间卡的很紧 ...
- centos7.4 上面 docker 启动 cAdvisor 报错问题解决
2018-10-29 docker 启动 cAdvisor,操作系统CentOS7: docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/v ...
- Win10小娜关闭或删除进程
先来说下我为什么想尽方法关闭win10小娜:我觉得功能并不适用于我,即便不启用Cortana小娜,在Win10进程中也会看到Cortana小娜启动着,耗费了内存.CPU,而且主要的我的磁盘利用率等都居 ...