基础知识
主要是结合菜鸟教程对一些重要或者模糊的知识点进行记录,另外敲写一遍基础代码
4函数 参数有必须参数 关键字参数 默认参数 不定长参数
差别 必需参数按顺序赋值引用,
关键字参数可由关键字来确定参数正确赋值,不需要按顺序,
默认参数定义函数时定义,调用时可不传递参数
不定长参数 参数名前加* 或者加 两个*
注意与* 参数区分
区分:
单独出现星号 * 后的参数必须用关键字传入
def f(a,b,*,c)
使用
f(1,2,c=3)
5写默认参数函数时发生报错 、
non-default argument follows default argument
原因是定义时如下,将含默认值的放在了前面,定义不清,如printsec(3,4),是不知道34应该如何赋值的,会认为是math age date 3 4 99 或者3 4 空
def printsec(math= 99,age,date):
6导入包的时候有几种方法,其中from Package import specific_submodule这种方法永远不会有错因为使用 from package import *的时候如果在__init__.py 存在一个__all__ 的列表变量不更新的话就不会导入
注意常使用的包结构如下:
其中sound放在python路径文件夹中,或者添加修改path来使用
sound/ 顶层包
init.py 初始化 sound 包
formats/ 文件格式转换子包
init.py
wavread.py
wavwrite.py
aiffread.py
aiffwrite.py
auread.py
auwrite.py
…
effects/ 声音效果子包
init.py
echo.py
surround.py
reverse.py
…
filters/ filters 子包
init.py
equalizer.py
vocoder.py
karaoke.py
…
7除直接放入本地python路径库文件夹中,还可以使用打包来远程存放再使用pip进行下载实现打包。
具体配置文件方法
https://blog.csdn.net/hpulfc/article/details/80018854
8实现开发时代码共享最好使用git仓库来进行版本控制
9.format 的输出方式和%的输出方式,前者比较新,功能也全,可以控制长度,对齐方式,显示格式,参数位置可以打乱。
这部分注意小数点也算一位
使用字典传递时的两种方式:
table = {‘Google’: 1, ‘Runoob’: 2, ‘Taobao’: 3}
print(‘Runoob: {0[Runoob]:d}; Google: {0[Google]:d}; Taobao: {0[Taobao]:d}’.format(table))
Runoob: 2; Google: 1; Taobao: 3
table = {‘Google’: 1, ‘Runoob’: 2, ‘Taobao’: 3}
print(‘Runoob: {Runoob:d}; Google: {Google:d}; Taobao: {Taobao:d}’.format(**table))
Runoob: 2; Google: 1; Taobao: 3
10file的读写,注意要open后close,还有路径问题,这一点和前端的差不多,路径的斜杠与直接复制的不一样需要更改,使用/才对。关于绝对路径和相对路径的问题菜鸟没有具体说明,主要是相对路径应该追溯到哪一级。
f1 = open(‘file1.txt’, ‘w’, encoding=‘utf-8’)
f1.write(‘当前目录?\n’)
f1.write(‘true’)
f1.close()
f2 = open(’/file2.txt’, ‘w’, encoding=‘utf-8’)
f2.write(‘在哪儿?\n’)
f2.write(‘在根目录,windows系统下就是在此文件的盘的根目录下,如E:\file2.txt,C:\Users\Administrator\Desktop\PythonEndStudy\fileLearn.txt,本例就是在c盘’)
f2.close()
f3 = open(’./file3.txt’, ‘w’, encoding=‘utf-8’)
f3.write(‘当前目录?\n’)
f3.write(‘yes’)
f3.close()
f4 = open(’…/file4.txt’, ‘w’, encoding=‘utf-8’)
f4.write(‘在哪儿?\n’)
f4.write(‘该.py文件所在位置的上级目录,也就是该文件夹的平行级别’)
f4.close()
11file读取时需要注意文件的编码方式
今天编程遇到报错
Traceback (most recent call last):
File “C:/Users/Administrator/Desktop/PythonEndStudy/moreQuick.py”, line 367, in
str = f.readline()
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 8: illegal multibyte sequence
经查是之前10 中写入了中文字符,需要在open中写入encoding='utf-8’属性。或者rb以二进制方式读取文件,都可以。
file = open(path, encoding='gbk’和 encoding='gb18030’范围更广,如果错误写入就将文件覆盖,重新写入。