第一章 Python基本语法元素

1.程序设计基本方法

1.1计算机与程序设计

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

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

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

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

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

摩尔定律Moore's Law:计算机发展历史上最重要的预测法则。

  • 戈登·摩尔在1965年提出。
  • 单位面积集成电路上可容纳晶体管的数量约每两年翻一番。
  • CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律。

程序设计:是计算机可编程性的体现。

  • 程序设计(编程)是深度应用计算机的主要手段。

程序设计语言:程序设计语言是一种用于交互(交流)的人造语言。

  • 程序设计语言(编程语言)是程序设计的具体实现方式。
  • 编程语言相比自然语言更简单、更严谨、更精确。
  • 编程语言主要用于人类和计算机之间的交互。

程序设计语言

C语言(1972年)第一个被广泛使用

Python(1990年)目前最流行、最好用【仁者见仁智者见智】

1.2编译和解释

编程语言的执行方式

源代码:采用某种编程语言编写的计算机程序,人类可读。(eg:result=2+3)

目标代码:计算机可直接执行,人类不可读。(eg:11010110001)

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

执行编译过程的程序叫编译器。

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

执行解释过程的程序叫解释器。

 

编程语言分类(根据执行方式不同):

静态语言:使用编译执行的编程语言。(C/C++、Java)

编译器一次性生成目标代码,优化更充分。程序运行更快。

脚本语言:使用解释执行的编程语言。(Python、JavaScript、PHP)

执行程序时需要源代码,维护更灵活。跨多个操作系统平台。

1.3程序的基本编写方法

IPO:程序的基本编写方式

  • Input:输入,程序的输入
  • Process:处理,程序的主要逻辑
  • Output:输出,程序的输出

程序的输入:输入是一个程序的开始。

文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等。

程序的输出:输出是程序展示运算结果的方式。

控制台输出、图形输出、文件输出.网络输出、操作系统内部变量输出等。

处理

处理是程序对输入数据进行计算产生输出结果的过程。

处理方法统称为算法,它是程序最重要的部分。

算法是一个程序的灵魂。

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

计算机只能解决计算问题,即问题的计算部分。

一个问题可能有多种角度理解,产生不同的计算部分-问题的计算部分一般都有输入、处理和输出过程。

编程解决问题的步骤(6步):

  1. 分析问题:分析问题的计算部分,想清楚
  2. 划分边界:划分问题的功能边界,规划IPO
  3. 设计算法:设计问题的求解算法,关注算法
  4. 编写程序:编写问题的计算程序,编程序
  5. 调试测试︰调试程序使正确运行,运行调试
  6. 升级维护︰适应问题的升级维护,更新完善

求解计算问题的精简步骤

  1. 确定IPO:明确计算部分及功能边界
  2. 编写程序∶将计算求解的设计变成现实
  3. 调试程序∶确保程序按照正确逻辑能够正确运行

1.4计算机编程

为什么要学编程

(1)编程能够训练思维

  • 编程体现了一种抽象交互关系、自动化执行的思维模式
  • 计算思维︰区别逻辑思维和实证思维的第三种思维模式
  • 能够促进人类思考,增进观察力和深化对交互关系的理解

(2)编程能够增进认识

  • 编程不单纯是求解计算问题
  • 不仅要思考解决方法,还要思考用户体验、执行效率等
  • 能够帮助程序员加深用户行为以及社会和文化认识

(3)编程能够带来乐趣

  • 展示自身思想和能力
  • 提升心理满足
  • 将思考创新变为现实

(4)编程能够提高效率

  • 能够更好地利用计算机解决问题
  • 显著提高工作、生活和学习效率
  • 为理想的实现提供一种借助计算机的高效手段

(5)编程带来就业机会

  • 程序员是信息时代最重要的工作岗位之一
  • 对程序员岗位的缺口都在百万以上规模
  • 计算机已经渗透于各个行业,就业前景非常广阔

如何学习编程

  • 掌握编程语言的语法,熟悉基本概念和逻辑
  • 结合计算问题思考程序结构,会使用编程套路
  • 参照案例多练习多实践,学会举一反三
     

2.Python开发环境配置

2.1Python语言概述

Python“蟒蛇”的拥有者(PSF)非营利组织,致力于Python语言开放、开源、发展。

1989年诞生

2002年Python2.0

2008年Python3.0

Python语言是一个由编程牛人领导设计并开发的编程语言

Python语言是一个有开放、开源精神的编程语言

Python语言应用于火星探测、搜索引擎、引力波分析等众多领域
 

2.2Python语言Windows系统开发环境

 下载地址1(官网):

Welcome to Python.org

下载地址2:

Python123

下面在官网下载最新版安装包:

 

 

 

 

 Python比起C/C++简洁方便很多:

 C语言输出Hello World !

#include <stdio.h>
int main()
{
   printf("Hello, World!");
   return 0;
}

 C++输出Hello World !

#include <iostream>
using namespace std;
int main() 
{
    cout << "Hello, World!";
    return 0;
}

Python输出Hello World !

print("hello world")

2.3Python程序编写与运行

Python两种编程方式:交互式、文件式

  • 交互式对每个输入语句即时运行结果,适合语法练习
  • 文件式批量执行一组语句并运行结果,编程的主要方式

eg1:根据半径r计算圆面积:

交互式:分别输出结果

 文件式:合并在一个文件输出

r=25
area=3.1415*r*r
print(area)
print("{:.2f}".format(area)) #保留小数点后两位

eg2: 绘制多个同切圆:

 交互式:

 文件式:

import turtle
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)

 eg3:绘制一个五角星:

交互式:

文件式:

form turtle import*
color('red','red')
begin_fill()
for i in range(5):
    fd(200)
    rt(144)
end_fill() 

3.Python程序语法元素

3.1程序格式框架

Python程序语法元素分析

  • 程序的格式框架-命名与保留字
  • 数据类型
  • 语句与函数
  • Python程序的输入输出

代码高亮:编程的色彩辅助体系,不是语法要求

缩进:一行代码开始前的空白区域,表达程序的格式框架

  • 严格明确:缩进是语法的一部分,缩进不正确程序运行错误。
  • 所属关系:表达代码间包含和层次关系的唯一手段。
  • 长度一致:程序内一致即可,一般用4个空格或1个TAB。
     

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

单行注释:以#开头,其后内容为注释。

        # 这里是单行注释

多行注释:以'''开头和结尾。

        '''这是多行注释第一行

        这是多行注释第二行'''

3.2命名与保留字

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

变量采用标识符(名字)来表示,关联标识符的过程叫命名。

  • TempStr是变量名字

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

  • Tempstr="82F”        # 向变量TempStr赋值"82F"

关联标识符的过程

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

如:TempStr,Python_Great,这是门Python好课

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

Python和python是不同变量,123Python不合法

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

Python语言有33个保留字(也叫关键字)

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

  • if是保留字,If 是变量

 33个保留字(关键字)及其含义

andelifimportraiseglobal
aselseinreturnnonlocal
assertexceptistryTrue
breakfinallylambdawhileFalse
classfornotwithNone
continuefromoryield
defifpassdel

:26个黑色关键字是本门课需要用到的,7个红色字体没用到。

3.3 数据类型

数据类型形式:字符串、整数、浮点数、列表

数据类型:供计算机程序理解的数据形式。

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

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

  • "123"表示文本字符串123,123则表示数字123,[1,2,3]是列表类型

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

字符串由一对单引号或一对双引号表示。

字符串是字符的有序序列,可以对其中的字符进行索引。(字符编号从0开始)

字符串的序号

两种索引体系

正向递增序号、反向递减序号

 字符串的使用

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

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

  • "这是字符串"[0]        获取第0个字符
  • TempStr [-1]        获取变量字符串的倒数第一个字符

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

"这是字符串"[1:3]        获取第1-2个字符(不到第3个字符)

TempStr [0:-1]        从0开始,但不到字符串的最后一个字符

数据类型

数字类型:整数(正数和负数)、浮点数(实数,带有小数部分,也包含正数和负数)

列表类型:由0个或多个数据组成的有序序列。

  • 使用[ ]表示,用(,)分隔各元素
  • 使用保留字in判断一个元素是否在列表中TempStr[-1] in ['C','c']      判断前者是否与列表中某个元素相同,如果是,返回True,否则返回False

3.4语法与函数

赋值语句:由复制符号构成的一行代码。

赋值语句用来给变量赋予新的数据值。

赋值语句右侧的数据类型同时作用于变量。

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

  • 使用保留字if、elif、else构成条件判断的分支结构。

        if TempStr[-1] in ['C','c']:        #如果条件为True则执行冒号后语句。

  • 每个保留字所在行最后存在一个(:)是语法的一部分。(冒号及后续缩进表示后续语句与条件的所属关系)

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

print("输入格式错误")        #打印输出"输入格式错误"

3.5 Python程序的输入输出

输入:是此程序获得外部信息的过程。使用input( )函数,从控制台获取用户输入的信息。

input( )函数使用格式

<变量>input(<提示信息字符串>)

用户输入的信息以字符串类型保存在<变量>中

输出

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

print( ) 函数的使用格式

print(<输出的字符串或变量>)

print( ) 函数格式化

{ }表示槽,后续变量填充到槽中

{:.2f}表示将变量C填充到这个位置时取小数点后2位

评估函数

eval( ):去掉参数最外侧引号并执行余下语句的函数。

eval(<字符串或变量>)

>>> eval("1+2")
3
>>> eval('"1+2"')
1+2

4.温度转换(实例1)

4.1分析温度转换

温度刻画的两种不同体系:(转换的需求)

摄氏度中国等世界大多数国家使用

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

华氏度美国、英国等国家使用

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

问题分析:(解题思路)

(1)理解和确定问题中的计算部分

  • 理解1:直接将温度值进行转换
  • 理解2:将温度信息发布的声音或图像形式进行理解和转换
  • 理解3:监控温度信息发布渠道,实时获取并转换温度值

(2)划分边界:根据IPO来划分

  • 输入:带华氏或摄氏标志的温度值
  • 处理:根据温度标志选择适当的温度转换算法
  • 输出︰带摄氏或华氏标志的温度值

(3)输入输出格式设计

  • 标识放在温度后面,F表示华氏度,C表示摄氏度

(4)设计算法

根据华氏度和摄氏度定义,利用转换公式:

  • C=(F-32)/1.8
  • F=C*1.8+32

4.2编写温度转换实例

#TempConvert.py    (这是个注释语句,不执行)
TempStr = input("请输入带有符号的温度值:")    #用input()从控制台获取信息,赋值给变量TempStr
if TempStr[-1] in [ 'F', 'f']:    #if分支语句,判断后面的条件,用保留字in判断字符串最后一个字符是否在列表类型F或f之中,如果是,执行下面两个语句,否则跳过
    C = (eval(TempStr[0:-1]) - 32)/1.8    #将华氏温度转换为摄氏温度
    print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in [ 'C', 'c']:    #判断输入变量最后一个字符串是否为C或c,若是执行下面与语句,否则执行else下面语句
    F = 1.8*eval(TempStr[0:-1]) + 32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误")

举一反三:

(1)Python语法元素理解

  • 理解每行代码的语法元素,能够快速入门Python
  • 参考框架结构、逐行分析、逐词理解

(2)输入输出的改变

  • 温度数值与温度标识之间关系的设计可以改变
  • 标识改变放在温度数值之前:C82,F28
  • 标识字符改变为多个字符:82Ce、28F

(3)计算问题的扩展

  • 货币转换、长度转换、重量转换、面积转换……
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值