之前两讲分别讨论Python七大用武之地,Python入门前10件必知事项,今天第三讲讨论9 个最常用的Python核心语法,这些对Python初学者很有用,建议收藏这个视频:
我们知道程序语言是由一行一行的代码组成,使用更底层语言描述,代码就是指令,指令是计算机能够认识的语言。对我们而言只需写出更高层的、更友好的、更易学的Python代码就行,而准确写出Python代码的正式第一步正是:了解Python的核心语法
我们编写的Python 程序由 解析器 读取,将程序文本转为 Unicode 代码点,默认编码为utf-8。
这里出现第1个Python语法规则:编码声明,一般出现在第一行,声明为utf-8的语法格式如下:
- # -*- coding: utf8 -*-
但是自从Python3默认的文本编码就是utf8,所以这个语法变得有些无用,只有在Python2时代才有价值,但现在是Python3,所以你只需了解此语法就行。
下面介绍第2个Python语法规则:缩进,缩进是Python最有特色的语法之一,Python使用缩进表达逻辑关系:
- def print_hello():
- print("hello world")
需要注意的是,请不要使用制表符tab表达缩进,要使用空格,一般是4个空格。
第3个Python语法介绍:标识符,标识符就是变量的名字,或者函数,或者类的名字,所以这个语法也是必须要知道的。
有效标识符字符为:大小写字母 A 至 Z、下划线 _ 、数字 0 至 9,但不能以数字开头。
所以:__a__是合法的标识符,9m是非法的标识符,会提示:
- SyntaxError: invalid syntax
第4个Python语法是关键字,又称为保留字,这是Python系统内部使用的标识符,因此这就注定了我们不能使用这些标识符。如布尔值False就不能被我们作为变量名使用,很有必要了解所有的关键字,因为一旦你的程序中使用了你不知道的某个关键字,就会出现莫名的错误。
如下是Python3所有的关键字:
- False await else import pass
- None break except in raise
- True class finally is return
- and continue for lambda try
- as def from nonlocal while
- assert del global not with
- async elif if or yield
把它们看一遍。
第5个Python语法是字面值,一句话:字面值就是常量值的表示法,你可能会不太熟悉这种叫法,但是举几个例子,一看便知:
字符串字面值
- a = 'programmer' # 这是一个字面值
- #还可以写作:
- b = "programmer"
- c = """programmer"""
转义字面值
- # 这也是一个字面值
- # \表示对n的转义,转义后表示换行
- d = '\n'
数值字面值
- e = 1024 # 十进制1024
- f = 0x400 # 0x表示这是一个十六进制数字
- g = 3.14 # 浮点数
- h = 1.41e-2 # 科学计数法的浮点数
第6个Python语法是运算符,对此你应该很熟悉,就是平时使用的加减乘除等符号,完整运算符如下:
- + - * ** / // % @
- << >> & | ^ ~ :=
- < > <= >= == !=
着重介绍几个可能让你陌生的,如**表示几次方,@是装饰器的语法,:= 形象称为海象运算符,表示赋值与条件判断结合,Python 3.8才开始支持。
- 2**3 # 8
- if (a:=5) > 0:
- print(a) # 5
第7个Python语法是探讨运算符优先级问题:
第8个语法是求值顺序:Python 按从左至右的顺序对表达式求值。但注意在对赋值操作求值时,右侧会先于左侧被求值。
说起来容易,从左至右,但绝不是死板的从左至右,举两个例子演示:
- 1 + 10 ** --2 # 101
- 10 ** 3 + 3 * 8 // 1 > 0 # True
想要改变求值顺序,使用一对括号:
- 10 ** 3 + 3 * 8 // (1 > 0) # 1024
第9个语法是讨论条件表达式
条件表达式(有时称为“三元运算符”)在所有 Python 运算中具有最低的优先级。
- x if C else y
表达式x if C else y 首先是对条件 C 求值。如果 C 为真,x 将被求值并返回其值;否则将对 y 求值并返回其值。
- a = 10 ** 3 if 1 > 0 else 10 ** -3
- a # 1000
以上就是 9 个最常用、最基础的Python语法,都看到这里了,可否点赞或转发支持一下,这样我更有动力做好下一期,谢谢你。