我是靠谱客的博主 含糊小海豚,最近开发中收集的这篇文章主要介绍Python语法里的坑收集,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

坑一:进行计算时先要定义变量,否则计算会报错

对于只学过C的新手(比如我),会默认为设置一个变量后其默认值为零,但是python里并不是这样

sum+=1

新手可能会认为这样的输出结果是:1,but too naive,这样的结果如下:

"C:UsersDELLDesktoppython practicetestvenvScriptspython.exe" "C:/Users/DELL/Desktop/python practice/实验/实验.py"
Traceback (most recent call last):
File "C:/Users/DELL/Desktop/python practice/实验/实验.py", line 1, in <module>
sum+=1
TypeError: unsupported operand type(s) for +=: 'builtin_function_or_method' and 'int'

这种情况其实也有很多帖子说过,大概是因为在使用C的时候,我们要使用变量必须提前申明,比如 int a 这种形式,实际上这是使变量默认值为1 的关键步骤,python中变量申明不是向C那样非常明显,所以只学过C的新手与可能会掉进这个坑,当然理论学的好的人应该会好些。

正确操作

sum=0	#变量初始化,也是变量申明
sum+=1

坑二:range()函数参数认定为int型,无法输入浮点数

for i in range(0.5,3.0,0.1):
print(i)

输出结果:

"C:UsersDELLDesktoppython practicetestvenvScriptspython.exe" "C:/Users/DELL/Desktop/python practice/实验/实验.py"
Traceback (most recent call last):
File "C:/Users/DELL/Desktop/python practice/实验/实验.py", line 1, in <module>
for i in range(0.5,3.0,1):
TypeError: 'float' object cannot be interpreted as an integer

如果在数值上想实现小数输入,可以写为s=[i/2 for i in range(1,3)]
效果如下:

s=[i/2.0 for i in range(1,3)]
print(s)

运行结果:

[0.5, 1.0]

采用numpy模块,可轻松实现小数输入操作,步长值也可以为小数

import numpy
s=numpy.arange(0.1,0.3,0.1)
print(s)

运行结果:

[0.1 0.2]

不过这样得出的结果实际上是一个数组,而非列表,numpy模块的引入实际上就是引入了数组,利用数组来达成目的。

print(type(s))

运行结果:

<class 'numpy.ndarray'>

具体操作可以看这里https://stackoverflow.com/questions/477486/how-to-use-a-decimal-range-step-value

待更新···

最后

以上就是含糊小海豚为你收集整理的Python语法里的坑收集的全部内容,希望文章能够帮你解决Python语法里的坑收集所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部