几个Python问题
A Few Python questions
我正试图从javascript的背景学习Python。我看到有人写了一个递归函数来找到最小公分母,我想知道为什么他们不直接使用循环,所以,为了体验和自娱自乐,我写了一个更简单的:
我想出了:
def LCM(n,d):
while(n%d++ != 0 ):
continue
return d-1
print(LCM(99,12))
不用说,对于了解Python的人来说,++不是一个有效的操作符。我也试过
def LCM(n,d):
while(n%(d+=1) != 0 ):
continue
return d-1
print(LCM(99,12))
为了确保这不是我的想法,我在javascript中尝试了同样的事情:
function LCM(b,d){
while(b%d++ != 0){
}
return d-1;
}
所以Python不允许表达式像在javascript?还有,缩进是定义某物的唯一方法吗?我知道分号不是必需的,但可以使用,在结束循环或函数定义方面有类似的东西吗?
最后,is
和is not
是Python无类型转换相等操作符吗?
注:我意识到如果不检查输入的各种东西,这个函数是不实用的,但这不是写它的重点。
最大功率另外,是否有一个Python等效的javascript evaluation ? on true : on false
if语句缩写?
Python不允许在表达式中赋值(如i+=1
),因为这些赋值会导致混乱的代码,而Python的设计是使编写混乱的代码变得困难,并使编写明显的代码变得简单。
你可以简单地这样写:
def LCM(n,d):
while n%d != 0:
d += 1
return d-1
print(LCM(99,12))
Python的is
测试两个对象是否相同对象,而不是仅仅相等。考虑以下内容:
d = {}
e = d
assert d == {} # Empty dictionaries equal each other
assert d is not {} # .. but are not identical
assert d is e # d and e refer to the same object
在JavaScript中没有等价的is
操作符,在Python中也没有等价的==
操作符。Python的==
对内置类型进行类型检查。
a ? b : c
)在Python中写成:
b if a else c
在Python中不需要分号,一切都是通过缩进完成的。此外,混淆制表符和空格也会导致问题。坚持其中之一。:)
相关文章:
- 在指令控制器中使用$attrs时出现问题
- Python左移(符号问题)
- Python本地服务器问题:通过ajax发布时,rfile被截断
- Python-Django 和 PyQt4 的问题
- 使用Selenium和python抓取javascript生成的内容时出现问题
- Python 3.5中的添加问题
- 将Selenium引用到javascript按钮时遇到问题.[python]
- 有问题获得一个python cgi脚本打开文件从AJAX传递给它
- 试图POST json数据到python flask服务器的问题
- Web2py: json序列化器和javascript有关于python字符串引号的问题
- AES CTR模式与Python和Javascript的奇怪问题
- 几个Python问题
- XBMC (Python)的简单登录功能问题
- 机械化- Python问题
- Python模块内部的Javascript问题
- 在python中使用json.loads()时出现问题
- Shodan JSON从python到javascript的问题
- Javascript/Python - 单击按钮时遇到问题
- 使用Python中的beautiful soup从网站上的javascript结构中提取数据的问题
- Python 套接字的问题:无论浏览器如何获取可靠的 POST 数据