Python基础入门(一)基础概念及语法


一、编码

python3.X的源码文件使用UTF-8进行编码,所有的字符串都是unicode字符串。

UTF-8是unicode字符集中的一种,支持中文、日文、拉丁语种等,这意味着你可以在python3.X程序中部分使用中文标识,尽管这是不被推荐的。

二、标识符

标识符(identifier)即用于标识变量、函数、类、模块等程序元素的名称,标识符是程序员自定义的名称。

标识符的使用需要遵守如下规则:

  • 第一个字符必须以字母(a-z, A-Z)或下划线 _ 。
  • 标识符的其他的部分字母、数字和下划线组成。
  • 标识符对大小写敏感,count 和 Count 是不同的标识符。
  • 标识符对长度无硬性限制,但建议保持简洁(一般不超过 20 个字符)。
  • 禁止使用保留关键字keyword),如 if、for、class 等不能作为标识符。

合法标识符:

1
2
3
4
5
6
7
8
9
age = 25
user_name = "Alice"
_total = 100
MAX_SIZE = 1024
calculate_area()
StudentInfo
__private_var
姓名 = "张三" # 在python3合法
π = 3.14159 # 在python3合法

非法标识符:

1
2
3
4
5
2nd_place = "silver"    # 错误:以数字开头
user-name = "Bob" # 错误:包含连字符
class = "Math" # 错误:使用关键字
$price = 9.99 # 错误:包含特殊字符
for = "loop" # 错误:使用关键字

三、保留字(即关键字keyword)

保留字关键字keyword,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

标准库即自带的库,无需手动下载

1
2
3
4
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', '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']
>>>
类别 关键字 说明
逻辑值 True 布尔真值
False 布尔假值
None 表示空值或无值
逻辑运算 and 逻辑与运算
or 逻辑或运算
not 逻辑非运算
条件控制 if 条件判断语句
elif 否则如果(else if 的缩写)
else 否则分支
循环控制 for 迭代循环
while 条件循环
break 跳出循环
continue 跳过当前循环的剩余部分,进入下一次迭代
异常处理 try 尝试执行代码块
except 捕获异常
finally 无论是否发生异常都会执行的代码块
raise 抛出异常
函数定义 def 定义函数
return 从函数返回值
lambda 创建匿名函数
类与对象 class 定义类
del 删除对象引用
模块导入 import 导入模块
from 从模块导入特定部分
as 为导入的模块或对象创建别名
作用域 global 声明全局变量
nonlocal 声明非局部变量(用于嵌套函数)
异步编程 async 声明异步函数
await 等待异步操作完成
其他 assert 断言,用于测试条件是否为真
in 检查成员关系
is 检查对象身份(是否是同一个对象)
pass 空语句,用于占位
with 上下文管理器,用于资源管理
yield 从生成器函数返回值

四、注释

1.Python中单行注释以 # 开头,实例如下:

1
2
# 第一个注释
print ("Hello, Python!") # 第二个注释

输出结果为:Hello,Python

2.多行注释可以用多个 # 号,还有 ‘’’ 和 “””

1
2
3
4
5
6
7
8
9
10
11
12
13
# 第一个注释
# 第二个注释

'''
第三注释
第四注释
'''

"""
第五注释
第六注释
"""
print ("Hello, Python!")

输出结果为:Hello,Python

3.释放注释和多行注释:

选中注释行代码,使用Ctrl+/快捷键即可,注意是斜杠/不是反斜杠\

五、行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。

缩进的空格数可变的,但是同一个代码块的语句必须包含相同的缩进空格数为了方便使用和审阅,一般以4个空格 为一组来使用。

实例如下:

1
2
3
4
if True:
print ("True")
else:
print ("False")

六、多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ **** 来实现多行语句,例如:

1
2
3
4
5
6
7
item_one = 1
item_two = 2
item_three = 3
total = item_one + \
item_two + \
item_three
print(total) # 输出为 6

在 [], {}, 或 () 中的多行语句,*不需要使用反斜杠 *,例如:

1
2
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']

七、数字(Number)类型

python中数字有四种类型:整数、布尔型、浮点数和复数

  • int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
  • bool (布尔), 如 True。
  • float (浮点数), 如 1.23、3E-2
  • complex (复数) - 复数由实部和虚部组成,形式为 a + bj,其中 a 是实部,b 是虚部,j 表示虚数单位。如 1 + 2j、 1.1 + 2.2j

八、字符串(String)相关

在 Python3 中,字符串(String) 是一个不可变(immutable)的序列类型,用于表示文本数据。

  • Python 中单引号 ' 和双引号 " 使用完全相同。
  • 使用三引号(‘’’ 或 “””)可以指定一个多行字符串
  • 转义符 \
  • 反斜杠\可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r”this is a line with \n” 则 \n 会显示,并不是换行。
  • 按字面意义级联字符串,如 “this “ “is “ “string” 会被自动转换为 this is string
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • Python 中的字符串有两种索引方式从左往右以 0 开始从右往左以 -1 开始
  • Python 中的字符串不能改变。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串
  • 字符串切片 str[start:end],其中 **start(包含)**是切片开始的索引,**end(不包含)**是切片结束的索引。
  • 字符串的切片可以加上步长参数 step,语法格式如下:str[start:end:step]

实例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
str='123456789'

print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第六个的字符(不包含)
print(str[2:]) # 输出从第三个开始后的所有字符
print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串

print('------------------------------')

print('hello\nworld') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nworld') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

输出结果如下

1
2
3
4
5
6
7
8
9
10
11
123456789
12345678
1
345
3456789
24
123456789123456789
123456789你好
hello
world
hello\nworld

上面的 r 指 raw,即 raw string,会自动将反斜杠转义,例如:

1
2
print('\n')       # 输出空行
print(r'\n') # 输出 \n

九、转义

在编程和文本处理中,转义字符(Escape Character) 是一个特殊符号,通常以反斜杠 \ 开头,用于表示那些无法直接输入或具有特殊含义的字符。它的核心作用是“转义”——即改变后续字符的原始含义

以下是 Python 中常用的转义字符:

转义序列 含义 示例 输出结果
\\ 表示反斜杠本身 "C:\\path" C:\path
\' 单引号 'It\'s me' It's me
\" 双引号 "他说:\"你好\"" 他说:"你好"
\n 换行符 "Hello\nWorld" Hello(换行)World
\t 制表符(Tab空格) "Name:\tAlice" Name: Alice
\r 回车符(光标回到行首) "Hello\rWorld" World(覆盖Hello)
\b 退格符 "Hel\blo" Helo(删除前一个字符)
\uxxxx Unicode 码点(4位十六进制) "\u4e2d"
\Uxxxxxxxx Unicode 码点(8位十六进制) "\U0001f602" 😂

在字符串前加 r 或 R,可禁用转义(反斜杠视为普通字符):

1
2
print(r"Hello\nWorld")  # 输出 `Hello\nWorld`(不换行)
print("Hello\nWorld") # 输出换行后的结果,即 world

十、等待用户输入

input() 是 Python 中用于从标准输入(通常是键盘)中获取用户输入的内置函数。
input() 函数会:

  • 暂停程序执行
  • 等待用户在终端/命令行中输入内容
  • 用户输入后按回车键确认
  • 将输入的内容作为字符串返回(不包括最后的换行符)

实例如下:

1
input("\n\n按下 enter 键后退出。")

以上代码中 ,\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出

十一、同一行显示多条语句

Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割,以下是一个简单的实例:

1
import sys; x = 'hello'; sys.stdout.write(x + '\n') #sys.stdout.write()函数用以统计括号内字符串的数量

十二、多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之为代码组

像if、while、def和class这样的复合语句首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

1
2
3
4
5
6
if expression : 
suite
elif expression :
suite
else :
suite

十三、print 输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=””:

1
2
3
4
5
6
7
8
9
10
11
x="a"
y="b"
# 换行输出
print( x )
print( y )

print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()
1
2
3
4
a
b
---------
a b

十四、import 与 from…import

在 python 用 import 或者 from…import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

1
2
3
4
5
6
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)

十五、命令行参数

很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息:

1
2
3
4
5
6
7
8
9
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit

[ etc. ]

我们在使用脚本形式执行 Python 时,可以接收命令行输入的参数,具体使用可以参照 Python 3 命令行参数