zoukankan      html  css  js  c++  java
  • python函数4种类型及函数生成帮助文档

    Pyouthon中函数参数是引用传递(注意不是值传递)。

    对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;

    而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。

    a += a      !=       a = a + a

     

    交换两个数:

    方式一:

     

     

     方式二:

     

    方式三:python 特有

     

    python中函数按照有无参数和返回值分为:

      1.有参数有返回值(常用)

      2.有参数无返回值

      3.无参数有返回值  

      4.无参数无返回值

    举例:

    *有参数有返回值(常用)

     

    #定义函数
    def add_num(a,b):
        #把结果相加
        add = a + b
        return add
     #调用函数
    result = add_num(100,200)
    print("reuslt=%d" % result )

     

     

    *有参数无返回值

     

    # 0关灯,1开灯
    def set_on_off(isOffOn):
        if isOffOn == 0 :
            print("关灯")
        elif isOffOn == 1 :
            print("开灯")      
    #调用函数
    set_on_off(1)
    set_on_off(0)

     

    *无参数有返回值

     

    # 获取温度
    def get_temperature():
        return 24
    temperature = get_temperature()
    print('当前的温度为:%d'%temperature)

     

    *无参数无返回值

     

    #打印软件菜单信息
    def print_menu():
        print('-'*50)
        print('      名片管理系统1.0')
        print('')
        print('  1.  添加名片')
        print('  2.  删除名片')
        print('  3.  查找名片')
        print('-'*50)
    #调用函数
    print_menu()    

     

     

    在函数中把结果返回给调用者,需要在函数中使用return

    函数可返回多个值:

     

     

    给函数添加文档说明方式:

    1、'说明内容'

    2、"说明内容"

    3、'''说明内容'''

    4、"""说明内容"""

     

    给py文件生成帮助文档:

    生成py文件,写入函数,最后导入这个py文件(代码中是test),help(test)

    查看单个函数的帮助文档,无需导入文件,函数定义好,即可help(函数名)

    效果图:

    card_infos = []
    def menu_infos():
        '''封装程序菜单'''
        print('='*35)
        print('	名片管理系统1.1')
        print('	1.新增一个名片')
        print('	2.删除一个名片')
        print('	3.修改一个名片')
        print('	4.查看一个名片')
        print('	5.显示名片列表')
        print('	6.退出名片管理系统')
        print('='*35)
    
    def add_card():
        '''封装增加名片功能'''
        global card_infos
        name = input('请输入要增加名片的姓名:')
        qq = int(input('请输入要增加名片的qq:'))
        wechat = input('请输入要增加名片的微信:')
        card_info = {}
        card_info['姓名'] = name
        card_info['QQ'] = qq
        card_info['微信'] = wechat
        card_infos.append(card_info)
        print('名片列表如下:')
        print('姓名	QQ	微信')
        for card_info in card_infos:
            print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
    
    def delete_card():
        '''封装程序删除名片功能'''
        global card_infos
        flag = 0
        select = int(input('输入1根据内容删除;输入2根据下标删除:'))
        if select == 1:
            name = input('请输入要删除名片的姓名:')
            for card_info in card_infos:
                if card_info.get('姓名') == name:
                    card_infos.remove(card_info)
                    print('删除成功!')
                    print('删除后名片列表如下:')
                    print('姓名	QQ	微信')
                    for card_info in card_infos:
                        print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
                    flag = 1
                    break
                elif flag == 0:
                    print('您要删除的名片不存在!')
        elif select == 2:
            index = int(input('请输入要删除名片序号:'))
            if index <= len(card_infos)+1:
                del card_infos[index-1]
                name =  card_infos[index-1]['姓名']
                print('删除成功!')
                print('删除后名片列表如下:')
                print('姓名	QQ	微信')
                for card_info in card_infos:
                    print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
            else:
                print('您要删除的名片不存在!')
        else:
            print('输入有误!输入1根据内容删除;输入2根据下标删除')
    
    def modify_card():
        '''封装程序修改名片功能'''
        global card_infos
        name = input('请输入要修改名片的姓名:')
        content = input('请输入要修改的内容:')
        new_content = input('请输入新内容:')
        for card_info in card_infos:
            if card_info.get('姓名') == name:
                if content == card_info.get('姓名'):
                    card_info['姓名'] = new_content
                    print('修改成功!')
                    print('删除后名片列表如下:')
                    print('姓名	QQ	微信')
                    for card_info in card_infos:
                        print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
                    flag = 1
                    break
                elif content == str(card_info.get('QQ')):
                    new_content = int(new_content)
                    card_info['QQ'] = new_content
                    print('修改成功!')
                    print('删除后名片列表如下:')
                    print('姓名	QQ	微信')
                    for card_info in card_infos:
                        print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
                    flag = 1
                    break
                elif content == card_info.get('微信'):
                    card_info['微信'] = new_content
                    print('修改成功!')
                    flag = 1
                    print('删除后名片列表如下:')
                    print('姓名	QQ	微信')
                    for card_info in card_infos:
                        print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
                    break
                elif flag == 0:
                    print('您要修改的名片不存在!')
            else:
                print('您要修改的名片不存在!')
    
    def find_card():
        '''封装程序查看名片的功能'''
        global card_infos
        name = input('请输入要查看名片的姓名:')
        for card_info in card_infos:
            if card_info.get('姓名') == name:
                print('姓名	QQ	微信')
                print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
                flag = 1
                break
            elif flag == 0:
                print('您要查看的名片不存在!')
    
    def display_card():
        '''封装程序显示名片功能'''
        global card_infos
        print('名片列表如下:')
        print('姓名	QQ	微信')
        for card_info in card_infos:
            print('%s	%d	%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
        
    def main():
        '''程序入口'''
        while True:
            num = int(input('请输入您选择的编号:'))
            if num == 1:
                add_card()
            elif num == 2:
                delete_card()
            elif num == 3:
                modify_card()
            elif num == 4:
                find_card()
            elif num == 5:
                display_card()
            elif num == 6:
                break
            else:
                print('输入有误!请输入正确的编号')
    
    #main()
    import test
    help(test)

     

    实践出真知~
  • 相关阅读:
    栅格数据中加入可见水印
    DWT在栅格数据嵌入不可见水印的应用
    栅格数据嵌入不可见水印的流程
    栅格数据嵌入不可见水印的方法总结
    QIM量化
    哈希函数(hash函数)
    IDEA——IDEA使用Tomcat服务器出现乱码问题
    Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(四)
    Quartz学习——Spring和Quartz集成详解(三)
    Quartz学习——Quartz简单入门Demo(二)
  • 原文地址:https://www.cnblogs.com/NolaLi/p/7954225.html
Copyright © 2011-2022 走看看