编程语言最强大的特性之一,就是操作变量的能力;
(一)赋值语句
新建变量,并为这个变量赋值;python在使用一个变量之前不需要事先说明这个变量的类型
a = 17
str = 'guo'
num = 1.2
(二)变量名
- 通常使用让变量有意义的名字,一般使用英文的全拼,尽量不使用简写,除非这个简写形式是大家所普遍知道的;
- 通过变量名可以清楚地知道这个变量的用途;
命名规则:
- 变量名可以任意长,可以是数字和字母的组合,但是不能是数字开头;
- 通常变量名只是用小写字母;
- 下划线通常用于多个单词的变量命名:
my_name
; - 变量的命名不能与关键字同名:
(三)表达式和语句
- 表达式是值、变量和运算符的组合;
值和变量自身也被认为是表达式,因此下面的是合法的:
>>>42
- python中不使用
;
作为语句的结尾,也不使用大括号{}
,通过严格的缩进区分代码块;- 在Python中也可以使用
;
结尾,程序正常执行,并不会报错- 语句是能够发挥作用的最小单元;比如创建一个变量,或者输出一个变量:
n = 17
print(n)
(四)脚本模式
- 之前使用的都是交互模式(intercatIve mode),即直接与解释器进行交互,这种方法适合与入门,但是并不适合于编写大量的代码;
- 脚本模式(Script mode):将代码保存在脚本(Script)中,在脚本模式下运行解释器,执行里面的脚本;
- 按照惯例,Python脚本的后缀是.py
(五)运算顺序(order of operations)
- 一般不需要费力去熟记这些优先级,当不知道优先级的时候,最好使用括号,将优先级进行明确,因为括号具有最高的优先级;
- 缩写PEMDAS有助于记忆:
优先级:
- 括号(parentheses):具有最高的优先级;也可以提高代码的可读性;
- 指数运算(Exponentiation):具有次优先级;即
**
; - 乘法(Multiplication)和除法(Division)具有相同的优先级;
- 加法(Addition)和减法(Subtraction)具有相同的优先级;
(六)字符串运算(string operations)
- 一般情况下,不能对字符串使用数学运算;
- 但是有两个例外
*
和+
;
+
运算:
- 用于字符串拼接(string concatenation)
first = "abc"
second = "def"
print(first + second) # 输出结果:abcdef
*
运算
- 这个运算符可以用于字符串,表示执行重复运算;
- 必须是一个是字符串,一个是整型数;
print("name" * 3) # 输出结果: namenamename
(七)注释(comments)
- 通常注释有两个作用:第一个是解释程序,提高程序的可读性;第二个是将不需要执行的代码进行注释;
- 注释通常是
#
开头【快捷键是 Ctrl + /】;- 通常可以使用好的变量名,来减少对注释的需求,但是变量名过长难以读懂,所以两者之间要权衡;
注意:通常,注释更重要不是重复代码做了什么,而是为什么要这么做
- 下面的注释是没有什么意义的:
v = 5 # 将5赋值给v
- 下面的注释更好:
v = 5 # 加速度,单位:米/秒
(八)调试
程序会出现三种错误:语法错误(syntax error)、运行时错误(runtime error)、语义错误(semantic error)
语法错误(syntax error)
语法指的是程序的结构以及其背后的规则;
如果你的程序中存在一个语法错误,Python会显示一条错误信息,然后退出运行。你无法顺利运行程序。在你编程生涯的头几周里,你可能会花大量时间追踪语法错误。随着你的经验不断积累,犯的语法错误会越来越少,发现错误的速度也会更快。
运行时错误(runtime error)
这种错误之所以这么称呼,是因为只有程序开始运行的时候,这个错误才会出现;这种错误也称之为
异常(exception)
,因为这种错误通常意味着发生了意外的(特别是不好的)事情;
- 这种错误在简单的程序中通常很少出现;
语义错误(semantic error)
语义错误与意义相关;如果程序中存在语义错误,程序运行的时候将不会报错,但是它并没有执行正确事情;
- 发现处理语义错误是比较棘手的,它需要你反过来思考,来看看程序的输出是什么,搞清楚程序在做什么;