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('\t名片管理系统1.1')
print('\t1.新增一个名片')
print('\t2.删除一个名片')
print('\t3.修改一个名片')
print('\t4.查看一个名片')
print('\t5.显示名片列表')
print('\t6.退出名片管理系统')
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('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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('姓名\tQQ\t微信')
print('%s\t%d\t%s' %(card_info['姓名'],card_info['QQ'],card_info['微信']))
flag = 1
break
elif flag == 0:
print('您要查看的名片不存在!') def display_card():
'''封装程序显示名片功能'''
global card_infos
print('名片列表如下:')
print('姓名\tQQ\t微信')
for card_info in card_infos:
print('%s\t%d\t%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)
python函数4种类型及函数生成帮助文档的更多相关文章
- 深入理解DOM节点类型第四篇——文档片段节点DocumentFragment
× 目录 [1]特征 [2]作用 前面的话 在所有节点类型中,只有文档片段节点DocumentFragment在文档中没有对应的标记.DOM规定文档片段(document fragment)是一种“轻 ...
- python基础-第十一篇-11.2DOM为文档操作
文档对象模型(DOM)是一种用于HTML和XML文档的编程接口 节点类型 12种节点类型都有NodeType属性来表明节点类型 节点关系 <div id="t"> &l ...
- Javascript中只能在 HTML 输出流中使用 document.write,在文档已加载后使用它(比如在函数中),会覆盖整个文档。
意思就是说,初次加载时如果没有加载document.write,那么再次加载的时候回覆盖掉原来的内容,只显示新加载的内容. <!DOCTYPE html> <html> < ...
- 三种方法解决android帮助文档打开慢
三种方法解决android帮助文档打开慢 经查是因为本地文档中的网页有如下两段js代码会联网加载信息,将其注释掉后就好了 <link rel="stylesheet" h ...
- Python函数中参数类型
在学习Python函数的时候,函数本身的定义和调用并不是很复杂,但是函数的参数类型和用法的确有些复杂.在此做一个小结,加深理解. Python参数的定义 负责给函数提供一些必要的数据或信息,以保证函数 ...
- python中错误、调试、单元测试、文档测试
错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入.从网络爬取东西的时候,网络断了.这类错误称为异常 错误处理 普通的错误处理机制就是在出 ...
- Sqlite3中存储类型和数据类型结合文档解析。
sqlite3是个很小的数据库,运行在手机,机顶盒上....那它就不可能像musql,sqlserver那么规范,有很多的数据类型,之前我也以为它定义了很多数据类型,其实不是他就5个存储类,那么多数据 ...
- Python基础(2):__doc__、文档字符串docString、help()
OS:Windows 10家庭中文版,Python:3.6.4 Python中的 文档字符串(docString) 出现在 模块.函数.类 的第一行,用于对这些程序进行说明.它在执行的时候被忽略,但会 ...
- python爬虫处理在线预览的pdf文档
引言 最近在爬一个网站,然后爬到详情页的时候发现,目标内容是用pdf在线预览的 比如如下网站: https://camelot-py.readthedocs.io/en/master/_static/ ...
随机推荐
- Spark算子--SortBy
转载请标明出处http://www.cnblogs.com/haozhengfei/p/39edcbb10b5076599c0e5609b7136b88.html SortBy--Transforma ...
- 从零开始学习前端JAVASCRIPT — 5、JavaScript基础BOM
1:BOM(Browser Object Model)概念 window对象是BOM中所有对象的核心. 2:window属性(较少用) self:self代表自己,相当于window. windo ...
- jsp页面固定页面为绝对路径
1 <!-- 固定到绝对路径 --> 2 <base href="<%=request.getContextPath()%>/"/>
- SVN报Previous operation has not finished; run 'cleanup'&
做着项目突然SVN报Previous operation has not finished; run 'cleanup' if it was interrupted,进度又要继续,烦.百度一下发现很多 ...
- PHP error_reporting() 错误控制函数功能详解
定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_reporting(report_level) 如果参数 level 未指定 ...
- 用photoshop将图片四角变成圆角
1.用PS打开一张图片,用矩形选框工具,选出你要保留的的那一部分,"选择→修改→平滑".在弹出的选框里添入数值,值越大角就越圆. 2.然后选择"选择→反选"再按 ...
- CCF系列之字符串匹配(201409-3)
试题编号:201409-3试题名称:字符串匹配时间限制: 1.0s内存限制: 256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当 ...
- Java compiler level does not match the version of the installed java project facet错误的解决
因工作的关系,Eclipse开发的Java项目拷来拷去,有时候会报一个很奇怪的错误.明明源码一模一样,为什么项目复制到另一台机器上,就会报“java compiler level does not m ...
- .net Core学习笔记1 创建简单的 .net core项目
1.打开vs2017>Web 1:创建实体类: namespace ProductMvc.Models { //商品类型 public class ProductType { public in ...
- BSA Network Shell系列-nexec命令
# nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...