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 ...
随机推荐
- June 21st 2017 Week 25th Wednesday
Discontent is the first step in progress. 不知足是前进中的第一步. Several days ago, I wrote down a quote which ...
- GO语言(五)项目搭建
<sorter> |------<src>(手动添加,代码存放处) |------sorter.go |------<algorithm> |--- ...
- Hbase集群部署及shell操作
本文详述了Hbase集群的部署. 集群部署 1.将安装包上传到集群并解压 scp hbase-0.99.2-bin.tar.gz mini1:/root/apps/ tar -zxvf hbase-0 ...
- 奇葩拿shell + 提权wind08r2奇葩拿shell + 提权wind08r2戏
0x01 小隐拿站篇 某省还是市级还是县级的空防部 先来刺探目录,拿起御剑, 啪啪啪 (鼓掌)后台出来了 试试弱口令 擦 需要管理员验证码,这个咋玩????这个注入都不用找了,就算注射出账号密 ...
- Linux汉化(Cent Os汉化)
在腾讯云上购买了Cent Os7.1的云服务器,是英文版啊,有没有?对于我这种英文的渣渣啊,所以我要用中文版,我就是这么low,怎么着呢? Ok ,在汉化之前,先查看系统的语言环境, echo $LA ...
- C#配置IIS搭建网站的工具类
public class IISWorker { public static string HostName = "localhost"; /// <summary> ...
- JAVA中commons-collections-3.2.1.jar包是干什么用的?
类似C++中的Boost库,对Java容器类型和算法的补充
- interaction-oriented architecture - MVC
MVC(Model-View-Controller),它是专门针 对交互系统提出的,所以如果我们要构建一个交互系统,那么我们就可以直接应用MVC模式,然后 在该模式所搭建的场景的启发下去发现Model ...
- UVa 658 - It's not a Bug, it's a Feature!(Dijkstra + 隐式图搜索)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 8.spring:事务管理(上):Spring的数据库编程、编程式事务管理
Spring的数据库编程 Spring框架提供了JDBC模板模式------>JdbcTemplate 简化了开发,在开发中并不经常是使用 实际开发更多使用的是Hibernate和MyBatis ...