learn with python-第一章:编程方法

本书旨在教会你如何像计算机科学家一样思考,通过学习Python编程语言,了解编程的本质和解决问题的方法。从理解编程语言的高级性和低级性,到深入探讨程序的概念、调试技巧以及形式化语言与自然语言的区别,本书将带你从基础知识到实际应用,掌握编程作为解决问题的强大工具。通过实例演示如何使用Python编写简单的程序,并了解调试的重要性,最终帮助你将编程技能运用到实际工作中。
  1. 编程方式
  • python编程语言
  • 什么是编程
  • 什么是调试
  • 形式语言和自然语言
  • 第一个程序
  • 术语

第一章:编程方式
本书的目标是教会你如何像一个计算机科学家一样思考,这种思考方法结合了数学,工程学以及自然科学,像数学家一样,计算机科学家使用形式语言表示想法(特别是计算机指令),通工程学家一样,计算机科学家设计系统,装备组件,评估可行性。同自然学家一样,他们观察复杂系统的行为,形成假设然后进行测试。
对于计算机科学家来说,最主要的就是解决问题,解决问题以为着归类问题,相处创造性的解决方法,准确清楚的描述这种解决方案。因此学习编程的过程是学习解决问题的一个很好的机会。
从一个层级来说,你会学会一门有用的技能,如何编程,另一个方面,你会将编程作为达到目的的一种手段,随着学习的进行,这种目的会变得越来越明显。

1.1python编程语言
下面要学习的是python语言,python是一门高级语言,你可能听过其他的高级语言:c,c++, perl以及java
从高级语言这个词中,你可能会猜想出来还有低级语言,也称之为机器语言或者汇编语言,粗略的将计算机只能执行低级语言,用高级语言编写的程序在运行之前必须经过处理,这需要花费一些时间,这也是高级语言的缺点。
但是其优势是巨大的,使用高级语言编写程序更加方便,编写的程序更加短小易读,而且高级语言编写的程序容易移植,做很少的改变就可以在其他的机器上面运行,机器语言编写的程序如果要在其他的电脑上面运行需要重新编写,正因为这些优势,几乎所有的程序都是用高级语言写成的,低级语言只用来写少数一些特殊的软件。
通过解释器和编译器将高级语言编译成为低级语言:
解释器读取高级语言程序并执行,每次执行一行


编译器读取整个程序转化成为可执行的字节码,一旦程序编译了,你可以重复运行。

pyhton是一门解释语言,有两种方式使用解释器,命令行模式以及脚本模式,在编译模式中,我们输入pythond代码解释器输入结果。
$ python
Python 1.5.2 (#1, Feb 1 2000, 16:32:16)
Copyright 1991-1995 Stichting Mathematish Centrum, Amsterdam
>>> print 1 + 1
2
第一行程序启动python解释器,接下来两行是解释器打印出来的信息,第三行以>>>开始表示解释器已经准备好接受输入了,然后我们键入print 1+1,解释器输出2。
另一种方式,我们可以将程序写在一个文件中,然后用解释器执行文件中的内容,例如:我们用文本编辑器在latoya.py文件中输入
print 1 + 1
为了方便,包含python的程序文件以.py结尾。我们可以键入文件的名字
$python  latoya.py
2
在其他的开发环境,执行程序的步骤可能有点不同,但是所有的程序都比这个程序有意思。
本书中几乎所有的程序都可以在命令行执行,在命令行执行程序有助于开发和测试,因为你可以立即看到结果,但是一旦你有一个ok的程序,那么应该放在一个文本中有助于以后的执行和修改。

1.2什么是程序?
程序就是一串的指令来完成某个计算任务,这些计算可能是关于数学的,例如计算方程组或者找到多项式的根,也可能是符号运算,例如:寻找或者替换字符串或编译程序。
不同的编程语言形式不一样,但是所有的语言都有一些共通的原则:
输入:从键盘,文件或者其他设备获取数据
输出:将数据输出到屏幕或者文件中
数学运算:执行基础的加减乘除基础运算
条件检查:检查条件执行特定的语句
重复:根据一些条件重复执行某些语句。
不管信还是不信,所有需要的东西都在这里了,不论你曾今使用过多么复制的软件,他们都是由这些语句构成,因此我们可以把大的,复杂的程序分解为小的子模块,分解到足够小从而能用基础的指令去执行。
这里讲解得可能有点模糊,但是之后讨论算法的时候会重新回到这个话题上来。

1.3什么是调试?
编程时一个复杂的过程,人们在编程的时候经常会犯错误,由于一些古怪的原因,这些错误被称之为bug,而寻找并改正这些错误称之为调试。
程序中会出现三种类型错误:语法错误,运行错误以及语义错误,区分这些错误类别对于定位错误非常有用。    

1.3.1语法错误
   只有语法正确的python程序才能执行,否则,程序运行失败返回错误的信息 ,语法值得一个程序的结构,以及结构的规则,例如:在英语中,一个句子必须以大写字母打开,以句号结尾。 对于读者来说,一些语法错误并不太明显,但是python没有那么好糊弄,不论你程序中哪里有一个语法错误,python都会打印出错误信息并打印出。

1.3.2运行时错误
第二种错误时运行时错误,这种错误在运行程序的时候才会出现,这些错误也称之为异常,他们意味着有某些坏的事情发生。

1.3.3语义错误
第三种错误时语义错误,语义错误不会影响程序的运行,但是得不到正确的结果。


1.3.4实验调试
你需要学习的最重要的技能就是调试,虽然这可能让你沮丧,调试时编程中最有趣,最有挑战的一部分。
某种角度来说,调试就好像侦探工作一样,你面前有一些线索,你需要跟着这些线索找到最终的结果。
调试同实验科学一样,一旦你认为某些地方可能出错,你会改变你的程序并测试他,如果你的猜想是正确的,那么你就会得到正确的结果,如果你的猜想不正确,那么你需要重新思考一种新的可能
,正如夏洛克福尔摩斯说的:如果你排出了不可能,不论剩下的是什么,不论这是多么的不可能,它都是事实。
对于某些人来说,编程和调试是同一件事,编程是一个逐步调试知道得到正确结果的过程。

1.4形式化语言以及自然语言
自然语言就是人们所说的语言,如英语,西班牙语以及法语,他们不是人类设计而是逐步发展过来的。
形式化语言指的是人类为某些特定目的设计的语言,例如:数学符号的就是设计为表达数字以及符号之间关系的形式语言,化学式一种设计为表达原子结构的语言。编程语言是设计为表达计算的形式语言。
形式语言有严格的语法规则,语法规则包括两方面,一方面与符号结构有关,符号是语言的基本要素。另一方面与表达式结构有关,这部分设计符号的组合。
不论当你阅读一句英文句子或者形式语言的时候,你会理解其中的含义,这个过程称之为解析。
虽然自然语言和形式语言有很多共同点,符号,结构,语法,语义,他们也有很多不同点。
歧义:自然语具有模糊性,人们使用语境以及上下文来进行判断,形式化语言被设计为几乎没有歧义,意味着每条语句都有明确的意思,不论上下文环境。
冗余:自然语言为了消除歧义有很多冗余,因此他们非常冗长,而形式化语言更加精确。

1.5第一个程序
第一个程序是一个被指为hello world的伟大程序,他所做的事情就是答应hello world,在python中实现如下:
print “hello world”
这个例子是一个打印语句,但不是打印在纸上而是屏幕上。
引号在语句中表示值得开始和结尾并不打印到屏幕上,有些人根据helloworld程序的简洁性判断一门语言的好坏,从这一点来python还是不错的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值