编写Python参考手册速查软件
学习Python编程会经常用到各种函数或者涉及到列表的操作、字典的操作、字符串的操作。由于本人年龄偏大而且记忆力不如从前,为了学习方便随时可以查到相关的语法说明,为此编写了一个参考手册速查程序。与大家分享一下,首先说明一下编程的思路和流程以及编程过程中遇到的一些问题。编写该程序主要用到字典和字符和列表的相关操作。本软件数据采用csv格式,可以随时整理成电子表格输出。
编 程 思 路
- 设计数据的查询方式,查询手册主要是根据语法的英文首字母进行索引(因为每个人不一定把语法的完整词汇记下来)
- 根据查询方式设计数据的存储形式,字典的格式正符合此要求(键值对),设计两个字典,都以首字母作为键,一个字典(函数)以首字母开头的语法作为值,一个语法描述为值。两个字典的首字母是一一对应的,存储的文件为csv格式
- 编写录入和修改、增加、删除模块
- 设计程序主界面
- 整合主程序
分享源代码
根据查询的功能,分为内置函数查询、列表方法查询、字典方法查询、字符串方法查询。
功能板块及源码
内置函数的csv文件录入和生成源码如下:
#_*_coding:utf-8_*_ # 作者 :liuxiaowei # 创建时间 :3/18/22 10:04 PM # 文件 :内置函数字典及描述生成.py # IDE :PyCharm
import csv
# 自定义一个函数生成一个首字母是a-z的空字典
def cre_Dic(PyD = {
}):
letter_key = 'abcdefghijklmnopqrstuvwxyz'
for i in range(len(letter_key)):
PyD[letter_key[i]] = []
return PyD
# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值
def add_Words(letter, words_Dict, words):
if letter.lower() in words_Dict.keys():
for key in words_Dict.keys():
if letter.lower() == key:
words_Dict[letter].append(words)
else:
print('请核实输入的信息!')
# 定义一个函数添加描述列表,content为描述的内容作为字典值列表的内容,desc_Dict为描述字典,首字母为键
def add_Desc(letter, desc_Dict, content):
if letter.lower() in desc_Dict.keys():
for key in desc_Dict.keys():
# 输入的内容不能为空
if letter.lower() == key and content != '':
desc_Dict[letter].append(content)
else:
print('请核实输入的信息!')
# 利用字典生成函数名称的csv文件的函数,参数为函数名字典
def create_Csv(Pydict):
# 生成指定文件名的csv文件
with open('内置函数名称文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 利用字典生成函数的描述的csv文件的函数,参数为函数名字典
def create_Csv_desc(Pydict):
# 生成指定文件名的csv文件
with open('内置函数名称描述文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 定义一个向函数名字典添加数据并生成csv文件的函数
def Oper_Fun_name_Dict():
# 调用生成键为26个英文字母,值为空的函数生成函数名字典的函数
Py_func_Dic = cre_Dic()
# 设定一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv(Py_func_Dic)
break
else:
# 输入函数名称
words = input('\n请输入函数名称(不分大小写):')
# 调用添加函数名的函数,参数为首字母,函数字典,函数名
add_Words(letter1,Py_func_Dic, words)
# 定义一个向函数描述的字典添加数据并生成csv文件的函数
def Oper_Func_desc_Dict():
# 生成一个函数名称描述的字典
desc_Dict = cre_Dic()
# 定义一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv_desc(desc_Dict)
break
else:
# 输入函数的描述内容
contents = input('\n请输入描述内容:')
# 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容
add_Desc(letter1, desc_Dict, contents)
# 定义一个主函数,生成主界面
def main():
print('\n')
print('==== Python知识手册速查程序之文件生成模块 ==== ')
print('-' * 40)
print(' 1. 内置函数名称文件生成\n 2. 内置函数描述文件生成\n 3. 退 出')
print('-' * 40)
# 定义一个操作函数operation
def Operation():
# 调用界面主函数
main()
# 定义一个选择变量
choice = int(input('请输入选项:(1,2,3)'))
Done = True
# 循环操作
while Done:
if choice == 1:
Oper_Dict_name()
elif choice == 2:
Oper_desc_Dict()
question = input('Do you want to quit?(q)').lower()
if question == 'q' or question == 'quit':
break
else:
Done = True
if choice == 3:
break
# 启动主程序
if __name__ == "__main__":
Operation()
运行结果如下:
- 列表方法的文件生成代码与内置函数完全一样的,只是把相应的csv文件名修改一下就可以了,源码如下:
```js_coding:utf-8_
作者 :liuxiaowei
创建时间 :3/18/22 3:16 PM
文件 :生成列表方法的文件.py
IDE :PyCharm
import csv
用于列表的方法的'方法'和'描述'的生成文件
```js
# 自定义一个函数生成一个首字母是a-z的空字典
def cre_Dic(PyD = {}):
letter_key = 'abcdefghijklmnopqrstuvwxyz'
for i in range(len(letter_key)):
PyD[letter_key[i]] = []
return PyD
# 利用字典生成函数名称的csv文件的函数,参数为函数名字典
def create_Csv(Pydict):
# 生成指定文件名的csv文件
with open('列表方法文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 利用字典生成函数的描述的csv文件的函数,参数为函数名字典
def create_Csv_desc(Pydict):
# 生成指定文件名的csv文件
with open('列表方法描述文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值
def add_Words(letter, words_Dict, words):
if letter.lower() in words_Dict.keys():
for key in words_Dict.keys():
if letter.lower() == key:
words_Dict[letter].append(words)
else:
print('请核实输入的信息!')
# 定义一个函数添加描述列表,content为描述的内容作为字典值列表的内容,desc_Dict为描述字典,首字母为键
def add_Desc(letter, desc_Dict, content):
if letter.lower() in desc_Dict.keys():
for key in desc_Dict.keys():
# 输入的内容不能为空
if letter.lower() == key and content != '':
desc_Dict[letter].append(content)
else:
print('请核实输入的信息!')
# 定义一个向函数描述的字典添加数据并生成csv文件的函数
def Oper_Lst_desc_Dict():
# 生成一个函数名称描述的字典
desc_Dict = cre_Dic()
# 定义一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv_desc(desc_Dict)
break
else:
# 输入函数的描述内容
contents = input('\n请输入列表方法描述内容:')
# 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容
add_Desc(letter1, desc_Dict, contents)
# 定义一个向函数名字典添加数据并生成csv文件的函数
def Oper_Fun_name_Dict():
# 调用生成键为26个英文字母,值为空的函数生成函数名字典的函数
Py_func_Dic = cre_Dic()
# 设定一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv(Py_func_Dic)
break
else:
# 输入函数名称
words = input('\n请输入列表名称(不分大小写):')
# 调用添加函数名的函数,参数为首字母,函数字典,函数名
add_Words(letter1,Py_func_Dic, words)
# 定义一个操作函数operation
def Operation():
# 调用界面主函数
main()
# 定义一个选择变量
choice = int(input('请输入选项:(1,2,3)'))
Done = True
# 循环操作
while Done:
if choice == 1:
Oper_Dict_name()
elif choice == 2:
Oper_desc_Dict()
question = input('Do you want to quit?(q)').lower()
if question == 'q' or question == 'quit':
break
else:
Done = True
if choice == 3:
break
# 定义一个主函数,生成主界面
def main():
print('\n')
print('==== Python知识手册速查程序之文件生成模块 ==== ')
print('-' * 40)
print(' 1. 列表方法名称文件生成\n 2. 列表方法描述文件生成\n 3. 退 出')
print('-' * 40)
if __name__ == "__main__":
Operation()
运行结果如下:
- 字典方法的文件生成,源码如下:
#_*_coding:utf-8_*_
# 作者 :liuxiaowei
# 创建时间 :3/18/22 4:05 PM
# 文件 :生成字典及其描述.py
# IDE :PyCharm
import csv
用于字典的方法的'方法'和'描述'的生成文件
# 自定义一个函数生成一个首字母是a-z的空字典
def cre_Dic(PyD = {
}):
letter_key = 'abcdefghijklmnopqrstuvwxyz'
for i in range(len(letter_key)):
PyD[letter_key[i]] = []
return PyD
# 利用字典生成字典名称的csv文件的函数,参数为函数名字典
def create_Csv_Name(Pydict):
# 生成指定文件名的csv文件
with open('字典方法名称文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 利用字典生成函数的描述的csv文件的函数,参数为函数名字典
def create_Csv_Desc(Pydict):
# 生成指定文件名的csv文件
with open('字典方法描述文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 定义一个添加字典值为字典方法名字的列表函数,参数为首字母作为键,函数名为对应的列表值
def add_Words(letter, words_Dict, words):
if letter.lower() in words_Dict.keys():
for key in words_Dict.keys():
if letter.lower() == key:
words_Dict[letter].append(words)
else:
print('请核实输入的信息!')
# 定义一个函数添加描述列表,content为描述的内容作为字典值列表的内容,desc_Dict为描述字典,首字母为键
def add_Desc(letter, desc_Dict, content):
if letter.lower() in desc_Dict.keys():
for key in desc_Dict.keys():
# 输入的内容不能为空
if letter.lower() == key and content != '':
desc_Dict[letter].append(content)
else:
print('请核实输入的信息!')
# 定义一个向函数描述的字典添加数据并生成csv文件的函数
def Oper_desc_Dict():
# 生成一个函数名称描述的字典
desc_Dict = cre_Dic()
# 定义一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv_Desc(desc_Dict)
break
else:
# 输入函数的描述内容
contents = input('\n请输入字典方法描述内容:').replace(',', ',')
# 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容
add_Desc(letter1, desc_Dict, contents)
# 定义一个向函数名字典添加数据并生成csv文件的函数
def Oper_Dict_name():
# 调用生成键为26个英文字母,值为空的字典生成字典名字典的函数, 比较绕口😊
Py_Dic = cre_Dic()
# 设定一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv_Name(Py_Dic)
break
else:
# 输入函数名称
words = input('\n请输入字典方法名称(不分大小写):').replace(',',',')
# 调用添加函数名的函数,参数为首字母,函数字典,函数名
add_Words(letter1,Py_Dic, words)
# 定义一个主函数,生成主界面
def main():
print('\n')
print('==== Python知识手册速查程序之文件生成模块 ==== ')
print('-' * 40)
print(' 1. 字典方法文件生成\n 2. 字典方法描述文件生成\n 3. 退 出')
print('-' * 40)
# 定义一个操作函数operation
def Operation():
# 调用界面主函数
main()
# 定义一个选择变量
choice = int(input('请输入选项:(1,2,3)'))
Done = True
# 循环操作
while Done:
if choice == 1:
Oper_Dict_name()
elif choice == 2:
Oper_desc_Dict()
question = input('Do you want to quit?(q)').lower()
if question == 'q' or question == 'quit':
break
else:
Done = True
if choice == 3:
break
if __name__ == "__main__":
Operation()
运行结果如下图:
- 字符串方法文件生成源码如下:
#_*_coding:utf-8_*_
# 作者 :liuxiaowei
# 创建时间 :3/18/22 5:07 PM
# 文件 :字符串方法及描述生成文件.py
# IDE :PyCharm
import csv
用于字符串的方法的'方法'和'描述'的生成文件
'''
# 自定义一个函数生成一个首字母是a-z的空字典
def cre_Dic(PyD = {
}):
letter_key = 'abcdefghijklmnopqrstuvwxyz'
for i in range(len(letter_key)):
PyD[letter_key[i]] = []
return PyD
# 利用字典生成字符串名称的csv文件的函数,参数为函数名字典
def create_Csv_String(Pydict):
# 生成指定文件名的csv文件
with open('字符串方法名称文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 利用字典生成函数的描述的csv文件的函数,参数为函数名字典
def create_Csv_desc(Pydict):
# 生成指定文件名的csv文件
with open('字符串方法描述文件.csv', mode = 'w', newline='') as f:
writer = csv.writer(f, delimiter = ',')
for key in Pydict.keys():
writer.writerow([key, Pydict[key]])
# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值
def add_Words(letter, words_Dict, words):
if letter.lower() in words_Dict.keys():
for key in words_Dict.keys():
if letter.lower() == key:
words_Dict[letter].append(words)
else:
print('请核实输入的信息!')
# 定义一个函数添加描述列表,content为描述的内容作为字典值列表的内容,desc_Dict为描述字典,首字母为键
def add_Desc(letter, desc_Dict, content):
if letter.lower() in desc_Dict.keys():
for key in desc_Dict.keys():
# 输入的内容不能为空
if letter.lower() == key and content != '':
desc_Dict[letter].append(content)
else:
print('请核实输入的信息!')
# 定义一个向字符串描述的字典添加数据并生成csv文件的函数
def Oper_String_desc_Dict():
# 生成一个函数名称描述的字典
desc_Dict = cre_Dic()
# 定义一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv_desc(desc_Dict)
break
else:
# 输入函数的描述内容
contents = input('\n请输入描述内容:').replace(',', ',')
# 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容
add_Desc(letter1, desc_Dict, contents)
# 定义一个向函数名字典添加数据并生成csv文件的函数
def Oper_String_name_Dict():
# 调用生成键为26个英文字母,值为空的字典生成字典名字典的函数, 比较绕口😊
Py_Dic = cre_Dic()
# 设定一个逻辑变量
Done = True
# 循环操作,连续输入数据
while Done:
# 输入的首字母用于查找相应的字典键值对
letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
# 如果输入quit,退出程序,生成csv文件
if letter1 == 'quit':
create_Csv_String(Py_Dic)
break
else:
# 输入函数名称,replace函数为了替换误输入的英文逗号,
words = input('\n请输入字符串方法名称(不分大小写):').replace(',',',')
# 调用添加函数名的函数,参数为首字母,函数字典,函数名
add_Words(letter1,Py_Dic, words)
# 定义一个主函数,生成主界面
def main():
print('\n')
print('==== Python知识手册速查程序之文件生成模块 ==== ')
print('-' * 40)
print(' 1. 字符串方法文件生成\n 2. 字符串方法描述文件生成\n 3. 退 出')
print('-' * 40)
# 定义一个操作函数operation
def Operation():
# 调用界面主函数
main()
# 定义一个选择变量
choice = int(input('请输入选项:(1,2,3)'))
Done = True
# 循环操作
while Done:
if choice == 1:
Oper_String_name_Dict()
elif choice == 2:
Oper_String_desc_Dict()
question = input('Do you want to quit?(q)').lower()
if question == 'q' or question == 'quit':
break
else:
Done = True
if choice == 3:
break
if __name__ == "__main__":
Operation()
运行结果如下图:
接下文 编写Python参考手册速查软件(二)https://developer.aliyun.com/article/1618068