目录
什么是python
Python是一种高级的、解释型的、通用的编程语言,由Guido van Rossum于1989年开发。具有强大的功能和广泛的应用领域。它支持面向对象编程(OOP),具有动态类型系统和自动内存管理(垃圾回收机制),它以其简洁、易读的语法和丰富的标准库而闻名。
Python的特点:
- 简洁的语法:Python的语法简单而直观,易于理解和学习。
- 易读性:Python代码具有良好的可读性,使得协作和维护更加容易。
- 跨平台性:Python可以在多个操作系统上运行,包括Windows、Linux、macOS等。
- 可扩展性:Python拥有丰富的标准库和第三方库,可用于快速开发各种功能和应用。
- 开发速度快:Python的语法和内置函数使得开发过程更加高效,可以快速实现想法。
- 动态类型系统:Python是一种动态类型的语言,允许在运行时更改变量的类型,提供更大的灵活性。
- 开源:Python是开源的,可以自由地使用和分发。
Python是一种多功能、易学易用的编程语言,适合各种级别的开发者,无论是初学者还是经验丰富的开发者。它在许多领域中都会有广泛的应用。
一:python的基础语法
1.字面量
字面量:字面量是编程中表示固定值的常量。它们是直接在代码中表示数据的值,而不需要进行计算或解释。
- 整数字面量(Integer Literals):用于表示整数值。
x = 10 # 十进制整数字面量
y = 0b1010 # 二进制整数字面量
z = 0o12 # 八进制整数字面量
w = 0xA # 十六进制整数字面量
- 浮点数字面量(Floating-Point Literals):用于表示浮点数值。
f = 3.14 # 浮点数字面量
- 字符串字面量(String Literals):用于表示文本字符串。
name = "Alice" # 字符串字面量,使用双引号
greeting = 'Hello' # 字符串字面量,使用单引号
paragraph = """This is a multi-line
string literal.""" # 多行字符串字面量,使用三个双引号或单引号
- 布尔字面量(Boolean Literals):用于表示布尔值,只有两个取值:True和False。
is_true = True # True布尔字面量
is_false = False # False布尔字面量
- 空值字面量(None Literal):用于表示空值。
value = None # 空值字面量
2.注释
注释:注释是在代码中添加的用于解释和说明代码意图的文本。在Python中,有两种注释方式:
- 单行注释:以#符号开头,从#符号到行末的内容都会被当作注释,不会被解释器执行。
# 这是一个单行注释
x = 10 # 这是赋值语句,后面的内容为注释
- 多行注释:使用三个引号(“”")或三个单引号(‘’')括起来,可以在多行添加注释,通常用于注释较长的内容或函数的说明。
"""
这是一个多行注释
注释内容可以跨多行
"""
'''
这也是一个多行注释
可以使用单引号包围
'''
def add(x, y):
"""
这是一个函数的多行注释
函数名:add
参数:x,y
返回值:x和y的和
"""
return x + y
3.数据类型转换
- 整数转换(int):将其他数据类型转换为整数类型。
x = int(3.14) # 将浮点数转换为整数,结果为3
y = int("42") # 将字符串转换为整数,结果为42
- 浮点数转换(float):将其他数据类型转换为浮点数类型。
x = float(5) # 将整数转换为浮点数,结果为5.0
y = float("3.14") # 将字符串转换为浮点数,结果为3.14
- 字符串转换(str):将其他数据类型转换为字符串类型。
x = str(10) # 将整数转换为字符串,结果为"10"
y = str(3.14) # 将浮点数转换为字符串,结果为"3.14"
z = str(True) # 将布尔值转换为字符串,结果为"True"
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
int(x [,base]) | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列 |
frozenset(s) | 换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
4.标识符
标识符是用来表示变量、函数、类、模块或其他对象的名称。Python的标识符必须满足以下规则和约定:
-
标识符的命名规则:
1. 标识符可以以字母(a-z、A-Z)或下划线(_)开头,后面可以是任意字母、数字或下划线的组合。 2. 标识符区分大小写,例如,"myVar"和"myvar"是不同的标识符。 3. 标识符不能使用Python的关键字(保留字),例如,“if”、"for"和"def"等。
-
命名约定:
1.标识符应具有描述性,能够清晰地表示其所代表的对象。 2.通常使用小写字母和单词之间的下划线来命名变量、函数和模块(例如,my_var、calculate_average)。 3.对于常量(不会变化的值),通常使用全大写字母命名,例如,MAX_SIZE。 4.对于类名,通常使用首字母大写的驼峰命名法,例如,ClassName。 5.对于方法和函数名,通常使用小写字母和单词之间的下划线命名法,例如,calculate_average()。
以下是一些有效的Python标识符示例:
my_var
count
PI
max_size
ClassName
calculate_average
5.运算符
在Python中,运算符用于执行各种操作,例如算术运算、比较操作、逻辑运算等
- 算术运算符:
a = 10
b = 5
加法:+ 示例:c = a + b # 结果为 15
减法:- 示例:d = a - b # 结果为 5
乘法:* 示例:e = a * b # 结果为 50
除法:/ 示例:f = a / b # 结果为 2.0
取余:% 示例:g = a % b # 结果为 0
幂运算:** 示例:h = a ** b # 结果为 100000
取整除法:// 示例:i = a // b # 结果为 2
- 比较运算符:
a = 10
b = 5
等于:== 示例:c = a == b # 结果为 False
不等于:!= 示例:d = a != b # 结果为 True
大于:> 示例:e = a > b # 结果为 True
小于:< 示例:f = a < b # 结果为 False
大于等于:>= 示例:g = a >= b # 结果为 True
小于等于:<= 示例:h = a <= b # 结果为 False
- 赋值运算符:
a = 10
简单赋值:= 示例:a = 10
加法赋值:+= 示例:a += 5 # 相当于 a = a + 5,此时 a 的值为 15
减法赋值:-= 示例:a += 5 # 相当于 a = a + 5,此时 a 的值为 15
乘法赋值:*= 示例:a *= 2 # 相当于 a = a * 2,此时 a 的值为 24
除法赋值:/= 示例:a /= 4 # 相当于 a = a / 4,此时 a 的值为 6.0
取余赋值:%= 示例:a %= 4 # 相当于 a = a % 4,此时 a 的值为 2
幂运算赋值:**= 示例:a **= 3 # 相当于 a = a ** 3,此时 a 的值为 8
取整除法赋值://= 示例:a //= 2 # 相当于 a = a // 2,此时 a 的值为 4
- 逻辑运算符:
a = True
b = False
与:and 示例:c = a and b # c的值为False
或:or 示例:d = a or b # d的值为True
非:not 示例:e = not a # e的值为False
6.字符串
在Python中,字符串是由字符组成的数据类型。你可以使用单引号(')或双引号(")来创建一个字符串。
- 创建字符串:
# 使用单引号创建字符串
str1 = 'Hello, World!'
# 使用双引号创建字符串
str2 = "Hello, Python!"
# 使用三重引号创建多行字符串
str3 = '''
This is a multi-line
string in Python.
'''
# 使用转义字符创建特殊字符的字符串
str4 = "I'm learning Python."
- 访问字符串中的字符:
# 通过索引访问单个字符
char = str1[0] # char的值为'H'
# 通过索引范围访问子字符串
substring = str2[7:13] # substring的值为'Python'
- 连接字符串:
# 使用加号(+)连接字符串
str5 = str1 + " " + str2 # str5的值为'Hello, World! Hello, Python!'
# 使用乘号(*)重复字符串
str6 = str1 * 3 # str6的值为'Hello, World!Hello, World!Hello, World!'
- 获取字符串长度:
length = len(str1) # length的值为13
- 字符串格式化:
name = "Alice"
age = 25
# 使用f字符串进行字符串格式化
message = f"My name is {name} and I'm {age} years old."
# 使用.format()方法进行字符串格式化
message2 = "My name is {} and I'm {} years old.".format(name, age)
- 常用字符串方法:
# 将字符串转换为大写
str7 = str1.upper() # str7的值为'HELLO, WORLD!'
# 将字符串转换为小写
str8 = str2.lower() # str8的值为'hello, python!'
# 查找子字符串的索引
index = str1.index('World') # index的值为7
# 替换子字符串
new_str = str1.replace('World', 'Python') # new_str的值为'Hello, Python!'
7.数据输入与输出
在Python中,可以使用input()函数来读取用户的输入数据,并使用print()函数来输出数据。
例如,使用input()函数接收用户输入的数据并将其存储在变量中,然后使用print()函数将该数据输出到屏幕上。
# 接收用户输入的数据
name = input("请输入您的姓名:")
# 输出数据到屏幕上
print("您好," + name + "!欢迎来到Python世界!")
二:Python条件语句
1. if语句:
if语句用于在满足特定条件时执行一段代码块,语法如下:
if condition:
# 如果条件满足,执行这里的代码
示例:
num = 10
if num > 0:
print("数是正数")
2. if-else语句:
if-else语句用于在条件满足时执行一段代码块,否则执行另一段代码块,语法如下:
if condition:
# 如果条件满足,执行这里的代码
else:
# 如果条件不满足,执行这里的代码
示例:
num = -5
if num > 0:
print("数是正数")
else:
print("数是负数")
3. if-elif-else语句:
if-elif-else语句用于在多个条件中选择一个满足时执行对应的代码块,最后的 else 块用于处理所有条件都不满足的情况,语法如下:
if condition1:
# 如果条件1满足,执行这里的代码
elif condition2:
# 如果条件1不满足,而条件2满足,执行这里的代码
else:
# 如果条件1和条件2都不满足,执行这里的代码
示例:
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
通过合理使用 if、if-else 和 if-elif-else 条件语句,可以根据不同的条件执行相应的代码块,从而实现程序的逻辑分支。
三:Python循环语句
循环语句允许我们多次执行相同或类似的代码块。Python提供了两种主要的循环语句:for循环和while循环。
for循环:
for循环用于遍历可迭代对象(如列表、元组、字符串等)中的元素,语法如下:
for item in iterable:
# 执行循环体内的代码
示例:
ruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
while循环:
while循环会重复执行一段代码块,直到指定的条件不再满足,语法如下:
while condition:
# 执行循环体内的代码
示例:
count = 0
while count < 5:
print(count)
count += 1
循环语句让我们能够重复执行特定的代码块,可根据需要来选择for循环或while循环来满足不同的需求。