1.Python基本语法元素

1.1程序设计基本方法

1.计算机与程序设计

(1)计算机:

①概念:计算机是根据指令操作数据的设备。

②特点:功能性-计算机对数据的操作表现为数据计算、输入输出处理和结果存储等。

               可编程性-计算机根据一系列指令自动地、可预测地、准确地完成操作者的意图。

③发展:计算机的发展参照摩尔定律,表现为指数方式。

        计算机硬件所依赖的集成电路规模参照摩尔定律发展。因此,计算机运行速度也接近几何级数快速增长,计算机高效支撑的各类运算功能不断丰富发展。

        当今世界,计算机是唯一长达50年有效且按照指数发展的技术领域。计算机深刻改变人类社会,甚至可能改变人类本身。除此之外,可预见的未来30年,摩尔定律还将持续有效。

        摩尔定律Moore’s Law:计算机发展历史上最重要的预测法则。Intel公司创始人之一戈登·摩尔在1965年提出,其内容是单位面积集成电路上可容纳晶体管的数量约每两年翻一番。CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律。

集成电路晶体管数量实测(1971-2016年)

         CPU( Central Processing Unit):中央处理器,包括运算逻辑部件、寄存器部件和控制部件等。运算逻辑部件(Logic components),可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。寄存器部件(Register components),包括通用寄存器、专用寄存器和控制寄存器。通用寄存器是中央处理器的重要组成部分,可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。专用寄存器是为了执行一些特殊操作所需用的寄存器。控制寄存器(CR0~CR3)用于控制和确定处理器的操作模式以及当前执行任务的特性。控制部件(Control unit),主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。

        GPU(Graphic Processing Unit):图形处理器。GPU是相对于CPU的一个概念,由于在现代的计算机中图形的处理变得越来越重要,需要一个专门的图形的核心处理器。

 (2)程序设计

①程序设计:亦称编程,是一种深度应用计算机的主要手段。程序设计是计算机可编程性的体现。

②程序设计语言:亦称编程语言,是一种用于交互的人造语言。程序设计语言是程序设计的具体实现方式。编程语言相比自然语言更简单、更严谨、更精确。编程语言主要用于人类和计算机之间的交互。C语言是第一个被广泛使用的编程语言,Python语言是最流行最好用的编程语言。

2.编译和解释

        编译和解释是计算机执行源程序的两种方式。

(1)编译:将源代码一次性转换成目标代码的过程。

(2)解释:将源代码逐条转换成目标代码同时逐条运行的过程。

源代码:采用某种编程语言编写的计算机程序,人类可读。

目标代码:计算机可直接执行,人类不可读(专家除外)。

        例如:11010010 00111011

编译和解释的执行过程

编译器:是执行编译过程的程序。                                      解释器:是执行解释过程的程序。

 编译:一次翻译,之后不再需要源代码。                          解释:每次程序运行时随翻译随执行。

3.静态语言和脚本语言(根据执行方式不同,编译语言分为两类)

(1)静态语言:使用编译执行的编程语言。例如:C/C++,Java。编译器一次性生成目标代码,优化更充分,程序运行速度更快。

(2)脚本语言:使用解释执行的编程语言。例如:Python,JavaScript,PHP。执行程序时需要源代码,维护更灵活,可跨多个操作系统平台。

4.程序的基本编写方法:IPO

        I:input输入-程序的输入-文件、网络、控制台、交互界面、内部参数等

        P:process处理-程序的主要逻辑-处理方法统称为算法,是程序最重要的部分

        O:output输出-程序的输出-控制台、图形、文件、网络、操作系统内部变量等

5.程序-问题的计算部分

        一个待解决问题中,问题的计算部分是可以用程序辅助完成的部分。

6.编程解决问题的步骤

(1)分析问题:分析问题的计算部分-想清楚

(2)划分边界:划分问题的功能边界-规划IPO

(3)设计算法:设计问题的求解算法-关注算法

(4)编写程序:编写问题的计算程序-编程序

(5)调试测试:调试程序使正确运行-运行调试

(6)升级维护:适应问题的升级维护-更新完善

1.2Python开发环境配置

1.Python的两种编程方式:

(1)交互式:对每个输入语句即使运行结果。

(2)文件式:批量执行一组语句并运行结果,编程的主要方式。

#实例1:圆面积的计算
#文件名:CalCircle.py
r = 25
area = 3.1415 * r * r
print(area)
print("{:.2f}".format(area))
实例1的输出结果
#实例2:同切圆绘制
#文件名:TangentCirclesDraw.py
import turtle
turtle.pensize(2)  #设置画笔的宽度
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)
done()
实例2的输出结果

turtle.circle(radius,extent=None)
作用:根据半径radius绘制extent角度的弧形
参数:radius:弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半径在小海龟右侧。
           extent:绘制弧形的角度,当不设置参数或参数设置None时,绘制整个圆形。

实例3的输出结果

①import turtle 和 from turtle import * 的区别:

        import turtle 是导入turtle包,不能使用未声明的变量。因此,要对每项加上包的前缀。比如: turtle.Pen,turtle.Turtle。

        from turtle import * 是未导入turtle包,但实际上从这个命名空间导入了所有的成员,所有直接使用命名空间内已经定义好的项目名称即可。比如直接使用 Pen,Turtle。

②turtle.color(*args):此方法用于更改turtle(即画笔)的颜色,默认颜色是黑色。

   turtle.fillcolor(color):此方法用于设置图形的填充颜色。

   turtle.color(color1, color2):同时设置pencolor=color1, fillcolor=color2

③turtle.begin_fill():此方法用于在绘制要填充的形状之前调用,表示准备开始填充图形。

   turtle.end_fill():此方法用于在绘制要填充的形状之后调用,表示填充完成。

   填充颜色是在画笔的起点和终点之间填充,起点和终点并不一定要在一起,即不一定要画出封闭图形才能填充。

1.3实例1:温度转换

1.“温度转换”问题分析

(1)背景知识:温度刻画有两种体系。一是摄氏度,中国等世界大多数国家使用;二是华氏度,美国、英国等国家使用。

        摄氏度:以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画。

        华氏度:以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画。

(2)需求分析:两种温度体系的转换。

(3)问题分析:对问题中计算部分的理解和确定。

①理解一:直接将温度值进行转换。

②理解二:将温度信息发布的声音或图像形式进行理解和转换。

③理解三:监控温度信息发布渠道,实时获取并转换温度值。

       采用理解一,温度数值需要标明温度体系,即摄氏度或华氏度。转换后也需要给出温度体系。

(4)划分边界:

I:带华氏或摄氏标志的温度值

P:根据温度标志选择适当的温度转换算法

O:带华氏或摄氏标志的温度值

(5)输入输出格式设计:标识放在温度最后,F表示华氏度,C表示摄氏度。

(6)设计算法:根据华氏和摄氏温度定义,利用转换公式如下:

          C=(F-32)/1.8  

         F=C*1.8+32

其中,C表示摄氏温度,F表示华氏温度。

2.“温度转换”实例编写

#文件名:TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F']:
    C = (eval(TempStr[0:-1])-32)/1.8
    print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C']:
    F = 1.8*eval(TempStr[0:-1])+32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误")
运行效果

 3.举一反三

(1)输入输出的改变:

①标识放在温度数值之前

TempStr = input("请输入带有符号的温度值:")
if TempStr[0] in ['F']:
    C = (eval(TempStr[1:])-32)/1.8
    print("转换后的温度是C{:.2f}".format(C))
elif TempStr[0] in ['C']:
    F = 1.8*eval(TempStr[1:])+32
    print("转换后的温度是F{:.2f}".format(F))
else:
    print("输入格式错误")
运行结果

 ②标识字符改变为多个字符

TempStr = input("请输入带有符号的温度值:")
if TempStr[0:2] in ['Fa']:  #注意:切片包含开头,不包含结尾!!!
    C = (eval(TempStr[2:])-32)/1.8
    print("转换后的温度是Ce{:.2f}".format(C))
elif TempStr[0:2] in ['Ce']:
    F = 1.8*eval(TempStr[2:])+32
    print("转换后的温度是Fa{:.2f}".format(F))
else:
    print("输入格式错误")
运行结果

(2)计算问题的扩展:温度转换问题是各类转换问题的代表性问题。货币转换,长度转换,重量转换,面积转换……虽然问题不同,但程序代码相似。

1.4Python程序语法元素分析

1.程序的格式框架

(1)缩进:表达程序的格式框架。

①是语法的一部分,缩进不正确程序会运行错误。

②是表达代码间包含和层次关系的唯一手段。

③只要程序内一致即可,一般用4个空格或1个TAB。

④分为单层缩进和多层缩进。

(2)注释:用于提高代码可读性的辅助性文字,不被执行。

①分为单行注释和多行注释。

2.命名与保留字

(1)变量:程序中用于保存和表示数据的占位符号。

①命名:变量关联标识符(名字)的过程。

②可以使用等号向变量赋值或修改值,=被称为赋值符号。

(2)命名:

①命名规则:大小写字母、数字、下划线和中文等字符及组合。

②注意事项:大小写敏感、首字符不能是数字、不与保留字相同。

(3)保留字:被编程语言内部定义并保留使用的标识符。

①Python语言有35个保留字,也叫关键字。

②保留字是编程语言的基本单词,大小写敏感。

Python语言中的保留字

 3.数据类型

(1)数据类型是供计算机程序理解的数据形式。

①程序设计语言不允许存在语法歧义,需要定义数据的形式。

②程序设计语言通过一定方式向计算机表达数据的形式。

(2)字符串:由0或多个字符组成的有序字符序列。

①由一对单引号或一对双引号表示。

②是字符的有序序列,可以对其中的字符进行索引。索引从0开始。

③字符串的序号:

④字符串的使用:使用[]获取字符串中的一个或多个字符。

索引:返回字符串中单个字符——<字符串>[M]

切片:返回字符串中一段字符字串——<字符串>[M:N]

(3)数字类型:

①整数:数学中的整数。

②浮点数:数学中的实数,带有小数部分。

(4)列表类型:由0个或对个数据组成的有序序列。

①使用[]表示,采用逗号分隔各元素。

②使用保留字in判断一个元素是否在列表中

4.语句与函数

(1)赋值语句:由赋值符号构成的一行代码。

(2)分支语句:由判断条件决定程序运行方向的语句。

①冒号和后续缩进用来表示后续语句与条件的所属关系。

(3)函数:根据输入参数产生不同输出的功能过程

5.Python程序的输入输出

(1)input()函数:从控制台获得用户输入的函数。用户输入的信息以字符串类型保存在<变量>中。

(2)print()函数:以字符形式向控制台输出结果的函数。

print()函数的格式化
 

③eval()评估函数:去掉参数最外侧引号并执行余下语句的函数。用来执行一个字符串表达式,并返回表达式的值。 

6.“温度转换”代码分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值