目录
编译过程只进行一次,所以编译过程的速度不是关键,目标代码的运行速度是关键。因此 编译器一般都集成尽可能多的优化技术 ,使生成的目标代码具备更好的执行效率
相反, 解释器不能集成太多优化技术 ,因为代码优化技术会消耗运行时间,使整个程序的执行速度受到影响
个人:由于解释器是逐条语句执行,其实也很难统揽全局进行深入优化
执行程序时需要源代码,维护更灵活,可以跨多个操作系统平台,适合非性能关键的程序运行场景
补充:Python虽然采用解释方式执行,但是其解释器也保留了编译器的部分功能,随着程序运行,解释器也会生成一个完整的目标代码
这种 将解释器和编译器结合的新解释器 是现代脚本语言为提升计算性能的一种有益演进
文件输入、网络输入、控制台输入、交互界面输入、内部参数输入等
控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等
① 严格明确: 缩进是语法的一部分 ,缩进不正确程序运行错误
③ 长度一致:程序内一致即可,一般4个空格或1个TAB( 但程序内不可混用 )
用于提高代码可读性的辅助性文字,不被执行,Python有2种注释形式,
# 这里是单行注释
'''这是多行注释第一行
这是多行注释第二行'''
说明:部分以下划线或双下划线开头的名字被留作系统功能使用,建议命名时不使用
含义:被编程语言内部定义并保留使用的标识符,Python共有33个保留字;保留字一般用来构成程序整体框架、表达关键值和具有结构性的复杂语义等
注2:保留字的最后3个True / False / None首字母大写
程序设计语言不允许存在语法歧义,需要定义数据的形式,因此 需要给10,011,101关联一种计算机可以理解的形式
在向计算机提供数据的同时需要 告诉计算机应该如何解释理解数据 ,因此,数据类型就是程序设计语言通过一定方式向计算机表达数据的形式
① 字符串由 一对单引号或一对双引号 表示(使用单 / 双引号效果相同)
② 字符串是字符的有序序列,可以对其中的字符进行索引(字符编号从0开始)
③ Python字符串索引有2种体系:正向递增序号和反向递减序号
④ 正是由于字符串的索引体系,可以使用方括号获得字符串中的一个或多个字符,即字符串的 索引 和 切片 操作
<字符串>[M : N] # 不包括下标为N的字符(即从M到N - 1)
个人: 索引或切片出的还是字符串类型(即都是子串),即使只是获得一个字符
e.g. ['F', 'f']表示列表中有2个字符串元素'F'和'f'
# 右侧运算结果赋给变量C
C = (eval(TempStr[0 : -1]) - 32) / 1.8
# input函数返回一个字符串,所以TempStr也是字符串类型
TempStr = input("")
个人: Python中没有声明变量类型的操作,所以变量的类型完全取决于给其赋值的类型
③ Python支持 同步赋值语句 ,即可以同时给多个变量赋值,语法格式如下,
<变量 1>, ..., <变量N> = <表达式 1>, ..., <表达式N>
Python在处理同步赋值时首先计算右侧的N个表达式,同时将表达式的结果赋值给左侧的N个变量,因此可以用同步赋值语句实现变量值交换
x, y = y, x
说明:虽然同步赋值语句可以使赋值过程更简洁,但是应当尽量避免将多个无关的单一赋值语句组合成同步赋值语句,否则会降低程序的可读性
① 使用保留字if / elif / else构成条件判断的分支结构
# 首先注意分支语句之后有冒号
# 如果条件为True则执行冒号之后带缩进的语句,否则跳过
if TempStr[-1] in ['F', 'f']:
# TempStr[0 : -1]是参数
eval(TempStr[0 : -1])
注意:下面介绍的input / print / eval函数均为Python解释器的内置函数
<变量> = input(<提示信息字符串>)
print(<拟输出字符串或字符串变量>)
print("转换后的温度是{:.2f}C".format(C))
eval: 去掉参数最外侧引号(无论是单双引号) 并执行余下语句的函数
eval(<字符串或字符串变量>)
eval("1")
# 得到数字1
eval("1 + 2")
# 去掉外侧引号后,得到Python可理解的语句 1 + 2,最终结果为3
eval('"1 + 2"')
# 去掉外侧单引号,剩下"1 + 2"仍为字符串,输出'1 + 2'
eval('print("Hello")')
# 去掉外侧单引号,剩下print函数语句,加以执行
eval(input("请输入要计算的数值:"))
# 希望用户输入一个数字,并用程序对这个数字进行计算
# 可以采用eval函数进行转换
说明:eval函数一般用于将数字的字符串类型转换为数字类型(e.g. 温度转换代码),但是 从广义上讲eval函数是将任何字符串信息转换为Python语句执行
文章来源互联网,如有侵权,请联系管理员删除。邮箱:417803890@qq.com / QQ:417803890
Python Free
邮箱:417803890@qq.com
QQ:417803890
皖ICP备19001818号-4
© 2019 copyright www.pythonf.cn - All rights reserved
微信扫一扫关注公众号:
Python Free