Python程序全局观--以温度转换为例

温度转换程序需求:摄氏度转换为华氏度;华氏度转换为摄氏度

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

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

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

# 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保留字
ifelseelifforor
continuebreakreturnwhileglobal
andasdefexceptimport
fromindellambdanot
tryfinallyNoneTrueFalse
passclassnonlocalraisewith
yieldassertisasyncawait

  保留字是编程语言中的基本单词,大小写敏感
    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结合使用
exceptexcept包括捕获异常后的操作代码,与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中是用;来表示空语句的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值