Python新手入门百问百答
Python新手入门百问百答
-
- Q1:Python如何查看已经安装的库或模块、安装包?
- iPython清屏命令,如何清空命令窗?
- Python字符串前加r和不加r的区别?
- 如何让Python画图的时候不显示图窗,同时保存图片?
- Python问题:绘制动态图,反复画图,图会不断缩小解决
- 如何让Python固定在一行不断输出?即Python同行输出
- Linux上如何运行Python脚本?
- Python用f.readlines()读出来的行向量,一行文本只有换行符时,长度为多少?
- Python最常用的字符串分割,split()函数默认分割时,空白符指哪些?
- Python对字符串如何实现按单词来切分?
- Q11:Python问题:文本写入后,打开却没内容
- Python里`" "`和`‘ ’`区别
- 持续更新中
本文总结记录新手入门时,使用Python遇到的常见问题。
Q1:Python如何查看已经安装的库或模块、安装包?
- IPython下:
help() -> modules 或 help(‘modules’)
- cmd/power shell下:
pip list
- 安装新的模块/库:
pip install xxxx
iPython清屏命令,如何清空命令窗?
- for Unix-like systems :
!clear
- for Windows :
!CLS
转载于: https://www.cnblogs.com/yaos/p/7121892.html
Python字符串前加r和不加r的区别?
-
以换行符
\n
为例: -
若不加r,则会将\n当成转义字符,把\n当成一个整体,表示换行
-
若加r,表示强制按默认字符写入,不转义,也即不会有换行的效果,末尾输入的是\和n
-
实际代码如下:
str1 = r'Hello World\n' str2 = 'Hello World\n' print(str1) print(str2)
-
输出结果如下:
Hello World\n Hello World
如何让Python画图的时候不显示图窗,同时保存图片?
-
解决:在import包后加上use语句
import matplotlib matplotlib.use('Agg')
-
注意:一定要再import后面加上这句,其他地方添加无效。
-
参考1:https://www.jianshu.com/p/fa01b8776e77
-
参考2:https://blog.csdn.net/rumswell/article/details/7342479
Python问题:绘制动态图,反复画图,图会不断缩小解决
问题代码如上下:
def plot_curve(frl_res, idx_in, res_log, gif_list):
# plot curves
# plt.figure(i)
# plt.clf()
plt.cla() # 清除上一幅图,如果不清,则图像不断叠加.
plt.xlim(0, frl_res)
plt.ylim(-150, 1)
plt.title('Mdct Distribu')
plt.xlabel('Index')
plt.ylabel('Mdct Val/(dB)')
plt.grid(linestyle='-.')
plt.plot(idx_in, res_log[:], 'b', lw=1)
plt.pause(0.1)
# create gif
plt.savefig('temp.png')
gif_list.append(imageio.imread('temp.png'))
# plt.close()
- **解决:**直接使用
plt.figure(i)
处理,每张图画完保存temp.png
,然后关闭。
如何让Python固定在一行不断输出?即Python同行输出
详细描述:Python如何实现不换行打印及同行不同print打印连接,核心:同行打印?
- 类似C语言,末尾添加
\r
,而非\n
- 示例:
print('%d'%(number), end='\r')
number = 10
print('%d'%(number), end='\r')
number += 1
print('%d'%(number), end='\r')
number += 1
print('%d'%(number), end='\r')
- 效果:同行瞬间显示10/11,最后显示12
具体分析知,主要有以下两种场景:
- 场景1:类似C语言的
printf("hello, world\r")
,在一行内不断刷新输出 - 场景2:希望将两次print打印的内容,在同行显示
场景1问题解决:
-
不换行刷新,同样利用
\r
控制输出首位不变 -
示例:
data = range(100)
for i in data:
print('\r data={}'.format(i), end='')
- 说明:
\r
保证每次从行首开始输出end = ''
,使输出字符串结尾符无追加换行符- 注意,如不声明,默认为:
end='\n'
- 效果:
场景2问题解决:- 将end结尾设为空,即end = ''
print ('abc ',end='')
print ('def ',end='')
print ('ghi ',end='')
- 效果:
abc def ghi
相关资料:
Linux上如何运行Python脚本?
-
首先确定是否安装了python,指令:
python --version
,查看Python版本 -
如已安装,假设srcipt是你的脚本名字
-
则在命令行输入:
python script.py
,即可调用
Python用f.readlines()读出来的行向量,一行文本只有换行符时,长度为多少?
- 哪怕是只有个换行,没其他数据,但是换行符占一个数据,
len(line)
为1
Python最常用的字符串分割,split()函数默认分割时,空白符指哪些?
str.split()
,默认分割空白符,包括空格、换行符\n
等
Python对字符串如何实现按单词来切分?
描述:比如检测到 str = "this wav is not ok"
,用wav来切分字符串?
- 对字符串对象用
split()
即可,如str.split("wav")
,即可进行切片 - python的split默认是按空白符进行分割
- 若split内输入的是字符串,如
'abc'
这类,则按如abc整体为分隔符进行分割 - 若split内输入的是单个字符,则按字符进行分割
Q11:Python问题:文本写入后,打开却没内容
详细内容如下图:
- 问题定位:
- 单步跟进,确认str是写入了文本的,发现是因为调用
single_file_test
函数后,未手动关闭输出的文件流 - 导致在Python运行完后,其实那个文件流还是被打开的状态
- 从notepad进入后,读取的仍是创建文本时的文档,里面没有任何内容
- 单步跟进,确认str是写入了文本的,发现是因为调用
- 解决方法:
- 在
single_file_test
函数后,添加语句:out_f_local.close()
,保证让文件写入成功后正常关闭
- 在
Python里" "
和‘ ’
区别
- 如果要表示字符串,就没区别,如"字符串"和’字符串’,'Hello’和"Hello"对Python是一样的。
- 主要
区别在符号嵌套
,但是用" "
时,里面可以用'
,不能用""
,比如"Let's go"
;相反,若用' '
,不能直接用'
在字符串中嵌套。
持续更新中
最近更新于:2022年1月4日