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 ...
随机推荐
- IDEA使用的JDK版本1.9换成1.8后,在IDEA中需要改的配置
今天上午上课spring5使用注解方式的时候,发现jdk9不兼容,果断换jdk8 步骤如下 一.查看Project中的jdk 1.检查Project SDK:中jdk 版本是否为1.8版本 2.检查P ...
- Redis缓存数据库常见操作
Jedis的最为常见的操作.主要包括常用的列表(list).集合(set).有序集合(sorted set).哈希表(hash)等数据结构,以及其他特性支持. 参考资料:http://hello-ni ...
- delphi Sqlite
Delphi中SQLite如何读写二进制字段(Blob类型) 在Delphi中,有大量的组件可以操作SQLite数据库,如UniDAC就是其中一个比较优秀的,当然还有ASQLite3Component ...
- c++ 枚举简单举例
#include <iostream> enum Enumeration{ VAL1, VAL2, VAL3=100, VAL4 }; int main() { using namespa ...
- Lvs+keepalived+mysql(主从复制)
1.准备环境 操作系统:centos 6.5 2台机器主机名为node53.node54 Mysql Lvs keepalived node2 Y Y Y node3 Y Y Y ...
- [转]C# JSON格式的字符串读取到类中
将JSON格式的字符串读取到类中 本例中建立JSON格式的字符串json,将其内容读取到Person类中 运行本代码需要添加引用动态库Newtonsoft.Json 程序代码: using Syste ...
- C/S通信
一直在考虑写一个服务端和客户端通信的框架,就现在的需求,打算走http协议. 通信方式打算用Key/Value的形式. 这里面其实还是有很多的问题的,这样的一个通信框架其实是SOA的一部分.其他 但是 ...
- python子线程退出
def thread_func(): while True: #do something #do something #do something t=threading.Thread(target = ...
- 【ARC072E】Alice in linear land
题目 瑟瑟发抖,这竟然只是个蓝题 题意大概就是初始在\(0\),要到坐标为\(D\)的地方去,有\(n\)条指令,第\(i\)条为\(d_i\).当收到一条指令\(x\)后,如果向\(D\)方向走\( ...
- D3.js比例尺 定量比例尺 之 线性比例尺(v3版本)
定量比例尺 : 数学上有函数的概念,不是编程中所说的函数,如线性函数.指数函数.对数函数等,而指的是一个量随着另一个量的变化而变化.例如有一下线性函数 : y=2x+1该函数在二维坐标系中绘制出来的图 ...