ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python - 常用函数(2)

2021-11-01 17:34:43  阅读:175  来源: 互联网

标签:常用 函数 python 作用域 实例 参数 实参 isinstance


一、参数

1.  定义

def  函数名(参数列表)    功能代码    return 返回值

2.  参数 

2.1  形参与实参

(1)形参:函数需要传递的参数

(2)实参:调用函数时传递的参数 

2.2 参数的调用

位置实参:函数调用的每个实参都必须关联到函数定义中的一个形参,最简单的就是基于实参的顺序。注意:位置实参的位置不正确,将导致结果不正确

函数形参传值:函数调用时,通过键-值的方式传递参数,不用按照位置的顺序

给形参指定默认值:编写函数时,给形参指定默认值,如果调用时没有传递该参数,则取默认值

位置参数和关键字参数混用:1)必须将 位置参数 写到前面,关键字参数 不用按照顺序来指定;2)每个参数只能接收一个值,不可重复

 

2.3 参数的传递

(1)不定量的参数传递:*arg: 一个非键值对的可变数量的参数; **kwargs: 不定长度的键值对参数

(2)值传递 :不可变参数通过值传递:数字、字符串、元组; 

(3)引用传递:可变参数通过引用传递:列表、字典

 

3.  作用域

3.1 局部作用域

  • 在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用

3.2 全局作用域

  • 在 Python代码主体中创建的变量是全局变量,属于全局作用域,全局变量在任何范围(全局和局部)中可用

3.3 在函数内部修改全局变量:global x

 

 

二、类

1. 类定义

class关键字定义类,类名通常是大写字母开头的单词

superClass表示继承自哪个类,若没有,则隐含继承object超类

2. 简单例子

 __init__():类的实例化操作会自动为新创建的类实例发起调用 ,进行初始化也可以有额外参数进行初始化,我们还可以通过类的任何实例来访问这些变量 当根据 类创建新实例时,Python 都会自动运行它

self:引用当前方法的调用者 ;以 self 为前缀的变量都可供类中的所有方法使用,

3. 类变量和实例变量

类变量用于类的所有实例共享的属性;

实例变量是每个实例的唯一数据

4. 访问属性

可以用.来访问对象属性;可以添加、删除、修改对象属性

5. 继承属性

即一个派生类(derivedclass)继承基类(baseclass)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待

6. 多重继承

圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索, 即方法在子类中未找到时,从左到右查找父类中是否包含方法

 

 

 

三、常用函数

1. enumerate() 函数

1.1 普通的 for 循环

1.2 for 循环使用 enumerate

 

2. isinstance() 函数

2.1 isinstance() 方法的语法

isinstance(object, classinfo)
  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
 

2.2 type() 与 isinstance()区别

  • type() 不会认为子类是一种父类类型,不考虑继承关系。

  • isinstance() 会认为子类是一种父类类型,考虑继承关系。(如果要判断两个类型是否相同推荐使用 isinstance())

 

 


 

标签:常用,函数,python,作用域,实例,参数,实参,isinstance
来源: https://www.cnblogs.com/jiangjiali1228/p/15494209.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有