概述
坑一:进行计算时先要定义变量,否则计算会报错
对于只学过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语法里的坑收集所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复