函数:

定义和特性:

定义:
函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名()即可

特性:
1,代码重用
2,保持一致性
3,可扩展性

函数的创建:

一,格式:
python定义函数使用 def 关键字,一般格式如下:
def 函数名(函数形参):
函数体
二,函数名的命名规则:
1,函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号
2,函数名是区分大小写的
3,函数名不能为保留字

三,形参和实参
形参:不是实际参数,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参
实参:实际参数,调用函数时传给函数参数,可以是常量、变量、表达式、函数、传给形参
区别:形参是虚拟的,不占用内存空间,形参变量只有在被调用时才分配内存单元;实参是一个变量,占用内存空间,数据传送单向,实参传给形参。

函数的参数:

1,必备参数:
参数必须以正确的顺序传入函数。调用时的数量必须和声明时的一样
def f (name,age):
print('I am %s,I am is %s' %(name,age))
f('chen',18)

2,关键字参数:
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值
f(age=18,name='chen')

3,缺省参数:
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
def f (name,age,sex='male'):
print('I am %s,I am is %s,I am sex %s' %(name,age,sex))
f('chen',18)
>>I am chen,I am is 18,I am sex male

4,不定长参数:
可以处理更多的参数,加星号(*)的变量名会存放所有未命名的变量参数。加两个星号(**)的变量名会存放命名的变量参数。

函数的返回值:

定义:
要想获取函数的执行结果,就可以用return语句把结果返回。
注意:
1,函数在执行过程中只要遇到return语句,就会停止执行并返回结果,也可以理解为return语句代表着函数的结束。
2,如果没有在函数中指定return值,则返回值为 None
3,return多个对象,解释器会把这多个对象组装成一个元组作为一个整体结果输出。

作用域:

作用域介绍:
local:局部作用域,即函数中定义的变量

enclosing:嵌套的父级函数的局部作用域,既包含此函数的上级函数的局部作用域,但不是全局的;

globa:全局变量,就是模块级别定义的变量。

built-in:系统固定模块里面的变量,比如:int,bytearray等。

搜索变量的优先级为:
局部作用域-->外层作用域-->全局作用域-->python内置作用域
-----legb

作用域的产生:
在python中只有
模块(module),类(class),以及
函数(def,lambda)才会引入新的作用域,其他的代码块(如if,try,for等)是不会引入新的作用域的。

变量的修改:
当内部作用域想要修改外部作用域的变量时,就要用到global和nonlocal关键字了

global:
当修改的变量是在全局作用域(global作用域)上的,就要使用global先声明一下

count=10
def outer():
global count
print(count)
count=20
print(count)
outer()

>>10
>>20

nonlocal:
global关键字声明的变量必须在全局作用域上,不能在嵌套作用域上,当要修改嵌套作用域就只能用nonlocal

def outer():
count =10
def outer1():
nonlocal count
print(1+count)
count=20
print(2+count)
print(3+count)
outer()

>>13

python--函数汇总的更多相关文章

  1. Python函数汇总(陆续更新中...)

    range的用法 函数原型:range(start, end, scan): 参数含义: start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5); end: ...

  2. 关于Excel,你一定用的到的36个Python函数

    从Excel到Python:最常用的36个Pandas函数关于Excel,你一定用的到的36个Python函数 本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗 ...

  3. 老猿Python博文汇总目录--按标题排序

    ☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿CSDN全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序,方便关键字查找.本部分内容将至少以周为单位定期更新,可能不包含发布 ...

  4. 思迈特软件Smartbi:Excel数据分析常用函数汇总!

    多传统行业的数据分析师只要求掌握Excel即可,会SPSS/SAS是加分项.即使在挖掘满街走,Python不如狗的互联网数据分析界,Excel也是不可替代的. Excel是我们工作中经常使用的一种工具 ...

  5. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  6. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  7. Python函数讲解

    Python函数

  8. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

  9. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

  10. Python开发【第四章】:Python函数剖析

    一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...

随机推荐

  1. .net 流(Stream) - StreamWriter和StreamReader、BinaryReader和BinaryWriter

    转自:http://www.oseye.net/user/kevin/blog/86 一.StreamWriter和StreamReader 从上一篇博文可知文件流.内存流和网络流操作的都是字节,每次 ...

  2. Expression拼接

    public static class PBuilder { /// <summary> /// 机关函数应用True时:单个AND有效,多个AND有效:单个OR无效,多个OR无效:混应时 ...

  3. selenium+java项目实战---百度输入框

    最近对java+selenium+testng+maven 做一个小项目的总结,并对工作中的框架在做一些小总结,大概目录为: 1.项目实战--百度登录输入框 2.项目的二次封装 3.框架分层,及po模 ...

  4. Redis客户端 Spring Data Redis(未完)

    官网:http://projects.spring.io/spring-data-redis/ 1.0  参考之前的一片文章:Gradle入门实战(Windows版) 构建java applicati ...

  5. UVa 1220 - Party at Hali-Bula(树形DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. JQuery的异步回调支持 - Promise、Deferred

    1.Deferred对象: 一般在函数内部进行声明,并在运行过程中改变其状态,例如成功或失败,最终返回Promise对象用于状态监听. 主要方法: Deferred.resolve(param...) ...

  7. [19/04/12-星期五] 多线程_任务定时调度(Timer、Timetask和QUARTZ)

    一.Timer和Timetask 通过Timer和Timetask,我们可以实现定时启动某个线程. java.util.Timer 在这种实现方式中,Timer类作用是类似闹钟的功能,也就是定时或者每 ...

  8. Linux学习总结(十三)文本编辑器 vim

    vim是vi的升级版,会根据文本属性带色彩显示,具体用法如下: 一般模式 : 1.光标定位: 左右移动一个字符, h l上下移动一个字符, k j左右下上 ,左右在两边,下上在中间这样记光标定位行首 ...

  9. CSS兼容性问题总结及解决方法

    css兼容问题 兼容问题 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白 ...

  10. 使用QT开发GoogleMap瓦片显示和下载工具

    之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背景图或者 ...