python入门教程(零)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python入门教程(零)相关的知识,希望对你有一定的参考价值。
(本文针对Windows)
Python是什么?是一种编程语言。编程语言是什么?就是和机器说话的方式。编译器和解释器好比翻译,把你的话翻成机器听得懂的。但是这些翻译不怎么智能(虽然也有高下),你必须说一套很机械的官腔,他们才帮你翻译——但总比直接和机器说话轻松多了。
(但是,你只能让机器做它能做的,是吧?你不能让CPU跳舞。)
交流是尴尬的。你不知道机器能干啥,机器却等着你告诉它要干啥——仿佛列车上的陌生人。于是你敲敲他的肩膀,问:你知道人工智能吗?(笑)——你问CPU:你能在屏幕上显示点儿字吗?CPU不会回答你,但我会告诉你:可以,你只要输入print("……"),在省略号处写上你想显示的东西,然后把这话交给一个叫python的翻译,翻译就会把这话翻译成机器才看得懂的鬼画符。然后你拿着鬼画符找机器,说:“照这上面做!”,机器就动起来了(虽然CPU还在机箱里,并没有动)。所幸显示屏的变化可以看得到,你才能知道CPU确实做了点事。
你知道python可以在网上下载,于是下载、默认安装。但是之后你又摸不着头脑了:“在哪才能找到python这个翻译?我怎么告诉他那句print("你知道人工智能吗")?”但也许你很聪明,从程序列表里找到了python,然后激动地输入了print("你知道人工智能吗"),一敲Enter回车,发现底下多了一行,正是你要它显示的东西。
你改了引号中的内容又试了几次,颇为得意。事实上,你可能发现这个机器并非毫无人性,比如
你甚至可以输一个很长的式子,也会出现结果。不过如果你希望用“^”来计算乘方时,机器显示出了诡异的东西。虽然我可以告诉你python中两个星号是乘方,但是请回过神来,编程其实不完全是和机器对话,更多情况下是一下子告诉他一堆,而不是一句一句说。比如你要让他算100以内的素数,怎么办?你可能想起我之前的话了——
……把这话交给一个叫python的翻译,翻译就会把这话翻译成机器才看得懂的鬼画符。然后你拿着鬼画符找机器,说:“照这上面做!”,机器就动起来了……
你刚才压根就没这么干!那你见到谁了?其实,刚才那个窗口叫【交互式解释器】,说白了就是对话框。但是我们常用的【解释器】呢,一般是不交互的。虽然对话也是解释器,但这毕竟是个附带功能,“正确”做法是这样的:
1. 打开一个记事本,往里写入代码(比如刚才的一句print("……")),保存时把后缀名改成.py,而不是.txt
- 交给python。事实上大部分语言会给你鬼画符,但python偏偏直接把鬼画符扔给机器了,你最终不知道鬼画符长什么样(但也是有的)。你交给python时,python直接翻译好扔给机器执行了,一条龙服务。交给python的方法是这样的:在代码文件所在目录下按住shift右键,点击“在此处打开命令窗口”(咦,对话框?),往里敲python xxx.py(并回车),然后python就会翻译好,并且机器开始执行。
这里要说明一下“命令窗口”,简称命令行(当然也可以不顾拗口叫它命令提示符),是你和电脑对话的地方。这是电脑的自带翻译,你刚才干的事全都可以干(你输入echo hello cmd试试?)。但是代码可以干复杂的事、一次干许多事(比如计算100内素数),这就是命令行和交互式解释器做不到的了。其实命令行也可以写代码,但是在哪运行呢?还得开命令行啊。所以不管了,运行就是命令行打python xxx.py。
不妨在记事本里粘贴以下代码,试试运行:(你可以按Ctrl+C做点什么)
def space(a):
pencil=""
for x in range(1,a+1):
pencil=pencil+" "
return pencil
def pen(a):
pen_a=space(a%20)+"*"+space(38-2*(a%20))+"*"+space(a%20)
return pen_a
x = 0
while True:
x += 1
print(pen(x-1))
(其实,这些都可以双击运行,但是双击运行绝对不是好习惯,想象当年没有鼠标和图形界面怎么办呢?另外,命令行代码——bat文件和cmd文件,你可能听说过,后缀不同但内容一致,都是有条件循环等等的。但是,之所以用python,是因为更上层的差异……)
(其实,python xxx.py可以省略为xxx.py,因为很多后缀名都会让机器知道你要做什么,比如看到.py就默认你要找python这位翻译官来处理。但是仅仅是省略而已,notepad xxx.py 就是让记事本来处理,试试?)
以上是关于python入门教程(零)的主要内容,如果未能解决你的问题,请参考以下文章