温度转换程序需求:摄氏度转换为华氏度;华氏度转换为摄氏度
输入:带华氏或摄氏标志的温度值
处理:根据温度标志选择适当的温度转换算法
输出:带摄氏或华氏标志的温度值
# TempConvert
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("输入的格式有误")
一行一句
>>> i = 20
>>> j = 3
>>> k = 5
与C/Java不同的是,Python中没有
语句结束符
,如:;
所以Python解释器不是以“是否存在语句结束符”来表示语句的存在或结束,而是根据其语法到完整性
通常来说,Python是一行一句的,但也可以是一行多句
,不同语句以;
分开,输出仍用;
分隔
>>> i = 20;j = 30;k = 50
>>> i;j;k
20
30
50
>>> i,j,k
(20, 30, 50)
分号
;
代表语句分隔符,而,
表示元组
一句多行
。Python 通常是一行写完一条语句,但如果语句很长,我们可以使用\
(反斜杠)来实现多行语句,例如:
total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
# 报错 ????????
>>> print("Hello \
World!
")
SyntaxError: EOL while scanning string literal
编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码
代码高亮
编程的色彩辅助体系,不是语法要求
缩进
一行代码开始前的空白区域,表达程序格式框架。缩进开始之处必须加:
严格明确:缩进是语法的一部分,缩进不正确程序运行错误
所属关系:表达代码间包含和层次关系的唯一手段
长度一致:缩进长度是可变的,但同一代码块中的语句必须使用相同的缩进长度。一般按4个半角空格为一个缩进单位
# 正确的缩进
if True:
print ("True")
else:
print ("False")
# 错误的缩进
if True:
print ("Answer")
print ("True") # unindent does not match any outer indentation level
else:
print ("Answer")
print ("False") # 在IDLE中,最后一行缩进错误,不会报错
语法突出
编写程序时,编辑器会以各种方式突出程序的不同部分。例如,它知道print是一个函数的名称,因此将其显示为蓝色;它知道“Hello Python world!”不是Python代码,因此将其显示为橙色。这种功能称为语法突出
注释
用于提高代码可读性的辅助性文字,不被执行。清晰、简洁
阐述代码要做什么,以及是如何做的
如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对你的解决方案进行说明吧。
如果程序太简单,没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。
Python解释器会跳过所有以#
开头的注释行语句
单行注释:以#
开头,其后内容为注释
# 第一个注释
print ("Hello, Python!") # 第二个注释
多行注释 :多行注释可以用多个 # 、或用 ‘’’ 和 “”"(单引号)括起
用 ‘’’ 和 “”"(单引号)括起:开头的三个引号和结束的三个引号必须都要单独开一行,不能和注释内容混在一行里
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
print ("Hello, Python!")
Python之禅
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
不要企图编写完美无缺的代码;先编写行之有效的代码,再决定是对其做进一步改进,还是转而去编
写新代码。
标识符
- 第一个字符必须是字母表中字母或下划线 _ 。
- 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感。
- if、else等单词是保留字,不能将其作为标志符
在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。
变量
程序中用于保存和表示数据的占位符号
变量采用标识符来表示,关联标识符的过程叫命名
python保留字
保留字即关键字,是被编程语言内部定义并保留使用的标识符,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
>>> import keyword
>>> keyword.kwlist
python保留字 | ||||
---|---|---|---|---|
if | else | elif | for | or |
continue | break | return | while | global |
and | as | def | except | import |
from | in | del | lambda | not |
try | finally | None | True | False |
pass | class | nonlocal | raise | with |
yield | assert | is | async | await |
保留字是编程语言中的基本单词,大小写敏感
if是保留字,而 If 是变量
保留字说明 | |
---|---|
and | 用于表达式运算,逻辑与操作 |
as | 用于类型转换 |
assert | 断言,用于判断变量或条件表达式的值是否为真, |
class | 用于定义类 |
def | 用于定义函数或方法 |
del | 删除变量或者序列的值 |
global | 定义全局变量 |
if | 条件语句,与else,elif结合使用 |
else | 条件语句条件语句,与if,elif结合使用。也可以用于异常和循环使用 |
elif | 条件语句与ifelse结合使用 |
while | 循环语句 |
for | 循环语句 |
continue | 继续执行下一次循环 |
break | 中断循环语句的执行 |
return | 用于从函数返回计算结果 |
import | 用于导入模块,与from结合使用 |
from | 用于导入模块,与import结合使用 |
in | 判断某一数据是否存在于序列中 |
is | 判断变量是否为某个类的实例 |
lambda | 定义匿名函数 |
not | 用于表达式运算,逻辑非操作 |
or | 用于表达式运算,逻辑或操作 |
pass | 空的类,函数,方法的占位符 |
raise | 异常抛出操作 |
try | 包含可能会出现异常的语句,与except,finally结合使用 |
finally | 用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用 |
except | except包括捕获异常后的操作代码,与try,finally结合使用 |
with | 简化Python的语句 |
yield | 用于从函数依次返回值 |
以下划线开始或者结束的标识符通常有特殊的意义。例如以一个下划线开始的标识符(如foo)不能用from module import *语句导入。前后均有两个下划线的标识符,如init,被特殊方法保留。前边有两个下划线的标识符,如bar,被用来实现类私有属性,这个将在第七章–类与面向对象编程中讲到。通常情况下,应该避免使用相似的标识符。
空语句
Python是“可执行的伪代码”,空语句需要用pass语句来占位,否则报错
x = 5
y = 2
if x > y :
pass
else:
print(y)
C/Java中是用
;
来表示空语句的