Python 基础
Creating a main script
#!/usr/bin/python
defmain():
print("Hello Python")
if__name__=="__main__":main()
代码中的#!/usr/bin/python表示该段代码使用的是哪个Python,如果你的电脑中有多个版本的Python的话,那么这个语句将非常有用。
代码中ifname=="main":main()这段代码的作用是告诉计算我们程序的入口是哪个
defmain():
print("Hello Python")
say()
defsay():
print("say hello")
if__name__=="__main__":main()
执行结果:
Hello Pythonsay hello
如果我们将最后ifname=="main":main()去掉,同时将main方法也注释掉,会发生什么呢?
#def main():
# print("Hello Python")
say()
defsay():
print("say hello")
#if __name__=="__main__":main()
执行结果
Traceback (most recent call last):File "syntax.1.py", line 4, insay()NameError: name 'say' is not defined
这里提示说没有找到say方法。奇怪啊!我明明有写say方法啊,可为什么还是报错呢?原因是Python是从上到下一次执行的,当调用say方法时,该方法还没有被执行到。如果换成下面的写法就不会有问题了
#def main():
# print("Hello Python")
defsay():
print("say hello")
say()
#if __name__=="__main__":main()
执行结果
say hello
whitespace in Python
defmain():
print("第一行")
print("第二行")
if__name__=="__main__":main()
运行结果
第一行第二行
在Python语言中我们通常使用4个空格来管理代码的缩进和层级关系。如上面的代买所示print("第一行")和print("第二行")都属于main方法。
如果缩进的空格数不一致将会导致程序出现问题:
defmain():
print("第一行")
print("第二行")
if__name__=="__main__":main()
运行结果
IndentationError: unindent does not match any outer indentation level
程序报错。原因是我们的print("第二行")这行代码只缩进了3个空格,而print("第一行")缩进了4个空格。在Python并没有规定一定要使用4个空格,2个或者其他都可以。但是通常是4个。而且要保证同一级别的代码缩进的空格数要相同。
再看一下代码
defmain():
print("第一行")
print("第二行")
if__name__=="__main__":main()
运行结果
第二行第一行
我们发现第二行出现在了第一行的前面,其原因是我们没有对print("第二行")进行缩进,那么它和main方法则属于同一级别。
在我们调用main方法之前,它就开始执行了。
commenting code
在Python中我们使用#来做注释,写在和#同一行的内容将不会被执行,而是作为“程序的备注”来告诉自己或者别人,这段代码是做什么用的。
当然,程序中的注释并不是越多越好,不要为了注释而写注释。所以在给变量,方法,类等内容起名时尽量要有意义。
领取专属 10元无门槛券
私享最新 技术干货