Python 入门笔记(二)基础语法
标识符
Python 中的标识符规则与 C 中的类似,但不完全相同
- 标识符只能由数字、字母和下划线组成,并且开头不能是数字
- 标识符不能与保留字冲突
- 标识符对大小写敏感
- 在
Python3
中,汉字也可以作为标识符,但不建议使用
标识符前后的下划线有特殊含义
- 以单下划线开头的标识符(如
_width
),表示不能直接访问的类属性,其无法通过from...import *
的方式导入 - 以双下划线开头的标识符(如
__add
)表示类的私有成员 - 以双下划线作为开头和结尾的标识符(如
__init__
),是专用标识符
保留字
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword
模块,可以输出当前版本的所有关键字
1 | import keyword |
输出为:
1 | ['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] |
注释
单行注释
单行注释以 #
开头
1 | # 这是一个注释 |
多行注释
多行注释用三个单引号 '''
或者三个双引号 """
将注释括起来,例如:
1 | ''' |
1 | """ |
简单输入输出
使用 input()
和 print()
实现简单输入输出
1 | str = input("请输入:"); |
注意 print
默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
1 | print("Hello",end="") |
缩进
Python 的一大特色就是用缩进来标识代码结构,而不是和 C 一样使用大括号
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数
1 | if True: |
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误
1 | if True: |
同时,不要混用 Tab 和空格,虽然有时它们看起来是一样的,这会让程序无法运行
引入模块和函数
在 Python 用 import
或者 from...import
来导入相应的模块
- 将整个模块导入,格式为:
import somemodule
- 从某个模块中导入某个函数,格式为:
from somemodule import somefunction
- 从某个模块中导入多个函数,格式为:
from somemodule import firstfunc, secondfunc, thirdfunc
- 将某个模块中的全部函数导入,格式为:
from somemodule import *
变量与赋值
Python 中的变量不需要声明,但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
在 Python 中,变量就是变量,它没有类型,我们所说的“类型”是变量所指的内存中对象的类型
给单个变量赋值
与 C 中的规则一样
1 | counter = 100 # 整型变量 |
多个变量赋值
这点跟 Golang 有异曲同工之妙
1 | a, b, c = 1, 2, "HelloWorld" |
基本数据类型
Python3
中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3
的六个标准数据类型中:
-
不可变数据(3 个): Number(数字)、String(字符串)、Tuple(元组)
-
可变数据(3 个): List(列表)、Dictionary(字典)、Set(集合)
这里的不可变数据说的是部分内容不可变,比如说数字只能被整体重新赋值,而没有改变其中一部分的说法
确定变量所指的对象类型
使用 type()
来查询
1 | 20, 5.5, True, 4+3j a, b, c, d = |
使用 isinstance()
来判断
1 | 111 a = |
注意:
isinstance()
会认为子类是一种父类类型,例如bool
是int
的子类型
判断与循环
If
1 | if <condition_1>: |
For
1 | for <variable> in <sequence>: |
break
和 continue
在 for
中有效,else
为可选
While
1 | while <condition>: |
break
和continue
在 While
中有效,else
为可选
一句话分多行
Python 通常是一行写完一条语句,但如果语句很长,我们可以在行末使用续行符(反斜杠\
)来实现多行语句
1 | total = item_one + \ |
在 []
, {}
, 或 ()
中的多行语句,不需要使用反斜杠 \
1 | total = ['item_one', 'item_two', 'item_three', |
一行中写多句话
使用 ;
分割即可,但为什么要写在一行呢?
1 | a=1;b=2;c=a+b;print(c) |