python函数基础(函数的定义和调用)
函数的定义
python定义函数使用def关键字
return[表达式]语句用于退出函数,选择性的向调用方返回一个表达式,不带参数值的return语句返回none
def 函数名(参数列表):
函数体
def get_money_fromATM(cardno,password,money):
#密码要求是6位字符串类型
if type(password) is str and len(password)==6:
print('密码正确')
else:
print('密码格式错误')
#金额小于3000元的能被100整除的整数
if type(money) is int :
if money%100==0 and money<=3000:
print('金额正确')
else:
print('金额格式错误,请重新输入') get_money_fromATM(12412412412,'',2300) #运行结果
密码正确
金额正确
#计算面积的函数
def z(x,y):
i=x*y
print(i) z(2,7) #运行结果:
14

def sum(x,y):
z=x+y
print('函数内',z) #调用的函数中没有return表达式
z=sum(5,9)
print('函数外',z) #运行结果
函数内 14
函数外 None
def sum(x,y):
z=x+y
print('函数内',z)
return z #调用的函数中没有return表达式
z=sum(5,9)
print('函数外',z) #运行结果
函数内 14
函数外 14
可变参数
def sum(*lst): 参数前面加一个星号,表示这个参数是可变的,也就是说可以接受多个参数,将这些参数构成一个元组,只能通过为止参数传参
可变参数有两种形式:
- 位置可变参数 : 参数前加一个星号,参数构成一个元组,参数只能以 位置参数 的形式传参
- 关键字可变参数 : 参数前加两个星号,参数构成一个字典,参数只能以 关键字参数 的形式传参
当默认参数和可变参数一起出现的时候,默认参数相当于普通参数
通常来说:
- 默认参数靠后
- 可变参数靠后
- 默认参数和可变参数不同时出现
keyword-only: 必须以Key->Value对的形式出现的,叫做keyword-only
参数的传递


传递不可变对象实例
def jiaohuan(m,n):
temp=m
m=n
n=temp
return a=2
b=3
print(a,b)
jiaohuan(a,b)
print(a,b) #运行结果
2 3
2 3
调用函数时可使用的正式参数类型:必需参数、关键字参数、默认参数、不定长参数
必需参数
必需参数须以正确的顺序传入函数。调用时的数量不须和声明时的一样
调用printme函数,必须传入一个参数,不然会出现语法错误
def printme(str):
"打印任何传入的字符串"
print(str) printme("调用printme函数") #运行结果
调用printme函数
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值
def printme(str):
"打印任何传入的字符串"
print(str) printme(str="调用printme函数") #运行结果
调用printme函数
参数的默认值
def inc(base,x=1): 给第二个参数设置一个默认值,若是不传递参数,则使用默认的参数值,若是传递参数,则使用传递的参数值
默认参数
调用函数时,如果没有传递参数,则会使用默认参数,默认参数只能放在参数列表的最后一个,但可以有多个默认参数
def sum(name,age=50):
print(name,age) name='白云'
age=45
sum(name,age) #运行结果
白云 45
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时不会命名
加了星号的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组,我们也可以不向函数传递未命名的变量
def printinfo(str,*varchar):
'打印任何输入的字符串'
print('输出:')
print(str)
for var in varchar:
print(var) #调用函数printinfo
printinfo(10)
printinfo(70,60,50,40,30) #运行结果
输出:
10
输出:
70
60
50
40
30
匿名函数
python使用laabda来创建匿名函数
所谓匿名,即不再使用def语句这样标准的形式定义一个函数

sum=lambda x,y:x+y print(sum(1,2)) #运行结果
3
python函数基础(函数的定义和调用)的更多相关文章
- python函数:函数使用原则、定义与调用形式
一.函数初始 二.函数的使用原则 三.函数的定义与调用形式 四.函数的返回值 五.函数参数的使用 一.函数初始 # 须知一: # 硬盘空间无法修改,硬盘中的数据更新都是用新的内容覆盖旧的内容 # 内存 ...
- 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数
[源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...
- Python函数基础-函数调用,定义,参数,递归
Python内置了很多函数供调用,eg 求绝对值函数abs() >>>abs(-1) 1 >>>abs(1) 求和函数sum(),sum(iterable,star ...
- Python学习---基础函数的学习
1.1. 基础函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 灌输一个概念:Python中函数就是对象,函数和我们之前的[1,2,3],'abc ...
- Python编程基础[函数和面向对象](三)
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- python语法基础-函数-内置函数和匿名函数-长期维护
################## 内置函数 ####################### """ 一共是 68个内置函数: 反射相关的内置函 ...
- python语法基础-函数-进阶-长期维护
############### 函数的命名空间和作用域 ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...
- JS中函数的本质,定义、调用,以及函数的参数和返回值
要用面向对象的方式去编程,而不要用面向过程的方式去编程 对象是各种类型的数据的集合,可以是数字.字符串.数组.函数.对象…… 对象中的内容以键值对方式进行存储 对象要赋值给一个变量 var cat={ ...
- java基础:方法的定义和调用详细介绍,方法同时获取数组最大值和最小值,比较两个数组,数组交换最大最小值,附练习案列
1. 方法概述 1.1 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可 ...
- Python函数基础学习(定义、函数参数、递归函数)
1.本程序是测试函数的基础.函数的参数.递归函数的测试. 函数的参数有: 必选参数.默认参数.可变参数.命名关键字参数和关键字参数 #!/usr/bin/python # -*- coding: ut ...
随机推荐
- php注册 及审核练习
1.注册界面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- Wannafly挑战赛21-A-灯塔-内含正确的凸包模版
(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 目录 目录 题意:传送门 思路: AC代码: 题意:传送门 题目描述 Z市是一座港口城市,来来往往的船只依靠灯塔指引方向. 在海平面上 ...
- 大数据-KNN算法
KNN是通过测量不同特征值之间的距离进行分类.它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数 ...
- Java-Class-@I:org.springframework.validation.annotation.Validated
ylbtech-Java-Class-@I:org.springframework.validation.annotation.Validated 1.返回顶部 2.返回顶部 1. package ...
- topjui.common.js
function getTabWindow() { var curTabWin = null; if (topJUI.config.aloneUse) { curTabWin = window; } ...
- 剑指offer——08斐波那契数列
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 有多种方法,简单的循环.递归.动态规划: class Solutio ...
- python学习1-字符串数字基本运算以及if条件和while循环
python学习1-字符串数字基本运算以及if条件和while循环 字符串表达形式共四种: name = "string" name = 'string' name = " ...
- USACO2004 cube stacking /// 带权并查集 oj1302
题目大意: 以N ( 1 ≤ N ≤ 30,000 )个堆栈开始,每个堆栈包含一个单独的立方体.执行P(1≤ P ≤100,000)的操作. 有两种类型的操作:移动和计数. *在移动操作中,将 包含方 ...
- leetcode 题型 数据结构 解法 分类总结
第2章 线性表 2.1 数组 2.1.1 Remove Duplicates from Sorted Array 2.1.2 Remove Duplicates from Sorted Array I ...
- 1.springboot+ActiveMQ
1.项目结构如下 pom.xml文件如下 <dependencies> <dependency> <groupId>junit</groupId> &l ...