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 ...
随机推荐
- Android中的Service详解
今天我们就来介绍一下Android中的四大组件中的服务Service,说到Service, 它分为本地服务和远程服务:区分这两种服务就是看客户端和服务端是否在同一个进程中,本地服务是在同一进程中的,远 ...
- 39 Ubuntu下配置python的vscode开发环境
0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...
- NX二次开发-UF_MODL_ask_angle_tolerance获取建模的角度公差
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize() ...
- NX二次开发-bat脚本文件切换NX的环境变量(NX路径和语言)
路径环境变量切换到NX9.bat @echo off setx /M UGII_BASE_DIR "D:\Program Files\Siemens\NX 9.0" ------- ...
- Spring随笔-bean装配-自动装配
Spring提供了三种装配方式 1.XML文件进行显式装配 2.java中进行显示装配 3.自动化装配 1.自动化装配的两种实现方式 1.组件扫描:Spring会自动发现应用上下文中创建的bean 2 ...
- Hadoop主要生态系统简介
Hadoop的起源 Doug Cutting是Hadoop之父 ,起初他开创了一个开源软件Lucene(用Java语言编写,提供了全文检索引擎的架构,与Google类似),Lucene后来面临与Goo ...
- HDU1501-Zipper-字符串的dfs
Given three strings, you are to determine whether the third string can be formed by combining the ch ...
- Spring AOP源码分析(三):基于JDK动态代理和CGLIB创建代理对象的实现原理
AOP代理对象的创建 AOP相关的代理对象的创建主要在applyBeanPostProcessorsBeforeInstantiation方法实现: protected Object applyBea ...
- java-day13
异常 指的是程序在执行过程中,出现的非正常情况,最终会导致JVM的非正常停止 异常分类:编译异常,运行期异常 异常的产生过程分析 throw关键字:指方法中抛出指定异常 使用格式:throw new ...
- neo4j常用cypher语句
阅读更多 1.删除带有关系的节点 a.先删除关系 match (n:Node)-[r:关系名称]-() where (n...条件) delete r b.删除节点 match (n:Node ...