Python自学查漏9.28
自学查漏9.28
一、环境安装&代码执行原理&变量命名
安装
Python 代码执行原理
- 解析(Parsing):
- 当你运行一个 Python 脚本时,Python 解释器首先会解析整个代码,将其转换成一种叫做“字节码”(bytecode)的中间形式。
- 在这个阶段,解释器会检查代码的语法错误。
- 编译(Compilation):
- Python 代码不是直接编译成机器码,而是编译成字节码。字节码是一种低级、平台无关的表示形式。
- 字节码存储在
.pyc
文件中,这样下次运行同一脚本时,如果源代码没有变化,Python 可以直接加载字节码,从而加快启动速度。
- 执行(Execution):
- Python 的虚拟机(也称为解释器)会逐条执行字节码。
- 在执行过程中,如果有需要,解释器会调用底层的操作系统或硬件资源。
- 垃圾回收(Garbage Collection):
- Python 还有一个垃圾回收机制,它会自动回收不再使用的内存。
变量命名规则
在 Python 中,变量命名需要遵循以下规则:
- 变量名必须以字母(a-z, A-Z)或下划线(_)开头。
- 变量名不能以数字开头。
- 变量名只能包含字母、数字和下划线(a-z, A-Z, 0-9, _)。
- 变量名是大小写敏感的,这意味着
Variable
和variable
是两个不同的变量。
以下是一些合法的变量名示例:
variable = 1
Variable = 2
_variable = 3
variable123 = 4
以下是一些不合法的变量名示例:
1variable = 1 # 不能以数字开头
variable-name = 2 # 不能包含破折号(-)
遵循这些规则可以帮助你编写清晰、可读的代码。
二、变量类型&注释&数字类型
变量类型
在 Python 中,变量不需要显式声明类型。Python 是一种动态类型的语言,这意味着解释器会在运行时自动确定变量的类型。以下是 Python 中常见的几种数据类型:
- 整数(int): 表示没有小数部分的数字,如
1
,-100
,0
。 - 浮点数(float): 表示有小数部分的数字,如
3.14
,-0.001
,5.0
。 - 复数(complex): 表示实部和虚部的组合,如
2 + 3j
。 - 字符串(str): 表示文本,可以是单引号
' '
、双引号" "
或三引号''' '''
(用于多行字符串)包围的字符序列。 - 列表(list): 表示有序的元素集合,元素可以是不同类型,如
[1, 'a', 3.14]
。 - 元组(tuple): 表示不可变的有序元素集合,如
(1, 'a', 3.14)
。 - 集合(set): 表示无序且元素唯一的集合,如
{1, 2, 3}
。 - 字典(dict): 表示键值对的集合,如
{'a': 1, 'b': 2}
。
注释
注释是代码中不会被解释器执行的文本,用于解释代码或标记某些需要注意的地方。Python 中有两种注释方式:
-
单行注释:使用
#
符号开始。例如:# 这是一个单行注释 x = 1 # 这里对变量 x 进行赋值
-
多行注释:使用三引号
'''
或"""
包围。例如:""" 这是一个多行注释 可以跨越多行 """
数字类型
Python 中的数字类型主要包括整数、浮点数和复数。
-
整数(int):
- 表示没有小数部分的数。
- 可以是正数、负数或零。
- Python 3 中的整数没有大小限制,但实际使用中可能会受到内存大小的限制。
a = 10 # 整数
-
浮点数(float):
- 表示有小数部分的数。
- 通常用于表示实数。
- 浮点数通常有固定的精度,通常是 15-17 位小数。
b = 3.14 # 浮点数
-
复数(complex):
- 表示实部和虚部的组合。
- 虚部以
j
或J
作为后缀。
c = 2 + 3j # 复数
Python 提供了多种内置函数和方法来处理这些数字类型,例如
int()
,float()
,complex()
用于类型转换,以及各种数学运算符和函数。
三、数字类型(补充)&字符串
数字类型(补充)
1. 数字类型转换
在 Python 中,你可以使用内置函数进行数字类型的转换:
int(x, base=10)
:将x
转换为整数。x
可以是数字或字符串。如果x
是字符串,则base
指定了进制。float(x)
:将x
转换为浮点数。complex(real, imag)
:创建一个复数,real
是实部,imag
是虚部。 示例:
num_int = int("123") # 将字符串转换为整数
num_float = float(123) # 将整数转换为浮点数
num_complex = complex(1, 2) # 创建一个复数
2. 数字类型的操作
Python 支持多种数字操作,包括算术运算、比较运算、位运算等。
- 算术运算:
+
(加)、-
(减)、*
(乘)、/
(除)、//
(整除)、%
(取余)、**
(幂运算)。 - 比较运算:
==
(等于)、!=
(不等于)、>
(大于)、<
(小于)、>=
(大于等于)、<=
(小于等于)。 - 位运算:
&
(按位与)、|
(按位或)、^
(按位异或)、~
(按位取反)、<<
(左移)、>>
(右移)。
3. 数字类型的内置函数和方法
Python 提供了许多内置函数来处理数字,例如 abs()
(绝对值)、round()
(四舍五入)、pow()
(幂运算)、divmod()
(返回商和余数)等。
字符串
字符串在 Python 中表示为一系列字符,可以是单引号、双引号或三引号内的文本。
1. 字符串字面量
你可以使用单引号、双引号或三引号来创建字符串:
str1 = '单引号字符串'
str2 = "双引号字符串"
str3 = """三引号字符串
可以跨越多行"""
2. 字符串操作
字符串支持以下操作:
- 索引:访问字符串中的单个字符。
- 切片:获取字符串的一部分。
- 连接:使用
+
运算符连接字符串。 - 重复:使用
*
运算符重复字符串。 示例:
string = "Hello, World!"
print(string[0]) # 输出 'H'
print(string[7:]) # 输出 'World!'
print(string * 2) # 输出 'Hello, World!Hello, World!'
3. 字符串方法
Python 提供了许多内置方法来处理字符串,以下是一些常用的方法:
upper()
:将字符串中的所有小写字转换成大写。lower()
:将字符串中的所有大写字转换成小写。capitalize()
:将字符串的第一个字符转换成大写,其余字符转换成小写。title()
:将字符串中每个单词的首字母转换成大写。split()
:将字符串分割成列表。join()
:将序列中的元素以指定的字符串连接生成一个新的字符串。replace()
:将字符串中的指定字符替换成其他字符。strip()
:移除字符串头尾指定的字符(默认为空格)。 示例:
text = "hello, world!"
print(text.upper()) # 输出 'HELLO, WORLD!'
print(text.split()) # 输出 ['hello,', 'world!']
print(' '.join(['Hello', 'World!'])) # 输出 'Hello World!'
四、字符串(补充)&输入输出&条件语句&循环语句&Pass语句
字符串(补充)
1. 字符串格式化
在 Python 中,字符串格式化允许插入变量到字符串中,下面是一些格式化的方法:
- 使用
%
操作符(老式字符串格式化)。 - 使用
str.format()
方法。 - 使用 f-string(Python 3.6+ 特性)。 示例:
name = "Alice"
age = 30
# 使用 % 操作符
print("My name is %s and I am %d years old." % (name, age))
# 使用 str.format() 方法
print("My name is {} and I am {} years old.".format(name, age))
# 使用 f-string
print(f"My name is {name} and I am {age} years old.")
2. 字符串的转义字符
在字符串中,可以使用反斜杠 \
来插入特殊字符(如换行符 \n
或制表符 \t
)。 示例:
print("Hello,\nWorld!")
print("Hello,\tWorld!")
3. 字符串编码和解码
在处理非 ASCII 字符时,需要使用编码和解码功能。 示例:
# 编码
text = "你好,世界!"
encoded_text = text.encode('utf-8')
print(encoded_text)
# 解码
decoded_text = encoded_text.decode('utf-8')
print(decoded_text)
输入输出
1. 输出
使用 print()
函数来输出信息到控制台。 示例:
print("输出内容")
2. 输入
使用 input()
函数来从用户获取输入。 示例:
user_input = input("请输入一些内容:")
print("你输入了:" + user_input)
条件语句
条件语句允许程序根据特定条件执行不同的代码段。
1. if 语句
if condition:
# 条件为真时执行的代码
2. if-else 语句
if condition:
# 条件为真时执行的代码
else:
# 条件为假时执行的代码
3. elif 语句
if condition1:
# 条件1为真时执行的代码
elif condition2:
# 条件1为假,条件2为真时执行的代码
else:
# 所有条件都为假时执行的代码
循环语句
循环语句允许重复执行一段代码。
1. for 循环
for variable in iterable:
# 在每次迭代中执行的代码
2. while 循环
while condition:
# 当条件为真时重复执行的代码
Pass 语句
pass
语句在 Python 中是一个空操作,它什么都不做,一般用作占位符。 示例:
if condition:
pass # 在这里可以稍后添加代码
else:
# 执行其他代码
pass
语句在创建代码框架时很有用,它允许你在不执行任何操作的情况下保持语法正确。