python的def语句_【零基础学Python】def语句,参数和None值
像之前的print()、input()和len()功能,Python提供了一些类似的内置函数,另外也可以自己编写自定义函数。
示例:
def hello():
print('Howdy!')
print('Howdy!!!')
print('Hello there.')
hello()
第一行是def语句,它定义了一个名为hello()的函数。def语句之后的代码块是函数的主体。该代码是在调用函数时执行,而不是在首次定义函数时执行。
最后的hello()功能是函数调用。在代码中,函数调用只是函数的名称,后跟括号,括号里面可能带有一些参数。当程序运行到这些调用时,它将跳到函数的第一行并在那里开始执行代码。当运行到函数末尾时,程序运行将返回到调用函数的那一行,并像之前一样继续遍历运行代码。
当运行该段程序时,输出如下:
Howdy!
Howdy!!!
Hello there.
带有参数的DEF语句
调用print()或len()函数时,可以通过在括号之间键入值来传递在此上下文中称为参数的值。还可以定义自己的接收参数的函数。
示例:
def hello(name):
print('Hello ' + name)
hello('Alice')
hello('Bob')
当运行该程序时,输出如下:
Hello Alice
Hello Bob
该hello()程序中函数的定义具有一个称为parameter的参数name。参数时一个变量,它被存储在一个函数里被调用。第一次调用hello()函数时,带有参数’Alice'。程序运行进入函数,变量name自动设置为'Alice',然后通过print()输出。
关于参数需要特别注意一点,函数返回时会忘记存储在参数中的值。举个例子,如果在hello('Bob')之后加print(name),程序将会报错,因为name没有被命名,而这个定义已经在hello('Bob')被调用返回后被回收了。
返回值和返回语句
当调用len()函数并将参数传递给'Hello',函数调用的结果为整数值5,即传递的字符串的长度。通常,函数调用求值的值称为函数的返回值。
使用def语句创建函数时,可以使用语句指定返回值return。一个return语句由以下部分组成:return关键字
函数应返回的值或表达式
当表达式与return语句一起使用时,返回值就是该表达式的计算结果。例如,以下程序定义了一个函数,该函数根据作为参数传递的数字返回一个不同的字符串。
import random
def getAnswer(answerNumber):
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidedly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return 'Reply hazy try again'
elif answerNumber == 5:
return 'Ask again later'
elif answerNumber == 6:
return 'Concentrate and ask again'
elif answerNumber == 7:
return 'My reply is no'
elif answerNumber == 8:
return 'Outlook not so good'
elif answerNumber == 9:
return 'Very doubtful'
r = random.randint(1, 9)
fortune = getAnswer(r)
print(fortune)
该程序启动时,Python首先导入random模块。然后getAnswer()定义函数,由于函数是已经定义的,因此执行将跳过其中的代码。接下来,random.randint(1, 9)函数调用有两个参数,1和9。它的计算结果是1和9之间(包括1和9本身)的随机整数,并且此值存储在变量r中。
将该r作为参数的getAnswer()函数调用,程序运行值getAnswer()函数的头部,该值r存储在参数answerNumber。然后,根据answerNumber判断返回对应的字符串值。程序运行返回到程序最底部fortune = getAnswer(r),返回的字符串被赋值给了变量fortune,然后传递给print()调用,输出。
请注意,由于可以将返回值作为参数传递给另一个函数调用,因此可以缩短以下三行:
r = random.randint(1,9)
fortune = getAnswer(r)
print(fortune)
等效于
print(getAnswer(random.randint(1,9)))
None值
在python中,有一个名为None的值,表示没有值。None是NoneType数据类型的唯一值。(其他编程语言则为null,nil或underfined)就像True和False,None的首字母必须大写
当需要将不会与真实值混淆的内容存储在变量中时,None会很有用。
比如:
>>> spam = print('Hello!')
Hello!
>>> None == spam
True
在Python中,在没有return声明的情况下将return None添加到任何函数定义的末尾。这类似于while 或 for循环以continue语句隐式结束的方式。另外,如果使用return不带值的情况,也会返回None。
关键字参数和PRINT()
大多数参数由他们在函数调用中的位置标识。例如,random.randint(1, 10)与random.randint(10, 1)不同。函数调用random.randint(1, 10)将返回1和10之间的随机整数,因为第一个参数是范围的低端,第二个参数是高端(而random.randint(10, 1)会导致错误)
然而,关键字参数在函数调用中会被他们之前的关键字标识。关键字参数也通常用于可选参数。
例如:
print('Hello',end ='')
print('World')
输出:
HelloWorld
输出被打印在一行上,因为在之后不再打印新行’Hello',而是打印空白字符串,如果需要禁用每个print()函数调用末尾的换行符,这将很有用。
同样,可以将多个字符串值传递给print(),该函数将自动用空格分隔他们。
>>> print('cats', 'dogs', 'mice')
cats dogs mice
当然,也可以通过传递关键字参数sep来替换默认的分隔字符串。如:
>>> print('cats', 'dogs', 'mice', sep=',')
cats,dogs,mice
当然你也可以在自定义函数中添加关键字参数。后面的文章将会涉及。
文档:【零基础学Python】def语句,参数和None值 - 掘金juejin.im
python的def语句_【零基础学Python】def语句,参数和None值相关推荐
- python培训一般多久_零基础学python需要多久
一:明确自己的学习目标.不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识.只有这样才能朝着目标持续的前进,少走弯路,从而在学习的过程中得到提升,享受整个学习的乐趣. 二:基础的Pytho ...
- python赋值运算符难理解_零基础学 Python(8)运算符 — 算术、比较、赋值、逻辑...
Python 的运算符有:算术运算符.比较运算符.赋值运算符.逻辑运算符.成员运算符.位运算符.身份运算符.本章主要讲解 Python 的算术运算符.比较运算符.赋值运算符.逻辑运算符. 算术运算符 ...
- python循环套循环_零基础学python 14 循环套循环:循环的嵌套
大家可以回忆一下,之前我们学习过的循环结构.也就是for循环结构,今后我们还将学习另一种循环结构while结构,这里先不细讲.当初我们学习for循环结构的时候,有心的同学或许会发现,我们的for结构一 ...
- python while遍历字符串_零基础学Python:while循环和for遍历
1.while 循环 while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:while(表达式){循环体}. 循环的作用就是让 ...
- python适合做网站吗_零基础学python—做网站
3-2 通过python连接数据库 1 . 先下载MySQLdb 2 . 解压后在终端执行以下命令 vandeMacBook-Air:~ enniu$ cd/Users/enniu/Downloads ...
- c字符串中包含双引号_零基础学Python:一文看懂数字和字符串
来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础.[ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyth ...
- python 智能造句_[零基础学Python]正规地说一句话
小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子 ...
- 小甲鱼python课后题答案_小甲鱼python视频教程下载|小甲鱼零基础学python视频教程附习题答案_ - 极光下载站...
小甲鱼零基础学python视频教程下载,最完整的小甲鱼python语言学习视频来啦,想要学习python语言的小白们不妨点击观看视频在下学习吧! Python语言介绍 Python是一种面向对象的解释 ...
- python入门到熟练要多久_零基础学python要多久
零基础进行Python学习的话,如果选择自学,一般学习周期在一年半左右.选择进行培训的话,学习Python周期一般在五到六个月左右,不过学习的种类不同,班级不同,培训周期也是存在一定差异的. 零基础学 ...
- python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?
转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...
最新文章
- c语言resource files的作用,c – resource.h中的宏用于什么?
- 保存Java程序状态及设置Properties文件
- c++队列queue
- WPF效果第一百七十八篇ItemsControl旋转
- 如何用一套引擎搞定机器学习全流程?
- Linux系统如何安装VMware(虚拟机)
- 啪的一下,马保国的流量被这帮人抢先变现了!
- python实现水仙花
- 《Head First 设计模式》(一):策略模式
- Firebug工具离线安装
- 还在烦恼ToF的误差问题?有人帮你找到解决方法了!
- php计算qqbkn,QQ 加密算法最新版 _tk,bkn算法
- gitlab修改项目名称
- Vue 拦截器 多接口调用 实现唯一loding效果 解决同步接口调用loding闪动
- 用Matlab作函数的图像
- IOS数据库操作SQLite3使用详解
- python编程的缩进什么意思_编程缩进是什么意思
- jsencrypt-RSA加密
- 一文搞懂Spring,堪称Spring源码终结者
- 使用oracle数据库审计,Oracle数据库审计功能详解
热门文章
- Java File类详解
- 各种说明方法的答题格式_初中语文阅读答题公式 语文阅读理解万能公式大全...
- matlab程序转java_用面向对象的方法将一段JAVA代码转化为matlab
- 华为仿苹果字体_华为mate40系列再次霸榜DXO,网友:无敌是多么寂寞
- mysql5.6 python_Centos-6.5 + python3 + mysql5.6 环境搭建
- mysql plsql cursor_Oracle--plsql游标创建和使用
- Python数模笔记-PuLP库(2)线性规划进阶
- jframe运行和预览大小不一样_同一款车型,为什么配的轮胎大小还会不一样?【内含福利】...
- mysql主备切换 自动_核电生产管理信息系统EAM完成首次备用环境切换演练
- echarts自适应父div大小