python--函数汇总
函数:
定义和特性:
定义:
函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名()即可
特性:
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--函数汇总的更多相关文章
- Python函数汇总(陆续更新中...)
range的用法 函数原型:range(start, end, scan): 参数含义: start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5); end: ...
- 关于Excel,你一定用的到的36个Python函数
从Excel到Python:最常用的36个Pandas函数关于Excel,你一定用的到的36个Python函数 本文涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据清洗 ...
- 老猿Python博文汇总目录--按标题排序
☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿CSDN全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序,方便关键字查找.本部分内容将至少以周为单位定期更新,可能不包含发布 ...
- 思迈特软件Smartbi:Excel数据分析常用函数汇总!
多传统行业的数据分析师只要求掌握Excel即可,会SPSS/SAS是加分项.即使在挖掘满街走,Python不如狗的互联网数据分析界,Excel也是不可替代的. Excel是我们工作中经常使用的一种工具 ...
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
- Python函数作用域的查找顺序
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...
- Python函数讲解
Python函数
- Python函数信息
Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Python开发【第四章】:Python函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...
随机推荐
- Linux下SVN安装配置及应用
一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 二.配置篇 创建svn版本库目录 mkdir /home/ ...
- 小程序——使用Easy Mock
使用Easy Mock 一.什么是Easy Mock Easy Mock 是一个可视化的能快速生成模拟数据的持久化服务.在实际开发中常见的Mock方式一般是将模拟数据直接写在代码里,利用Java ...
- 【zz】史上最全设计模式导学目录(完整版)
2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式学习相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式),为了方便大家 ...
- easyui学习笔记6—基本的Accordion(手风琴)
手风琴也是web页面中常见的一个控件,常常用在网站后台管理中,这里我们看看easyui中基本的手风琴设置. 1.先看看引用的资源 <meta charset="UTF-8" ...
- Kafka与MQ的区别
作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强, 而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可 ...
- 如何在Windows中安装GitHub
1.使用Git 在Git官网下载Git安装包,双击开始安装即可.安装完毕之后,在Windows中会具有一个Git Bash命令行工具以及一个Git GUI客户端工具. 点击Download即可下载. ...
- PhoneGap Geolocation 获取地理位置 api
一. PhoneGap Geolocation 对象介绍 1.使应用程序可以访问地理位置信息.geolocation 对象提供了对设备 GPS 传感器的访问.Geolocation 提供设备的位置信息 ...
- xampp安装及使用时的问题总结
本文主要介绍易错点,具体安装过程可参考链接1 1.首先要以管理员身份运行,否则报错. 2.如果你的网站首页名字不是index,那么你在访问的时候就必须输入你首页的全称. 3.htdocs就是网站的根目 ...
- appium入门知识
UI自动化相关工具 1.appium平台 2.Apple的UIAutomation 3.Google的UIAutomation 简单的介绍一下这几个工具: 1.Appium简介 Appium使用Web ...
- 最长公共子序列问题LCS
最长公共子序列问题 在这里介绍一种在动态规划中类似于板子题的类型 : 最长公共子序列问题.(Link) 首先来看题面:给出1-n的两个排列P1和P2,求它们的最长公共子序列. 我们看到题之后的第一个想 ...