笨方法“学习python笔记之函数
规则
python也支持函数功能,但是定义了一些简单规则
- 函数代码以def关键词开头,后接函数标识符名称 和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数
- 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明
- 函数内容以冒号起始,并且要缩进四个空格
- return [表达式]结束函数,返回一个值给调用方,不带表达式的return相当于返回None
语法
函数一般格式如下
def 函数名(参数列表):函数体
示范用例:
def add(a, b):return a+b
参数传递
python函数参数传递分为可更改和不可更改对象
不可更改对象:类似于c/c++中的实参传递,例如整数,字符串等等。python中的不可更改为string , tuples和number
示范用例:
def Convert(nuber):number = 10age = 20
print(f"age: {age}")
Convert(age)
print(f"age: {age}")
运行结果:
可更改对象:类似于引用传递,可以更改参数值,list, dict等为可更改对象
# 可写函数说明
def changeme( mylist ):"修改传入的列表"mylist.append([1,2,3,4])print ("函数内取值: ", mylist)return# 调用changeme函数
mylist = [10,20,30]
changeme( mylist )
print ("函数外取值: ", mylist)
运行结果:
参数
函数参数类型:
- 必须参数
- 关键字参数
- 默认参数
- 不定长参数
必须参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
示范用例:
#可写函数说明
def printinfo( name, age ):"打印任何传入的字符串"print ("名字: ", name)print ("年龄: ", age)return#调用printinfo函数
printinfo( age=50, name="runoob" )
运行结果:
默认参数
在函数调用时,如果没有传递参数,则会使用默认参数
示范用例:
#可写函数说明
def printinfo( name, age=33 ):"打印任何传入的字符串"print ("名字: ", name)print ("年龄: ", age)return#调用printinfo函数
printinfo( name="runoob" )
运行结果:
不定长参数
一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。
基本语法格式
def functionname([formal_args,] *var_args_tuple ):"函数_文档字符串"function_suitereturn [expression]
示范用例:
#this one is like your script with argv
def print_two(*args):arg1, arg2 = argsprint(f"arg1: {arg1}, arg2: {arg2}")print_two("Zed", "Shaw")
运行结果:
另外一种两个*号格式:
def functionname([formal_args,] **var_args_dict ):"函数_文档字符串"function_suitereturn [expression]
使用范例:
# 可写函数说明
def printinfo( arg1, **vardict ):"打印任何传入的参数"print ("输出: ")print (arg1)print (vardict)# 调用printinfo 函数
printinfo(1, a=2,b=3)
运行结果:
如果单独出现星号 * 后的参数必须用关键字传入。
def f(a,b,*,c):return a+b+cf(1,2,c=3)
f(1,2,3)
运行结果:
笨方法“学习python笔记之函数相关推荐
- 笨方法“学习python笔记之print()函数end
在<"笨方法"学习python>中的第7个习题中的用例代码中有print()函数的end用例 代码如下: end1 = "C" end2 = &qu ...
- 笨方法“学习python笔记之urlopen
最近在学习"笨方法"学python中,在习题41中发现了urlopen()函数,特意查了下官方资料,查资料最好查官方资料,最好不要做"百度君".urlopen( ...
- 笨方法“学习python笔记之输入
Python程序输入和其他语言一样,主要有三种方式 1:常用的 使用input()函数,作为程序的输入 例子就采用<"笨方法"学python>中的第·12个习题作为例子 ...
- “笨方法”学习Python笔记(1)-Windows下的准备
Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...
- 笨方法“学习python笔记之元组(tuple)
Tuple(元组)是python的基本序列三种类型之一(另外两种是List, Range),是"笨方法"学python3中没有讲到的数据类型,因此专门查了下官方资料,中可以查找到对 ...
- 笨方法“学习python笔记之字典
列表是线性存储,且可以随机访问,且是有序的,其访问可以通过索引来访问.而字典是另外一种存储数据,可以通过建立键和值的映射关系,就和查字典差不多,通过键就可以查找到相对应的值 字典创建 字典创建过程中每 ...
- 笨方法“学习python笔记之列表
列表是python 的基本数据结构,是一堆数据的集合,类似于其他语言的数组一样,每个列表成员都有一个索引,以便于进行访问. 列表创建 列表创建比较简单,每个列表成员使用逗号进行分开,例如如下: com ...
- 笨方法“学习python笔记之文件操作
python 与其他语言相比,操作文件非常方便,提供了良好的API. Open函数 python是以文件对象的方式来操作文件,操作文件之前首先要打开文件产生一个文件对象,以便进行后续操作. open( ...
- 笨方法“学习python笔记之print换行
python中 print()函数打印换行有几种 方法: 1:第一种方法是使用多个print打印,多个print默认换行 例子 print("Hello world") print ...
最新文章
- c++ STL容器初探
- 【高危】Strurs2又现高危漏洞(附PocExp)
- tstringgrid 单元格区域获取_对合并单元格的序号填充还在一个个的手动录入?那就真的Out了!...
- 项目: 打字母游戏【c++/c】
- 生成excel表格并下载
- typecho插件库 TeStore 方便监控插件版本
- [二次开发][Discuz!X] Discuz!二次开发基本知识
- go 输入输出流(fmt)
- 如何安装vscode网页版_如何让用编辑器编写EverNote?
- html5的video怎么把里面的控制器移出来_电动车突然不走了,但控制器和转把没坏,但车走电,这是怎么回事...
- Python学习---深浅拷贝的学习
- 基于Cookie跨域的单点登录问题
- java12 - 7 排序的案例
- 国庆高质量出行,可视化开启智慧旅游
- 搜狗高速浏览器收藏夹怎么恢复 搜狗浏览器收藏夹恢复教程
- 【小程序源码】团长头像制作小程序源码
- 《留住好员工》-读后感
- 面试被问到CAS原理,触及知识盲区,脸都绿了!
- 【微信小程序】图片下方有白边
- EOJ 3344.送命题