python语言程序设计——【第一周】python基本语法元素

213 阅读9分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情

第一周课程导学

前课复习

本周概要

方法论

程序的基本编写方法:IPO

看懂10行左右简单的Python代码

1.1程序设计基本方法

单元开篇

程序设计基本方法

  1. 计算机与程序设计
  2. 编译和解释
  3. 程序的基本编写方法
  4. 计算机编程

计算机与程序设计

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

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

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

计算机的发展:

  1. 计算机的发展参照摩尔定理,表现为指数方式
  2. 计算机硬件所依赖的集成电路规模参照摩尔定律发展
  3. 计算机运行速度因此接近几何级数快速增长
  4. 计算机所能高效支撑的各类运算功能不断丰富发展

摩尔定律

  1. 是计算机发展历史上最重要的预测法则
  2. 单位面积集成电路上可容纳晶体管的数量约每两年翻一番
  3. CPU/GPU、内存、硬盘、电子产品价格等都遵循摩尔定律

image-20220709011934461

程序设计语言

  1. 是一种用于交互(交流)的人造语言
  2. 也叫做编程语言,是程序设计的具体实现方式
  3. 与自然语言相比,更简单,更严谨,更精确
  4. 编程语言是用于人类与计算机之间的交互

编译与解释

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

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

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

image-20220709012701228

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

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

image-20220709012758334

编译相当于一次性翻译。解释相当好与每次程序运行时随翻译随执行(类似实时的同声传译)

静态语言和脚本语言

静态语言

  1. 使用编译执行的编程语言。例如:C语言、C++、java语言

脚本语言

  1. 使用解释执行的编程语言。比如Python语言、JavaScript语言、PHP语言

两者之间的区别除了执行方式不同之外其他差不多

执行方式不同,优势各有不同

静态语言 编译器一次性生成目标代码,优化更充分(程序运行速度更快)

脚本语言 执行程序时需要源代码,维护更灵活(源代码在维护灵活、跨越多个操作系统平台运行)

程序的基本编写方法

IPO:程序的基本编写方法

I:Input输入,程序的输入

P:Process处理,程序的主要逻辑

O:Output输出,程序的输出

输入:程序的输入

  1. 文件输入、网络输入、控制台输入、交互页面输入、内部参数输入等等
  2. 输入是程序的开始

输出:程序的输出

  1. 控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等等
  2. 输出是程序展示运算结果的方式

处理

  1. 处理是程序对输入数据进行计算产生输出结果的过程
  2. 处理方法统称算法,它是程序最重要的部分
  3. 算法是一个程序的灵魂

问题的计算部分

  1. 一个待解决问题中,可以用程序辅助完成的部分
  2. 计算机只能解决计算问题,即问题的计算部分被
  3. 一个问题可能有多咋角度理解,产生不同的计算部分
  4. 问题的计算部分都有输入、处理和输出过程

计算机编程

单元小结

1.2Python开发环境配置

单元开篇

Windows系统开发环境

Python语言概述

  1. Python语言是一个由编程牛人领导设计并开发的编程语言
  2. Python语言是一个有开放、开源精神的编程语言
  3. Python语言应用于火星探测、搜索引擎、引力波分析等众多领域

Python语言Windows系统开发环境

Python程序编写与运行

交互式和文件式

  1. 交互式:对每个输入语句即时运行结果,适合语法练习
  2. 文件式:批量执行一组语句并运行结果,编程的主要方式
计算圆的面积(文件式)
r = 25
area = 3.1415* r * r
print(area)  "输出1963.4375000000002"
print("{:.2f}".format(area))  "输出1963.44"
​
保存为CalCircle.py文件并运行
同切圆绘制
绘制多个同切圆(交互式)
import turtle
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)

image-20220709112131692

保存为TangentCirclesDraw.py文件并运行

五角星的绘制
交互式:
from turtle import *
color('red','red')
begin_fill()
for i in range(5):
    fd(200)
    rt(144)
    
end_fill()

image-20220709112705815

保存为StarDraw.py文件并运行

单元小结

1.3实例:温度转换

"温度转换"问题分析

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

    1. 以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
  2. 华氏度:美国英国等国家使用

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

需求:两种温度体系的转换

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

这里采用理解1

F表示华氏度,C表示摄氏度

转换公式如下
C = (F - 32 ) / 1.8
F = C * 1.8 + 32

代码编写

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

image-20220709121049798

image-20220709121248278

"温度转换"实例编写

在上面

"温度转换"举一反三

1.4Python程序语法元素分析

单元开篇

程序的格式框架

代码高亮:。。。。省略

缩进:表达程序的格式框架

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

注释:

  1. 单行注释:以#开头,其后的内容为注释
  2. 多行注释:以" "开头和结尾的

命名与保留字

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

关联标识符

  1. 命名规则:大小写字母、数字、下划线和汉字等字符及组合
  2. 注意事项:大小写敏感、首字母不能是数字、不与保留字相同
  3. 保留字:Python的保留字有if,elif,else,in等等。是Python的基本单词
  4. image-20220709131419053
  5. 红色的单词是这门课不会涉及到的部分

数据类型

  1. 温度转换代码中包括了:字符串、整数、浮点数、列表

供计算机程序理解的数据形式

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

    1. 需要给....关联一种计算机可以理解的形式
  2. 程序设计语言通过一定方式向计算机表达数据的形式

  3. 字符串:由0或者多个字符组成的有序字符序列

  4. 字符串的序号:

    1. 正向递增序号(从0开始)
    2. 反向递减序号(就是反着看,从-1往后)
  5. 使用[]获取字符串中的一个或多个字符

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

      1. 例如:"请输入带有符号的温度值:"[0] 得到"请"字或者TempStr[-1]——表示获取TempStr的倒数第一个字符
    2. 切片:返回字符串中一段字符子串 <字符串>[M:N]

      1. 例如:"请输入带有符号的温度值:"[1:3]——意思是取出其中的第一个字符,第二个字符,但不到第三个字符
      2. TempStr[0:-1]——表示从0开始但不到字符串的最后一个字符的字符字串。相当于一整句中把最后一个字去掉

列表类型

  1. 由0个或者多个数据组成的有序序列

    1. 列表使用[]表示,采用逗号(,)分隔各元素
    2. ['F','f']表示两个元素'F'和'f'
  2. 使用保留字in判断一个元素是否在列表中

    1. 例如:TempStr[-1] in ['C','c]判断前者是否与列表中某个元素相同——就是说TempStr的最后一个字符是不是大写或小写的c。结果返回布尔值

语句与函数

 C = (eval(TempStr[0:-1]) - 32 )/1.8"右侧运算结果赋给变量C"
    在python中使用保留字 if elif else构成条件判断的分支结构

函数

  1. 根据输入参数产生不同输出的功能过程

  2. 类似数学中的函数,y = f(x)

  3. 函数采用<函数名>(<参数>)方式使用

    1. eval(TempStr[0:-1]) #TempStr[0:-1]是参数
  4. 输入函数input()

    1. 从控制台获得用户输入的函数
    2. input()函数的使用格式:<变量> = input(<提示信息字符串>)
    3. 用户输入的信息以字符串类型保存在<变量>中
    4. TempStr = input("请输入") TempStr保存用户输入的信息,这个文字只是提示作用
  5. print()是以字符形式向控制台输出结果的函数

    1. 使用方法:print(<拟输出字符串或字符串变量>)
    2. 字符串类似的一对引号仅在程序内部使用,输出无引号
    3. print("输入格式错误") #向控制台输出 输入格式错误
  6. print()函数的格式化:

    1. print("转换后的温度是{:.2f}C".format(C))
    2. 在上面中{}表示槽,后续变量填充到槽中
    3. {:.2f}表示将变量C填充到这个位置时取小数点后2位
  7. eval():去掉参数最外侧引号并执行余下语句的函数

    1. 基本使用格式:eval(<字符串或字符串变量>)