zoukankan      html  css  js  c++  java
  • 函数(二)

    函数的返回值:

     函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值,在函数中

    通过return语句将值返回到屌用函数的代码行。

    #返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序#

     def get_formatted_name(first_name,last_name):

        """ 获取全名"""

        full_name = first_name + ' ' + last_name

        return full_name.tile()

    这个函数可以用来反悔用户的全名,效果:

    >>> get_formatted_name('xue','lingming')
    'Xuelingming'

    让实参变得可选:

    通过对形参定义一个空格符号,就可以实现可选,例如:

    def physical_examination(name,height,weight,measurements):

        """获取体检报告"""

        report = name + '=' + height + ',' + weight + ',' + measurements

        return report.title()

    >>> physical_examination('kardashian','175','150','"91/64/93"')
    'Kardashian=175,150,"91/64/93"'

    这个函数用于进行体检输出,包括:身高,体重,三围!

    但是三围只适用于女性,但是这个函数是男女通用的,所以需要对形参三围指定一个默认值,让实参可选。

    修改:

    def physical_examination(name,height,weight,measurements=' '):

        """获取体检报告"""

        report = name + '=' + height + ',' + weight + ',' + measurements

        return report.title()

    用alben进行测试:

    >>> physical_examination('alben','165','125')
    'Alben=165,125, '

    让函数返回字典:

     函数可以返回任何类型的值,包括字典和列表等较复杂的数据结构,例如:

    def register(username,mail_addr):

        """user register"""

        userinfo = {'user-id' : username , 'mail' : mail_addr }

        print(userinfo)

    传递列表:

     将列表传递给函数后,函数可以直接访问其内容,提高列表的处理能力~

    例如——

    给列表中所有人问好

    >>> friends = ['alben','nichole','tom']      

    >>> def hi(lists):

                for name in lists:

                            msg = 'hello, ' + name.title() + '!'

                            print(msg)

    >>> hi(friends)

    hello, Alben!

    hello, Nichole!

    hello, Tom!

     #首先,定义了一个列表,叫做‘friends’ 其中包含三个元素“alben、nichole、tom”

     #其次,定义了一个函数,叫做hi(lists): 

        在函数中for循环传入的列表,每次循环都创建遍历msg,并且print

    在函数中修改列表:
     将列表传递给函数后,函数就可以对其进行修改,在函数中对列表修改时永久性的!

    通过使用函数修改列表可以高效的处理大量的数据

    使用函数完成下列工作:

     有两个列表:

     1,names

     2,contacts

    如果names中的人名在contacts中,则问好(提示已知联系人),

    如果names中的人名不在contacts中,则添加,并且问好

    最后,输出更新后的contact

    脚本:

    #!/usr/bin/env python

    #filename:update_contact.py

    # -*- coding: UTF-8 -*-

    contacts = ['nichole','tom','curry','harden','kobe','faker','uzi','cool']

    names = ['tom','thompson','johnson']

    def update(known,unknow):

        for somebody in unknow:

            if somebody in known:

                print(somebody.title() + ',' + '已经在通讯录中。')

            else:

                known.append(somebody)

                print(somebody.title() + ',' + '添加到通讯录中。')

        new_contacts = str(known)

        print('更新后的通讯录 ' + new_contacts)

    update(contacts,names)

     解释:

    该脚本中核心部分就是 if ... in ...:语句,

    把给定的names进for遍历,去判断每一个元素是否在已知通讯录中。

    效果:

    [root@Python-Test Day4]# ./update_contact.py
    Tom,已经在通讯录中。
    Thompson,添加到通讯录中。
    Johnson,添加到通讯录中。
    更新后的通讯录
    ['nichole', 'tom', 'curry', 'harden', 'kobe', 'faker', 'uzi', 'cool', 'thompson', 'johnson']

  • 相关阅读:
    技术服务支持
    如何将Java Web项目部署到服务器上
    移动端前端开发——微信左上角返回按钮(JQMobile)
    Mac下phpstorm 浏览器出现 502 bad gateway 解决办法
    mysql sql语句大全
    复制自己的ssh-key
    PhpStorm环境搭建
    max下搭建XAMPP
    Cocopods第三方库管理工具创建Swift项目&OC项目就
    Swift-闭包
  • 原文地址:https://www.cnblogs.com/alben-cisco/p/6836028.html
Copyright © 2011-2022 走看看