目录
1、保留字与标识符
2、变量与常量
变量(Variables):
常量(Constants):
3、数值类型
4、字符串类型
字符串的创建:
基本字符串操作:
1、字符串拼接:
2、字符串长度:
3、字符串索引和切片:
字符串方法:
转义字符:
5、布尔类型
创建布尔值:
布尔运算:
与运算(and):
或运算(or):
非运算(not):
布尔表达式:
比较运算符:
布尔值为False的情况:
6、数据类型转换
1. 整数转换 int():
2. 浮点数转换 float():
3. 字符串转换 str():
4. 布尔值转换 bool():
5. 列表、元组、集合相互转换:
6. 字典转换:
7. 其他类型转换:
7、eval函数
1. 简单的数学表达式:
2. 使用变量:
3. 使用字典提供命名空间:
4. 使用 eval() 动态创建函数:
8、算术运算符
9、赋值运算符
10、比较运输符
11、逻辑运算符
12、位运算
13、运算符的优先级
在Python中,有一些被称为保留字(Reserved Words)的标识符,它们具有特殊的含义,不能用作标识符(例如变量名、函数名等)。以下是Python中的一些保留字:
关键字(Keywords): 这些是具有特殊用途的标识符,不能用作变量名或其他标识符。
and as assert async await
break class continue def del
elif else except False finally
for from global if import
in is lambda None nonlocal
not or pass raise return
True try while with yield
内置函数名: 一些内置函数的名称也是保留字,例如 print
、len
、input
等。虽然你可以重新定义这些名称作为变量,但最好避免这样做,以免混淆。
abs() all() any() bin() bool()
chr() classmethod() compile() delattr() dict()
dir() divmod() enumerate() eval() exec()
filter() float() format() getattr() globals()
hasattr() hash() help() hex() id()
input() int() isinstance() issubclass() iter()
len() list() locals() map() max()
min() next() object() oct() open()
ord() pow() print() property() range()
repr() reversed() round() set() setattr()
slice() sorted() staticmethod() str() sum()
super() tuple() type() vars() zip()
这些保留字和内置函数名具有特殊用途,因此在编写代码时要避免使用它们作为变量名或其他标识符。
在编程中,标识符是用来标识变量、函数、类或其他实体的名称。在Python中,标识符必须遵循一些规则,以确保它们有效且不与语言的关键字冲突。以下是Python标识符的基本规则:
以字母或下划线开头: 标识符的第一个字符必须是字母(大写或小写)或下划线(_)。
variable_name = 42
_internal_variable = "Hello"
后续字符可以是字母、数字或下划线: 除了第一个字符,后续字符可以是字母(大写或小写)、数字或下划线。
variable2 = "World"
my_var_3 = 3.14
不能使用关键字作为标识符: 避免使用Python语言中的关键字和保留字作为标识符,因为它们具有特殊含义。
# 避免使用关键字
class_ = "Classroom"
区分大小写: Python是区分大小写的,因此my_variable
和My_Variable
是不同的标识符。
my_variable = 42
My_Variable = "Different"
推荐使用驼峰命名法或下划线分隔法: 在Python中,通常使用驼峰命名法(CamelCase)或下划线分隔法(snake_case)来命名标识符。例如:
variableName
variable_name
camelCaseVariable = "CamelCase"
snake_case_variable = "Snake Case"
良好的标识符命名实践可以提高代码的可读性和可维护性。选择一个有意义的名字,并遵循这些基本规则,以确保你的标识符有效且易于理解。
编程中,变量和常量是两个基本的概念,用于存储和表示数据。以下是它们的区别:
示例:
# 声明并赋值一个整数变量
age = 25
# 改变变量的值
age = 30
不可变性: 常量是不可变的,一旦赋予了值,就不能再修改。
# 常量的模拟,通常用全大写字母表示
PI = 3.14
MAX_SIZE = 100
在Python中,有几种常见的数值类型,用于表示不同种类的数字。以下是主要的数值类型:
整数类型(int): 整数类型用于表示整数,可以是正整数、负整数或零。
integer_number = 42
negative_integer = -10
浮点数类型(float): 浮点数类型用于表示带有小数部分的数字。
floating_point_number = 3.14
复数类型(complex): 复数类型用于表示具有实部和虚部的复数。
complex_number = 2 + 3j
print('实数部分',complex_number.real)
print('虚数部分',complex_number.imag)
#输出 实数部分 2.0
#输出 虚数部分 3.0
布尔类型(bool): 布尔类型用于表示真或假的值。
boolean_value = True
在Python中,可以使用内置函数type()
来查看数据的类型。以下是使用type()
函数的一些示例:
示例:
num = 42
print(type(num))
# 输出
float_num = 3.14
print(type(float_num))
# 输出
text = "Hello, World!"
print(type(text))
# 输出
boolean_value = True
print(type(boolean_value))
# 输出
complex_num = 2 + 3j
print(type(complex_num))
# 输出
通过将数据作为type()
函数的参数,你可以得到该数据的类型信息。
如果想检查一个变量是否属于特定的类型,可以使用isinstance()
函数:
result = isinstance(num, int)
print(result)
# 输出 True
上述代码检查变量num
是否是整数类型,返回布尔值。
在Python中,字符串类型(str)用于表示文本数据。字符串是由字符组成的序列,可以包含字母、数字、标点符号和其他字符。以下是一些关于字符串类型的基本信息和示例:
1、使用单引号或双引号创建字符串:
single_quoted_string = 'Hello, World!'
double_quoted_string = "Python Programming"
2、使用三引号创建多行字符串:
multi_line_string = '''This is a
multi-line
string.'''
str1 = "Hello"
str2 = "World"
concatenated_string = str1 + ", " + str2 # 结果为 "Hello, World"
text = "Python"
length = len(text) # 结果为 6
text = "Python"
first_char = text[0] # 获取第一个字符,结果为 "P"
substring = text[1:4] # 获取索引 1 到 3 的子字符串,结果为 "yth"
Python提供了许多内置的字符串方法,用于执行各种操作,例如大小写转换、查找子字符串、替换等。以下是一些示例:
text = "Hello, World!"
# 转换为大写
uppercase_text = text.upper() # 结果为 "HELLO, WORLD!"
# 查找子字符串
index = text.find("World") # 结果为 7
# 替换子字符串
new_text = text.replace("Hello", "Hi") # 结果为 "Hi, World!"
\n
: 表示换行符。
multiline_text = "Line 1\nLine 2"
输出:
Line 1
Line 2
\t
: 表示制表符(Tab)。
indented_text = "First\tSecond"
输出:
First Second
\'
和 \"
: 用于在字符串中表示单引号或双引号。
single_quote = 'This is a single quote: \''
double_quote = "This is a double quote: \""
\\
: 表示反斜杠自身。
path = "C:\\Users\\Username\\Documents"
\r
: 表示回车。
carriage_return_text = "Line 1\rLine 2"
输出:
Line 2
这些转义字符允许你在字符串中插入特殊字符,或者执行一些控制字符的操作。当需要在字符串中包含引号、换行符等特殊字符时,使用转义字符是很有用的。
在Python中,布尔类型(bool)用于表示逻辑值,即真(True)或假(False)。布尔类型通常用于条件表达式和逻辑运算。以下是一些关于布尔类型的基本信息和示例:
# 布尔值为真
is_true = True
# 布尔值为假
is_false = False
Python支持常见的布尔运算,例如与(and)、或(or)、非(not)。
result_and = True and False # 结果为 False
result_or = True or False # 结果为 True
result_not = not True # 结果为 False
布尔类型通常用于条件语句的判断:
age = 25
if age > 18:
print("You are an adult.")
else:
print("You are a minor.")
比较运算符返回布尔值,用于比较两个值的关系。
x = 5
y = 10
result_equal = x == y # 等于,结果为 False
result_not_equal = x != y # 不等于,结果为 True
result_greater = x > y # 大于,结果为 False
result_less = x < y # 小于,结果为 True
result_greater_equal = x >= y # 大于等于,结果为 False
result_less_equal = x <= y # 小于等于,结果为 True
在Python中,布尔类型的值为False
的情况有一些常见的情形。以下是一些导致布尔值为False
的情况:
布尔表达式为假: 当在条件语句或逻辑表达式中,布尔表达式的结果为假时,布尔值为False
。
result = (2 > 5) # 结果为 False
变量赋值为False
: 当一个变量被显式赋值为False
时,该变量的布尔值为False
。
is_false = False
数字为零: 数值类型中,整数或浮点数的值为零时,其布尔值为False
。
zero_integer = 0
zero_float = 0.0
空序列或容器: 对于序列(如空列表、空元组)或容器(如空字典、空集合),其布尔值为False
。
empty_list = []
empty_tuple = ()
empty_dict = {}
empty_set = set()
空字符串: 空字符串的布尔值为False
。
empty_string = ""
None: 特殊的None
对象的布尔值为False
。
none_value = None
在Python中,可以使用内置的函数进行不同数据类型之间的转换。以下是一些常见的数据类型转换函数:
int()
:float_number = 3.14
integer_number = int(float_number)
float()
:integer_number = 42
float_number = float(integer_number)
str()
:number = 123
text = str(number)
bool()
:number = 0
boolean_value = bool(number) # 结果为 False
text = "Non-empty string"
boolean_value = bool(text) # 结果为 True
# 列表转元组
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
# 元组转列表
my_tuple = (4, 5, 6)
my_list = list(my_tuple)
# 列表或元组转集合
my_set = set(my_list)
# 集合转列表
my_list = list(my_set)
# 字典键、值、项之间的转换
my_dict = {'a': 1, 'b': 2, 'c': 3}
# 字典键转列表
keys_list = list(my_dict.keys())
# 字典值转列表
values_list = list(my_dict.values())
# 字典项(键值对)转列表
items_list = list(my_dict.items())
ord()
和 chr()
用于字符和ASCII码之间的转换。hex()
和 oct()
和 bin()
用于整数和十六进制、八进制字、二进制符串之间的转换。# 字符转ASCII码
ascii_code = ord('A') # 结果为 65
# ASCII码转字符
character = chr(65) # 结果为 'A'
# 十进制转十六进制
hex_value = hex(255) # 结果为 '0xff'
# 十进制转八进制
oct_value = oct(64) # 结果为 '0o100'
eval()
是一个内置函数,用于将字符串作为表达式进行求值,并返回表达式的结果。它可以用于动态执行 Python 表达式或计算字符串中的数学表达式。然而,要注意使用 eval()
时可能存在安全风险,因为它允许执行任意的 Python 代码。
基本语法如下:
result = eval(expression, globals=None, locals=None)
expression
: 要评估的字符串表达式。globals
(可选): 一个字典,表示全局命名空间。如果提供,eval()
将在该命名空间中执行表达式。locals
(可选): 一个字典,表示局部命名空间。如果提供,eval()
将在该命名空间中执行表达式。以下是一些 eval()
的使用示例:
result = eval("2 + 3 * 4") # 结果为 14
x = 5
result = eval("x * 2") # 结果为 10
namespace = {'a': 2, 'b': 3}
result = eval("a + b", namespace) # 结果为 5
eval()
动态创建函数:def create_add_function(n):
return eval(f"lambda x: x + {n}")
add_five = create_add_function(5)
result = add_five(10) # 结果为 15
请注意,eval()
应该谨慎使用,特别是当接受用户输入时,以避免执行恶意代码。
算术运算符是用于执行基本数学运算的符号。在Python中,常见的算术运算符包括:
加法 +
: 将两个数相加。
result = 5 + 3 # 结果为 8
减法 -
: 从第一个数中减去第二个数。
result = 5 - 3 # 结果为 2
乘法 *
: 将两个数相乘。
result = 5 * 3 # 结果为 15
除法 /
: 将第一个数除以第二个数。
result = 6 / 3 # 结果为 2.0 (浮点数)
整数除法 //
: 将第一个数除以第二个数,返回整数部分。
result = 6 // 3 # 结果为 2 (整数)
取余 %
: 返回除法的余数。
result = 7 % 3 # 结果为 1
幂运算 **
: 将第一个数的幂为第二个数。
result = 2 ** 3 # 结果为 8
赋值运算符用于将值赋给变量。在Python中,有几种常见的赋值运算符,包括:
等号 =
: 将右侧的值赋给左侧的变量。
x = 5
加法赋值 +=
: 将左侧变量的值与右侧的值相加,并将结果赋给左侧变量。
x = 5 x += 3 # 相当于 x = x + 3,结果为 8
减法赋值 -=
: 将左侧变量的值减去右侧的值,并将结果赋给左侧变量。
x = 5 x -= 2 # 相当于 x = x - 2,结果为 3
乘法赋值 *=
: 将左侧变量的值与右侧的值相乘,并将结果赋给左侧变量。
x = 2 x *= 4 # 相当于 x = x * 4,结果为 8
除法赋值 /=
: 将左侧变量的值除以右侧的值,并将结果赋给左侧变量。
x = 10 x /= 2 # 相当于 x = x / 2,结果为 5.0
整数除法赋值 //=
: 将左侧变量的值整除以右侧的值,并将结果赋给左侧变量。
x = 10 x //= 3 # 相当于 x = x // 3,结果为 3
取余赋值 %=
: 将左侧变量的值除以右侧的值的余数,并将结果赋给左侧变量。
x = 8 x %= 3 # 相当于 x = x % 3,结果为 2
幂赋值 **=
: 将左侧变量的值的幂为右侧的值,并将结果赋给左侧变量。
x = 2 x **= 3 # 相当于 x = x ** 3,结果为 8
比较运算符用于比较两个值,并返回一个布尔值(True或False)。在Python中,常见的比较运算符包括:
等于 ==
: 检查两个值是否相等。
x = 5
y = 3
result = x == y # 结果为 False
不等于 !=
: 检查两个值是否不相等。
x = 5
y = 3
result = x != y # 结果为 True
大于 >
: 检查左侧的值是否大于右侧的值。
x = 5
y = 3
result = x > y # 结果为 True
小于 <
: 检查左侧的值是否小于右侧的值。
x = 5
y = 3
result = x < y # 结果为 False
大于等于 >=
: 检查左侧的值是否大于或等于右侧的值。
x = 5
y = 3
result = x >= y # 结果为 True
小于等于 <=
: 检查左侧的值是否小于或等于右侧的值。
x = 5
y = 3
result = x <= y # 结果为 False
这些比较运算符通常用于控制流程、条件语句和循环中,以便根据不同的条件执行不同的操作。例如:
if x > y:
print("x 大于 y")
elif x < y:
print("x 小于 y")
else:
print("x 等于 y")
逻辑运算符用于对布尔值进行操作,常用于组合和改变条件表达式的逻辑关系。在Python中,常见的逻辑运算符包括:
与 and
: 如果两个条件都为True,则返回True。
x = True
y = False
result = x and y # 结果为 False
或 or
: 如果两个条件中至少一个为True,则返回True。
x = True
y = False
result = x or y # 结果为 True
非 not
: 如果条件为True,则返回False;如果条件为False,则返回True。
x = True
result = not x # 结果为 False
逻辑运算符通常用于构建复杂的条件表达式,以便根据不同的条件执行不同的代码块。例如:
age = 25
if age >= 18 and age <= 60:
print("年龄在18到60之间")
else:
print("年龄不在18到60之间")
在这个例子中,and
运算符用于检查年龄是否同时大于等于18岁和小于等于60岁。
位运算是对二进制位进行操作的一种运算方式。在Python中,有几个常见的位运算符,它们用于执行位级别的操作:
按位与 &
: 对两个数的每个对应位执行与操作,如果两个位都为1,则结果位为1,否则为0。
x = 5 # 二进制为 0101
y = 3 # 二进制为 0011
result = x & y # 结果为 0001,即1
按位或 |
: 对两个数的每个对应位执行或操作,如果两个位中至少有一个为1,则结果位为1,否则为0。
x = 5 # 二进制为 0101
y = 3 # 二进制为 0011
result = x | y # 结果为 0111,即7
按位异或 ^
: 对两个数的每个对应位执行异或操作,如果两个位相同,则结果位为0,如果不同,则为1。
x = 5 # 二进制为 0101
y = 3 # 二进制为 0011
result = x ^ y # 结果为 0110,即6
按位取反 ~
: 对数的每个二进制位取反,即0变为1,1变为0。注意,由于Python中整数是有符号的,取反结果可能会受到位数的限制。
x = 5 # 二进制为 0101
result = ~x # 结果为 -6
左移 <<
: 将数的二进制位左移指定的位数,相当于将数乘以2的指定次方。
x = 5 # 二进制为 0101
result = x << 1 # 结果为 1010,即10
右移 >>
: 将数的二进制位右移指定的位数,相当于将数除以2的指定次方。
x = 5 # 二进制为 0101
result = x >> 1 # 结果为 0010,即2
在Python中,运算符有不同的优先级,决定了它们在表达式中的计算顺序。以下是一些常见运算符的优先级,从高到低:
**
+
,负号 -
,按位取反 ~
*
,除法 /
,整数除法 //
,取余 %
+
,减法 -
<<
,右移 >>
&
^
|
<
,<=
,>
,>=
,==
,!=
)not
and
or
在表达式中,运算符的优先级决定了哪些运算符会先执行。如果有疑问或需要明确优先级,可以使用括号来明确指定运算次序。