python - 函数的定义和使用
函数的定义和使用
1 def test(x): # x代表形参
2 '''
3 2*x+1
4 :param x:整形数字
5 :return:返回计算结果
6 '''
7 y = 2*x+1
8 return y
9 p = test(3) # test()表示运行名为test函数,3代表实参,给x进行赋值
10 print(p)
函数的定义:
- def: 表示函数的关键字
- 函数名: 函数的名称, 根据函数名调用函数
- 函数体: 函数中进行一系列的逻辑计算
- 参数: 为函数执行完毕后, 可以给调用者返回数据
一. 为什么要用函数?
- 减少代码量
- 保持一致性
- 易维
二. 函数的参数
函数有三种不同的参数:
普通参数
# ######### 定义函数 ########## name 叫做函数func的形式参数,简称:形参
def func(name):
print name # ######### 执行函数 #########
# 'wupeiqi' 叫做函数func的实际参数,简称:实参
func('wupeiqi')
默认参数
def func(name, age = 18): print "%s:%s" %(name,age) # 指定参数
func('wupeiqi', 19)
# 使用默认参数
func('alex') 注:默认参数需要放在参数列表最后
动态参数 *args
def func(*args): print args # 执行方式一
func(11,33,4,4454,5) # 执行方式二
li = [11,2,2,3,3,4,54]
func(*li)
动态参数 **kwargs
def func(**kwargs): print args # 执行方式一
func(name='wupeiqi',age=18) # 执行方式二
li = {'name':'wupeiqi', age:18, 'gender':'male'}
func(**li)
三. 函数的变量
函数的变量可分为 全局变量和局部变量
全局变量(大写)
定义:没有缩进的变量
局部变量(小写)
定义:子程序下定义的变量
name = 'lhf' # 这里就指全局变量
def change_name():
name = '帅了一比' # 这里就指局部变量
print('change_name', name)
change_name()
print(name)
结果
change_name 帅了一比
lhf
global和nolocal
global声明是全局变量,nolocal指定上一级变量
未声明全局变量
x = 99
def func():
x = 88
func()
print(x) #输出99
声明全局变量
x = 99
def func()
global x
x = 88
func()
print(x) #输出88
未指定上一级变量
def func():
count = 1
def foo():
count = 12
foo()
print(count)
func() #输出1
指定上一级变量
def func():
count = 1
def foo():
nonlocal count
count = 12
foo()
print(count)
func() #输出12
四. 递归函数
ps: 用的好的都是大牛~
就是函数自己调用自己
特性:
必须有一个明确的结束条件,
每次进入深一层递归时,问题规模都应有所减少
def calc(n):
print(n)
if int(n / 2) == 0:
return n # 当上面的条件成立后一个真值,返回到函数
res = calc(int(n / 2))
print(n,res)
return res # 返回res的值,要将真值一层一层传递回去 calc(10)
五. lamabda匿名函数
lambda用法,冒号之前的是入参,冒号之后的是表达式,返回的值,最简单的函数
print [(lambda x:x*x)(x)for x in range(11)]
#结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print (lambda x:x*x)(3)
#结果:9
g=lambda x:x*x
print g(4)
#结果:16
python - 函数的定义和使用的更多相关文章
- Python函数的定义、参数传入与函数的调用
作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...
- 详解Python函数参数定义及传参(必备参数、关键字参数、默认可省略参数、可变不定长参数、*args、**kwargs)
详解Python函数参数定义及传参(必备参数.关键字参数.默认可省略参数.可变不定长参数.*args.**kwargs) Python函数参数传参的种类 Python中函数参数定义及调用函数时传参 ...
- 第十一篇 Python函数之定义&形参&实参&位置参数&关键字参数&可变长参数&默认参数
函数的定义:函数是为了完成某一特定功能的,函数是逻辑结构化和过程化的一种编程方法 函数的定义格式,函数一般都是有返回值的 #语法 #函数名要能反映其意义 def 函数名(参数1,参数2,参数3,... ...
- Python 函数之定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号: 然后,在缩进块中编写函数体,函数的返回值用return语句返回. 1.定义一个函数 def myfirst( ...
- python函数,定义,参数,返回值
python中可以将某些具备一定功能的代码写成一个函数,通过函数可以在一定程度上减少代码的冗余,节约书写代码的时间.因为有一些代码实现的功能我们可能会在很多地方用到. 1.函数的声明与定义 通过def ...
- python 函数基础 定义
一.函数介绍 1.为什么要有函数? 没有函数的代码组织结构不清晰,可读性差. 代码冗余 管理维护难度大,扩展性 2.什么是函数? 具备某一个功能的工具就是程序中的函数. 事先准备工具的过程就是:函数的 ...
- Python函数的定义与调用、返回值、参数
一.函数是什么 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.比如print(),len()等.但你也可以自己创建函数,这被叫做用户自 ...
- python函数嵌套定义
python的这个特性是很特别的,与C#和C++都不一样.请看下面的例子 def outFun(): def innerFun_0():#1.在内部定义一个函数 print("i am fi ...
- python 函数的定义及传参
函数是一个通用的程序结构部件,是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 定义一个简单的函数: >>> def test(a): #创建一个函数,函数名是test ...
随机推荐
- 从头认识java-13.7 什么时候使用泛型?
这一章节我们来讨论一下什么时候使用泛型? 答案:当你希望代码能够跨多个类型(不同的类型,不包括继承关系)工作的时候. 1.当没有确切类型的时候 以下是错误的代码: package com.ray.ch ...
- TLabel和TEdit的初次显示过程
procedure TForm1.Button2Click(Sender: TObject); var l: TLabel;begin l:=TLabel.Create(self); l.Name:= ...
- 布局技巧2:合并布局(merge标签)
我们已经有文章向你描述如何使用<include />标签来重用和共享你的布局代码.这篇文章将向你阐述<merge />标签的使用以及如何与<include />标签 ...
- protected (C# Reference)
https://msdn.microsoft.com/en-us/library/bcd5672a.aspx The protected keyword is a member access modi ...
- [Apple开发者帐户帮助]六、配置应用服务(5.3)推送通知(APN):从您的Web服务器发送推送通知
要使用APN从Web服务器向macOS用户发送推送通知,请注册网站推送标识符并创建网站推送证书. 对于每个网站,请注册一个网站推送标识符,用于验证通知是否来自您的服务器.然后创建一个网站推送证书以签署 ...
- 判断人员js
var allchooseEmpID = "";var allchooseEmpName = "";//自选经办人 function getJbrWinForM ...
- Zookeeper概念学习系列之zookeeper的角色
详细,见如下图 1.领导者(leader) : 负责进行投票的发起和决议,更新系统状态. 2.学习者(learner): 包括跟随者(follower)和观察者(observer). 跟随者(foll ...
- [ NOIP 2002 ] TG
\(\\\) \(\#A\) 均分纸牌 有\(N\)堆纸牌,每堆有若干张,但纸牌总数必为\(N\)的倍数.可以在任一堆上取若干张纸牌,然后移动给其左右任意一侧的纸牌堆,求将所有的牌堆牌数都变为平均值最 ...
- 《Java编程的逻辑》第三部分 泛型与容器
- html5——多媒体(二)
基本方法 load() //重新加载视频 play() //播放 pause() //暂停 基本属性 currentTime //视频播放的当前进度. duration //视频的总时间 paused ...