【有书共读05】《python编程》读书笔记06


一、定义函数

python中使用关键字def来定义一个函数,函数名必不可少,函数名后面的小括号也必不可少!

#coding:utf-8
def greet():
  print("Hello everyone!")
  #显示简单的语句

1、向函数传递信息

通过函数中的“()”,可以向函数传递信息(或者说是值),也就是我们所说的参数,函数通过对参数值一定的操作,得到我们想要的的结果。

#coding:utf-8  
def greet(user_name):
    #参数是user_name
    print("Hello everyone,I am "+user_name+".")
    #显示简单的语句
greet("Xiao Ming")
#结果应为 Hello everyone,I am Xiao Ming.

2、实参和形参

(如果看完标题就秒懂,那么建议跳过)

形参是形式参数,是函数实现其功能所需的一种信息。

实参就是实际参数,是真正参与函数运算的值。

(这个在其他语言的函数都有,大家想必不会陌生)

就像刚才的例子,user_name就是形参,而”Xiao Ming”就是实参。每个实参都要对应一个形参。那么这就是传递实参。

二、传递实参

python中,传递实参有两种方式,一种是位置实参,另一种是关键字实参。

1、位置实参

#coding:utf-8  
def introduction(user_name,thing):
    #参数是user_name
    print('I am ' + user_name +', I like ' + thing + '.')
    #显示简单的语句
introduction("Xiao Ming",'football')

在这个例子中,"Xiao Ming"将值传递给user_name 'football'将值传递给thing

如果两个实参的位置颠倒,你就会发现程序可能会出错(当然,在这个例子中只会改变结果,没有出现编译错误)

位置实参一定要注意参数的位置,位置放错,程序很容易出错!

2、关键字实参

关键字实参直接指定实参把值传递给形参,即使顺序出错也没事

#coding:utf-8  
def introduction(user_name,thing):
    print('I am ' + user_name +', I like ' + thing + '.')
introduction(user_name = "Xiao Ming",thing = 'football')

注意:使用关键字实参时,一定要准确地指定函数定义中的形参名。

3、默认值

在定义函数时,可以给函数形参指定默认值。但是,没有默认值的参数一定要放在有默认值参数的前面,否则会出现语法错误(和C++一样的规则)

#coding:utf-8  
def introduction(user_name,thing='dog'):
    print('I am ' + user_name +', I like ' + thing + '.')
introduction('Sandy')
introduction('Nike','cat')
introduction(thing = 'monkey',user_name = 'John')

参数默认值对于实参传递的两种方式的规则并没有任何影响。

三、返回值

我们调用函数期望其处理一些数据,更多时候我们更希望获得最终结果,而不是仅仅将其打印下,这时候我们就需要函数返回给我们一个值,这就是函数返回值。

函数返回值借助return语句来实现这个功能。

1、返回一个简单值

#coding:utf-8  
def introduction(user_name,thing='dog'):
    s='I am ' + user_name +', I like ' + thing + '.'
    return s
s=introduction('Sandy')
print(s)
注意:函数的返回值类型是不限定的,可以返回整数、浮点数等数据类型,也可以返回列表、字典等数据结构类型。

2、返回多个值(神级功能!有没有!!!)

可以有多个返回值,可以说是python一个极大的有点,十分方便操作。

(作为经常使用C++的学生党给跪了,简直没有太方便!)

def
introduction(user_name,thing_1='dog',thing_2='cat'):
    s_1='I am ' + user_name +', I like ' + thing_1 + '.'
    s_2='I am ' + user_name +", I don't like " + thing_2 + '.'
    return s_1,s_2
s1,s2=introduction('Sandy')
print(s1)
print(s2)

#Python#
全部评论
go也可以返回多个值哦⊙∀⊙!
点赞 回复 分享
发布于 2018-06-01 12:02

相关推荐

牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务