Python学习笔记之函数(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012561176/article/details/81943318

一、函数返回值

1、什么是返回值:函数返回的值被称为返回值。在函数中,可使用return语句将值返回到调用函数的代码行。这样,我们可以在函数方法体下实现一些小模块的功能,并返回,从而简化主程序的代码。

2、简单的函数返回值实例,代码如下:

#一个简单的函数返回值实例代码

def test(name,music):
    return name + " listen to the music:" + music;

message = test('Jenny','My Love');
print(message);

调用函数test()时,把两个实参传递给两个形参,并返回一段字符串,之后将这个字符串存储到message变量中,输出打印,运行后如下图所示:

3、让实参变得可选的,有时候,需要让实参变成可选的,这样使用函数的人就只需在必要时才提供额外的信息。可使用默认值来让实参变成可选的。 示例代码如下:

#让实参变得可选的

def user(name,age,sex=''):
    if sex:
        return "name is:" + name + ",age is:" + str(age) + ",sex is:" + sex;
    else:
        return "name is:" + name + ",age is:" + str(age);

print(user('Jenny',22));
print(user(age=25,sex='male',name='Amy'));

其中函数形参里面带了个默认值 即sex='',当sex为非空字符串时,Python返回为True类型,接着在调用两次函数,其中一个带了实参sex,其中一个不带实参sex,分别输入打印其函数返回值,运行后如下图所示:

4、返回列表和返回字典,函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。

(1)、返回列表,示例代码如下:

#返回列表

def fruit(fruit):
    lists = [fruit];
    return lists;

fruits = fruit('apple');
fruits.append('orange');
for fruit in fruits:
    print("you love fruit is:" + fruit);

很简单,运行后如下图所示:

注:在这里必须注意,上面代码函数返回的时候如果return list的话,就会报错,因为list是Python中的一个class,所以后面定义变量的时候尽量少命名为lists这种吧,万一写错了,找半天,一个细节问题搞到。

(2)、返回字典,示例代码如下:

#返回字典,一个包含作者和音乐名称的字典

def musicInfo(author,music_name):
    musicInfo = {'author':author,'music_name':music_name};
    for a,m in musicInfo.items():
        print("The " + a + " is:" + m);

author = input("Input the author:");
music_name = input("Input the music_name:");
musicInfo(author,music_name);

其中通过input()方法用户输入作者和歌曲名,分别存储到变量author和music_name中,作为函数的实参,接着传递给形参,然后构造字典,使用items()方法循环字典的键值对,分别输出打印,运行后如下图所示:

(3)、返回嵌套字典的字典,示例代码如下:

#返回嵌套字典的字典

def user(name,age,sex,hobby):
    users = {'name':name,'info':{'age':age,'sex':sex,'hobby':hobby}};
    print("The name is:" + users['name']);
    for property,value in users['info'].items():
        print("the " + property + " is:" + str(value));

user('John',21,'fmale','play games');

运行后如下图所示:

5、结合使用函数和While循环,改下上面的一个示例代码后如下:

#返回嵌套字典的字典,并使用while循环

def user(name,age,sex,hobby):
    users = {'name':name,'info':{'age':age,'sex':sex,'hobby':hobby}};
    print("The name is:" + users['name']);
    for property,value in users['info'].items():
        print("\tthe " + property + " is:" + str(value));

count = 1;
while count < 10:
    if count != 2 and count != 4 and count != 8:
        user('John',21,'fmale','play games');
    count *= 2;
    if count == 2:
        user('Jenny',20,'male','run');
    elif count == 4:
        user('Amy',22,'male','Go to the Playing');
    elif count == 8:
        user('Honny',25,'Fmale','Playing computer');

其中通过while循环,不为2,4,8的时候调用user()函数,然后乘于2,再依次判断是否为2,4,8,再分别调用user(),依次打印后数据都是不一样的。运行后如下图所示:

以上内容仅供大家学习参考,谢谢!

猜你喜欢

转载自blog.csdn.net/u012561176/article/details/81943318
今日推荐