Python中的函数(2)
一、实参和形参
def greet_user(username):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username) greet_user("Joker")
在上面代码中定义函数 greet_user()时,要求给变量username指定一个值。调用这个函数并提供这种信息(人名)时,它将打印带名字的问候语句。
在函数 greet_user() 的定义中,变量username 是一个形参---它表示函数完成其工作所需要的一项信息。在代码 greet_user('Joker') 中,值“Joker”
是一个实参。实参是在调用函数时传递给函数的信息。我们在调用函数时,需要将函数所需的信息放在括号内。在greet_user('Joker')中,将实参
‘Joker’ 传递给了函数greet_user() ,这个值被存储在形参username中。
二、位置实参
调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的形参。所以,实参与形参最简单的关联方式就是位置关联即实参顺序与形
参顺序一致,这种关联方式叫做位置实参。使用位置实参来调用函数时,如果实参的位置不正确,结果可能出乎意料。
三、关键字实参
def greet_user(username,age):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username+",you are " + str(age) + " years old!" ) greet_user(age=18,username="Joker")
console:
关键字实参 是传递给函数的 名称-值对。如上面的代码,在调用函数时,在括号内使用A=B的形式 给形参赋值,
A为形参名,B为实参,这样传递参数可以不用关心传递参数的顺序,只需关心名称与值是否对应即可。
四、形参默认值
编写函数时可以给每个形参指定默认值。
def greet_user(username,age=18):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username+",you are " + str(age) + " years old!" ) greet_user(username="Joker")
console:
我们给age 指定了默认值 18 ,我们调用时并没有传递age的实参,它也会默认给它18的实参,这就是age的默认值,
所以打印的信息还是和上面打印的信息一样。
五、避免实参错误
如果函数出现实参错误,traceback会指出问题出在什么地方,让我们可以去找到出错的地方进行更正。
def greet_user(username,age=18):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username+",you are " + str(age) + " years old!" ) greet_user()
console:
因为有Traceback的存在所以可以让我们可以更好的去找到代码中是哪里的错误。
还没有对象?要不要给你介绍,一款不错的狗粮。
Python中的函数(2)的更多相关文章
- Python中split()函数的用法及实际使用示例
Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...
- Python中利用函数装饰器实现备忘功能
Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下 " ...
- python中range()函数的用法
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...
- Python 中的函数
学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...
- python中format函数
python中format函数用于字符串的格式化 通过关键字 1 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 2 grade = {'nam ...
- Python中readline()函数 去除换行符
从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...
- Python中int()函数的用法浅析
int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builti ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- python中filter函数
python中filter()函数 filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断 ...
- Python中print()函数不换行的方法
一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...
随机推荐
- jQuery 第九章 工具方法
$.type() $.isArray() $.isFunction() $.isWindow()... $.trim() $.proxy() $.noConflict() $.each() $.map ...
- hdu1301 Jungle Roads 基础最小生成树
#include<iostream> #include<algorithm> using namespace std; ; int n, m; ]; struct node { ...
- iOS 加载Viewcontroller的几种方法
// 一.根据StoryboardID(需要在Storyboard设置),通过ViewController所在的Storyboard来加载: UIStoryboard *storyboard = [U ...
- SQL - nulls值排序问题
给字段排序时遇到的null值问题 当我们使用order by来为指定的字段进行排序时,如果db中该字段的值存在着null值,那么在排序时这些null值会不会参与排序呢?如果参与排序的话,又是以怎样的标 ...
- Qt文本读写之一:输入输出设备和文件操作
一.输入输出设备 QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile.QBuffer和 QTcpSocket等支持读/写数据块的设备提供了一个抽象接口.QIODevice类是抽象 ...
- Spark MLlib编程API入门系列之特征选择之向量选择(VectorSlicer)
不多说,直接上干货! 特征选择里,常见的有:VectorSlicer(向量选择) RFormula(R模型公式) ChiSqSelector(卡方特征选择). VectorSlicer用于从原来的特征 ...
- Asp.Net MVC中捕捉错误路由并设置默认Not Found页面。
在Global中写一个Application_Error捕捉错误路由并重定向到Not Found页面.这里是全局性抓取错误路由,此处还可以写由错误路由导致访问失败的日志记录. protected vo ...
- struct和union
struct的小秘密 C语言中的struct可以看做变量的集合,struct的问题: 空结构体占用多大内存? 例子1:空结构体的大小 #include<stdio.h> struct ST ...
- OCP 11g 第四章练习
练习 4-1 配置Oracle Net 在本练习中, 将使用图形化工具和命令行工具来建立一个完整的Oracle Net 环境. 由此, 读者可看出在Windows 和 Linux 系统中的区别. 1. ...
- 8.2.6 PEB —— PEB结构值不正确的问题
书中作者使用 dt _PEB xxxxxx 命令来查看当前进程的PEB结构. 实际操作后PEB结构显示的成员值: 作为进程链表的LDR结构居然没有值,这显然是不正常的,地址也没有输错,问题到底出在哪里 ...