Python
解释
- Python是一种高级编程语言,以其简洁、易读和易用而闻名。它是一种通用的、解释型的编程语言,适用于广泛的应用领域,包括软件开发、数据分析、人工智能等。
- python是一种解释型,面向对象、动态数据类型的高级程序设计语言,是一门开源免费的脚本编程语言。
- 2020.1.1,停止Python2的更新。
特点
- 简洁易读:Python采用清晰简洁的语法,使得代码易于阅读和理解。它使用缩进来表示代码块,而不是依赖于大括号,使得代码更具可读性。
- 丰富的库和框架:Python拥有大量的标准库和第三方库,涵盖了各种领域的功能,例如Web开发、科学计算、数据分析等。这些库和框架可以帮助开发者快速构建应用程序。
- 跨平台性:Python可以在多个操作系统上运行,包括Windows、Linux和MacOS等。这使得开发者可以轻松地在不同平台上部署和运行Python程序。
- 动态类型:Python是一种动态类型语言,不需要提前声明变量类型。这简化了代码的编写和维护,并提供了更大的灵活性。
- 广泛的应用领域:Python被广泛应用于各个领域,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。它被许多大型公司和组织采用,如Google、Facebook、Netflix等。
- 强大的社区支持:Python拥有庞大的开发者社区,提供了丰富的教程、文档和开源项目。开发者可以从社区中获取帮助、分享经验,并使用已经开发的工具和库。
Python基本数据类型
变量
在Python中,变量是用来存储和操作数据的标识符。可以把变量看作是一个容器,用来存储值或者引用其他对象。
在Python中,变量的使用有以下几个特点:
- 变量命名:变量名是用来标识变量的名称。它可以由字母、数字和下划线组成,但必须以字母或下划线开头。变量名区分大小写,例如"count"和"Count"是不同的变量名。
- 变量赋值:使用赋值运算符(=)将一个值赋给一个变量。例如,可以使用语句x = 5将整数值5赋给变量x。变量的赋值不需要类型申明;每个变量在使用前必须赋值。
- 动态类型:Python是一种动态类型语言,这意味着变量的类型是根据赋给它的值自动推断的。同一个变量在不同的上下文中可以引用不同类型的对象。
- 变量引用:变量可以引用各种对象,如整数、浮点数、字符串、列表、函数等。通过变量名,可以访问和操作变量引用的对象。
python
# 变量赋值
x = 5
name = 'Alice'
pi = 3.14
# 使用变量
print(x) # 输出:5
print('Hello, ' + name) # 输出:Hello, Alice
radius = 2.5
area = pi * radius ** 2
print('圆的面积为:', area) # 输出:圆的面积为: 19.625
# 变量类型推断
x = 10 # x是整数类型
x = 'Hello' # x变为字符串类型
x = [1, 2, 3] # x变为列表类型
# 多个变量赋值
a = b = c = 0
print(a, b, c) # 输出:0 0 0
标准数据类型
数字Number
- Python支持四种数字类型,分别是int整型(早期版本还分int和long,从Python3开始合到一起都是int型,可以表示任意整数)、float浮点型、complex复数、bool型;
- 数字是不可改变的数据类型,这意味着改变数据类型会分配一个新的对象;
python
# 整数
x = 5
y = -10
z = 0
# 浮点数
pi = 3.14
radius = 2.5
# 复数
a = 2 + 3j
b = -1j
# 布尔值
is_valid = True
is_greater = x > y
# 数值计算和操作
print(x + y) # 输出:-5
print(pi * radius ** 2) # 输出:19.625
print(a.real) # 输出:2.0
print(b.imag) # 输出:-1.0
print(not is_valid) # 输出:False
# 数值转换
x_str = '10'
x_int = int(x_str)
y_float = float(y)
z_complex = complex(x, y)
字符串String
- 在Python中,字符串(str)是一种表示文本数据的数据类型。字符串由一系列字符组成,可以包含字母、数字、符号和空格等内容。
- 在Python中,字符串可以使用单引号(
''
)或双引号(""
)括起来。 - 反斜杠用来转义,使用 r 可以让反斜杠不发生转义;print(r'this is a line with\n') 。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- 字符串属于不可改变数据类型,但可以通过切片和拼接等操作来生成新的字符串。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
python
name = 'Alice'
message = "Hello, world!"
sentence = "I'm learning Python."
print(name) # 输出:Alice
print(message) # 输出:Hello, world!
print(sentence) # 输出:I'm learning Python.
- 字符串的拼接:用+号将两个字符串拼接在一起。
python
greeting = "Hello"
name = "Alice"
message = greeting + ", " + name
print(message) # 输出:Hello, Alice
- 切片(Slicing):可以使用切片操作符([:])获取字符串的子串。
python
sentence = "I'm learning Python."
print(sentence[2:9]) # 输出:m learn
- 索引(Indexing):可以使用索引操作符([])获取字符串中特定位置的字符。
python
word = "Python"
print(word[0]) # 输出:P
print(word[-1]) # 输出:n
print(word[2:4]) # 输出:th
- 长度获取:可以使用内置函数len()获取字符串的长度。
python
sentence = "I'm learning Python."
words = sentence.split() # 按空格分割字符串
print(words) # 输出:["I'm", 'learning', 'Python.']
print(sentence.upper()) # 输出:"I'M LEARNING PYTHON."
print(sentence.lower()) # 输出:"i'm learning python."
print(sentence.replace('Python', 'Java')) # 输出:"I'm learning Java."
列表List
- 列表是python中使用最频繁的数据类型。
- 在Python中,列表(list)是一种有序 、可变 、可重复的数据类型,用于存储多个值。列表可以包含任意类型的元素,包括整数、浮点数、字符串、布尔值、甚至其他列表等。
- 列表使用方括号(
[]
)来表示,其中的元素使用逗号(,
)分隔。
python
numbers = [1, 2, 3, 4, 5]
names = ['Alice', 'Bob', 'Charlie']
mixed = [1, 'Hello', True, 3.14]
nested = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
empty = []
- 访问元素 :可以使用索引操作符(
[]
)来访问列表中的元素。索引从0开始,负数索引表示从列表末尾开始倒数。
python
numbers = [1, 2, 3, 4, 5]
print(numbers[0]) # 输出:1
print(numbers[-1]) # 输出:5
print(numbers[2:4]) # 输出:[3, 4]
- 修改元素 :由于列表是可变的,可以通过索引操作符(
[]
)来修改列表中的元素。
python
numbers = [1, 2, 3, 4, 5]
numbers[0] = 10
print(numbers) # 输出:[10, 2, 3, 4, 5]
- 添加元素 :可以使用
append()
方法向列表末尾添加新元素,或使用拼接操作符(+
)将两个列表合并。
python
numbers = [1, 2, 3]
numbers.append(4)
print(numbers) # 输出:[1, 2, 3, 4]
names1 = ['Alice', 'Bob']
names2 = ['Charlie', 'Dave']
combined = names1 + names2
print(combined) # 输出:['Alice', 'Bob', 'Charlie', 'Dave']
- 删除元素 :可以使用
del
语句或remove()
方法删除列表中的元素。
python
numbers = [1, 2, 3, 4, 5]
del numbers[2]
print(numbers) # 输出:[1, 2, 4]
names = ['Alice', 'Bob', 'Charlie']
names.remove('Bob')
print(names) # 输出:['Alice', 'Charlie']
- 列表长度 :可以使用内置函数
len()
获取列表的长度(即元素个数)。
python
numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # 输出:5
- 列表还有许多其他的方法和操作,如排序、插入元素、统计元素出现次数等
元组Tuple
- 在Python中,元组(tuple)是一种有序 、不可变 的数据类型,用于存储多个值。元组与列表相似,但不同之处在于元组的元素不可修改。元组使用圆括号(
()
)来表示,其中的元素使用逗号(,
)分隔。
python
coordinates = (3, 4)
colors = ('red', 'green', 'blue')
mixed = (1, 'Hello', True, 3.14)
nested = ((1, 2), (3, 4, 5), (6, 7, 8, 9))
empty = ()
- 访问元素 :可以使用索引操作符(
[]
)来访问元组中的元素,索引从0开始。
python
coordinates = (3, 4)
print(coordinates[0]) # 输出:3
print(coordinates[1]) # 输出:4
- 元组不可变:元组的元素是不可变的,即不能修改元组中的元素。如果尝试修改元组的元素,将会引发TypeError错误。
python
coordinates = (3, 4)
coordinates[0] = 10 # TypeError: 'tuple' object does not support item assignment
- 解包元组:可以将元组的元素解包到多个变量中。
python
coordinates = (3, 4)
x, y = coordinates
print(x) # 输出:3
print(y) # 输出:4
- 元组的长度和元素个数:可以使用内置函数len()获取元组的长度(即元素个数)。
python
colors = ('red', 'green', 'blue')
print(len(colors)) # 输出:3
集合Set
- 在Python中,集合(set)是一种无序且不重复的数据集合。集合中的元素不会按照特定的顺序排列,而且集合中不允许存在重复的元素。集合使用大括号(
{}
)或者使用set()函数
来创建。 - 集合属于可变数据类型。
python
fruits = {'apple', 'banana', 'orange'}
numbers = set([1, 2, 3, 4, 5])
empty = set()
- 去重:集合中的元素不会重复,如果尝试添加重复的元素,集合会自动去重。
python
fruits = {'apple', 'banana', 'orange', 'apple'}
print(fruits) # 输出:{'apple', 'banana', 'orange'}
- 添加元素 :可以使用
add()
方法向集合中添加新元素。
python
fruits = {'apple', 'banana', 'orange'}
fruits.add('grape')
print(fruits) # 输出:{'apple', 'banana', 'orange', 'grape'}
- 删除元素 :可以使用
remove()
方法从集合中删除指定的元素,如果元素不存在会引发KeyError错误。
python
fruits = {'apple', 'banana', 'orange'}
fruits.remove('banana')
print(fruits) # 输出:{'apple', 'orange'}
- 集合运算:集合支持各种集合运算,如并集、交集、差集等。
python
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
union = set1.union(set2) # 并集
intersection = set1.intersection(set2) # 交集
difference = set1.difference(set2) # 差集
print(union) # 输出:{1, 2, 3, 4, 5, 6, 7, 8}
print(intersection) # 输出:{4, 5}
print(difference) # 输出:{1, 2, 3}
- 集合大小 :可以使用内置函数
len()
获取集合的大小(即元素个数)。
字典Dictionary
- 在Python中,字典(dictionary)是一种无序的键值对(key-value)数据结构,用于存储和获取多个值。字典中的每个元素由一个键(key)和对应的值(value)组成,键和值之间使用冒号(
:
)来分隔,而不同的键值对使用逗号(,
)分隔。字典使用花括号({}
)来表示。 - 字典属于可变数据类型。
python
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
empty = {}
- 访问元素:可以使用键来访问字典中的元素,类似于使用索引来访问列表中的元素。
python
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(person['name']) # 输出:Alice
print(person['age']) # 输出:25
- 修改元素:可以通过键来修改字典中的值。
python
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
person['age'] = 26
print(person) # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}
- 添加元素:可以通过键值对的方式向字典中添加新元素。
python
person = {'name': 'Alice', 'age': 25}
person['city'] = 'New York'
print(person) # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
- 删除元素 :可以使用
del
语句删除字典中的元素。
python
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
del person['age']
print(person) # 输出:{'name': 'Alice', 'city': 'New York'}
- 字典长度 :可以使用内置函数
len()
获取字典中键值对的数量。
python
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(len(person)) # 输出:3
- 字典是一种非常常用的数据结构,它提供了高效的键值对查找和操作。可以将字典用于存储和操作各种类型的数据,如配置信息、用户信息、数据记录等。