Python的一些基本语法元素

python的两种编程方式

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

实例1

温度转换

温度刻画的两种不同体系

摄氏度/华氏度

将两个温度值相互转换

问题分析

该问题计算部分的理解与确定

-理解1 :直接将温度值进行转换

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

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

分析问题:采用理解1

直接将温度值进行转换,转换前后明确温度值的标志

划分边界

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

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

输出: 带摄氏或华氏的温度值

输入输出格式设计

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

即,23F标识摄氏23度,47C表示摄氏47度

以上为输入输出的描述与定义

设计算法

根据两者温度定义,利用转换公式

C = (F-32)/1.8

F = C * 1.8 +32

其中,F标识华氏度,C表示摄氏度

程序编写

#TempConcert.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("输入格式错误")

python程序语法元素分析

  • 程序的格式框架
  • 命名与保留字
  • 数据类型
  • 语句与函数
  • python程序的输入与输出
  • "温度转换代码"逐行分析

程序格式框架

  • 代码高亮(编成的色彩辅助体系,不是语法要求)
  • 缩进 (一行代码开始前的空白区域,表达程序的格式框架

在python中,缩进表达程序的格式框架

- 严格明确 缩进是语法的一部分,缩进不正确程序运行错误
- 所属关系 表达代码间包含和层次关系的唯一手段
  • 长度一致 程序内一致即可,一般用4个空格或一个TAB
  • 注释 :不被程序执行的辅助性说明信息,可提高代码可读性
  • 单行注释 以#开头,其后内容为注释
  • 多行注释 以 ` 开头和结尾

命名与保留字

命名:

  • 变量 :是用来保存和表示数据的占位符号

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

例如,温度转换实例中 TempStr 是变量名字

  • 可以使用符号等号=向变量赋值或修改值, =被称为赋值符号 例如:TempStr = "82F" #向变量TempStr赋值"82F"

=为赋值符号

关联标识符的过程
  • 命名规则 :大小写字母,数字,下划线,汉字等字符及组合
  • 注意事项:大小写敏感,首字符不能是数字,且不与保留字相同
保留字

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

Python语言中一共有33个保留字(关键字)

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

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'exc
ept', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
'try', 'while', 'with', 'yield']

在python命令行中,可通过

>>> import keyword
>>> kerword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

数据类型

整数

浮点数

列表

字符串

数据表达方式不同,为了使编程语言准确且无歧义,所以给计算机程序赋予数据的时候,需要告诉计算机程序如何去解释或表达该数据

概念:我们在将一段信息输入给计算机程序的时候,需要关联一种与这段信息相适应的一个形式定义。程序设计语言通过一定方式向计算机表达数据形式的这样的方式就叫数据类型

  • 整数类型 :123 表示整数123
  • 字符串类型:"123"/'123'表示字符串123
  • 列表类型: [1,2,3]表示1,2,3三个数字
字符串

由0个或多个字符组成的有序字符序列,字符串就是由一对单引号或双引号表示的有序字符序列

且,字符串是字符的有序数列可以对其中的字符进行索引

字符串中的编号是从0开始的

python提供了两种索引形式:正向递增序号和反向递减序号

正向递增序号从左至右,由0开始依次增加

反向递减 序号从右往左,由-1开始依次递减

可以使用一个[]来获取字符串中的一个或者多个字符,这表现为字符串的索引和切片操作

索引

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

例:

"请输入带有符号的温度值: "[0] #获取字符串"请输入带有符号的温度值: "的第0个字符
TempStr[-1] #表示获取TempStr该变量字符串的第-1(倒数第一个)个字符
切片

只返回字符串中的一串字符,或一个字符的子串 <字符串>[M:N]

"请输入带有符号的温度值:"[1:3] #指的是取出其中的第一个字符,第二个字符,但不到第三个字符,因此表达的是字符出的输入
TempStr[0:-1] #表示从0开始,不到-1的一串字符字串,相当于把最后一个字符去掉
数字类型

整数 :数学中的整数 如 32或-89 (包括正数负数)

浮点数 :表示数学中的实数,且带有小数部分 如1.8 或者-1,8 或者 -1.0 (同样包含正负数)

列表类型

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

列表使用[]表示,采用,逗号分隔各个元素

['F','f'] #列表元素,表示两个元素'F' 和'f'

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

TempStr[-1] in ['C','c'] #判断前者是否与列表中的某一个元素相同

语句与函数

赋值语句

由赋值符号构成的一行代码

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

C=(eval(TempStr[0:-1])-32)/1.8  # 右侧运算结果赋值给变量C
  -赋值语句右侧的数据类型同时作用于变量
TempStr=input("") # input()将返回一个字符串,TempStr也是字符串
分支语句

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

-使用保留字 if elif else构成条件判断的分支程序

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

冒号的含义:如果条件成立,则执行冒后后带有缩进的语句,如果条件不成立,冒号以及冒号后面的缩进语句将会被跳过

  • 分支语句每个保留字所在行的最后面存在一个冒号:.其是语法的一部分,冒号及后续缩进用来表示后续语句与条件的所属关系 一定不能将其省略!
函数

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

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

print("文本") # 打印输出"文本"

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

eval(TempStr[0"-1]) # TempStr[0:-1]是参数

python程序的输入与输出

输入

输入是程序获得外部信息的一个过程

大多数程序中都使用input函数从控制台获得用户输入的函数

输入函数 input()

格式:<变量> = input(<提示信息字符串>)

-用户输入的信息以字符串类型表示在<变量>中

TempStr = input("请输入") # TempStr保存用户输入的信息

input函数返回的信息,会以字符串的类型保存在变量TempStr中

输出

输出函数 print ()

以字符形式向控制台输出结果的函数

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

字符串类型的一对引号只在程序内部使用,输出无引号

print("输出格式错误") # 向控制台输出 输出格式错误

print()格式化

print("转换后的温度是{:.2f}C".format(C)) # {}表示槽,后续变量填充到槽中 ,{:.2f}表示将变量C填充到这个位置时取小数点后两位

评估函数 eval()

去掉参数最外侧引号并执行余下语句

  • eval()函数的基本使用格式
eval(<字符串或字符串变量>)

能将任何形式的字符串信息转换成 python语句

eval(TempStr[0:-1]) #如果TempStr[0:-1]的值是一个字符串"12.3",那么它外侧的引号会被去掉而称为数字类型12.3

温度转换代码分析

# TempConcert.py  (注释)
# 输入,input函数,用户输入的值将会保存在变量TempStr中
TempStr = input("请输入带有符号的温度值:") 
# 保留字if表达的是一个分支语句,它会判断后面的条件是否成立
# if后方判断TempStr的第-1个值是否在列表类型当中,如果在,就是说用户输入了一个华氏温度值
# 反之则表示用户输入了一个非华氏度温度值,跳过下列两行代码(不包括注释)直接进行下第三行代码
if TempStr[-1] in ['F', 'f']:
#  对输入的华氏温度值根据转换公式进行转换,
    C = (eval(TempStr[0:-1]) - 32)/1.8
# 输出,且此处为print()函数的格式化
    print("转换后的温度是{:.2f}C".format(C))
# 保留字elif表达的也是一个分支语句,如果用户输入的值满足后方条件,则执行下列所属缩进的代码,反之则跳过并执行下一个分支语句    
elif TempStr[-1] in ['C', 'c']:
    F = 1.8*eval(TempStr[0:-1]) + 32
    print("转换后的温度是{:.2f}F".format(F))
# 保留字else同样是一个分支语句,表示非
else:
    print("输入格式错误")

小节

小白在此

  • 缩进

用来表达语句间的层次关系以及包含关系

  • 注释

编写者为了提高代码可读性,写的辅助信息,不被计算机执行

  • 命名

是给变量关联标识符或赋值的过程

  • 变量

是用来标识数据值的占位符

  • 保留字

是计算机的程序语言中默认保留下来为程序语言所使用的

数据类型

字符串,数字类型,列表类型

赋值语句,分支语句,函数

赋值语句:由赋值符号构成的

分支语句,由if elif else 构成云云

三个具体的函数

input()

print()

eval()

print()格式化

该文章禁止游客评论,请登录后进行评论