函数:

定义和特性:

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

特性:
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. Linux下SVN安装配置及应用

    一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 二.配置篇 创建svn版本库目录 mkdir /home/ ...

  2. 小程序——使用Easy Mock

    使用Easy Mock 一.什么是Easy Mock    Easy Mock 是一个可视化的能快速生成模拟数据的持久化服务.在实际开发中常见的Mock方式一般是将模拟数据直接写在代码里,利用Java ...

  3. 【zz】史上最全设计模式导学目录(完整版)

    2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 +  简单工厂模式),为了方便大家 ...

  4. easyui学习笔记6—基本的Accordion(手风琴)

    手风琴也是web页面中常见的一个控件,常常用在网站后台管理中,这里我们看看easyui中基本的手风琴设置. 1.先看看引用的资源 <meta charset="UTF-8" ...

  5. Kafka与MQ的区别

    作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强, 而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可 ...

  6. 如何在Windows中安装GitHub

    1.使用Git 在Git官网下载Git安装包,双击开始安装即可.安装完毕之后,在Windows中会具有一个Git Bash命令行工具以及一个Git GUI客户端工具. 点击Download即可下载. ...

  7. PhoneGap Geolocation 获取地理位置 api

    一. PhoneGap Geolocation 对象介绍 1.使应用程序可以访问地理位置信息.geolocation 对象提供了对设备 GPS 传感器的访问.Geolocation 提供设备的位置信息 ...

  8. xampp安装及使用时的问题总结

    本文主要介绍易错点,具体安装过程可参考链接1 1.首先要以管理员身份运行,否则报错. 2.如果你的网站首页名字不是index,那么你在访问的时候就必须输入你首页的全称. 3.htdocs就是网站的根目 ...

  9. appium入门知识

    UI自动化相关工具 1.appium平台 2.Apple的UIAutomation 3.Google的UIAutomation 简单的介绍一下这几个工具: 1.Appium简介 Appium使用Web ...

  10. 最长公共子序列问题LCS

    最长公共子序列问题 在这里介绍一种在动态规划中类似于板子题的类型 : 最长公共子序列问题.(Link) 首先来看题面:给出1-n的两个排列P1和P2,求它们的最长公共子序列. 我们看到题之后的第一个想 ...