一、python 之基础语法、基础数据类型、复合数据类型及基本操作
- 基础语法规则
- 基础数据类型
- 数字类型(Numbers)
- 字符串类型(String)
- 布尔类型(Boolean)
- 复合数据类型
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- 补充知识
- 索引概念
- 切片
基础语法规则
- 缩进规则
Python 以缩进来区分代码块,不同的缩进来区分代码块/代码层级。同一代码块必须有相同的缩进,同时缩进不推荐空格和 Tab 字符混用。
# 行前面加入#为行注释
a = 1
b = 2
以上代码为同一个层级代码,具有相同的缩进,我愿称之为一级代码块
由一级代码块进入二级,必须以冒号(:)开始且需要时定义方法、对象或判断、循环条件等
# 一级代码块
a = 1
b = 2
#判断条件,:号收尾
if a == 1 :
#二级代码块
print(b)
- 执行规则
基础部分,认识python从上到下依次执行就可以了
上面代码执行顺序:
基础数据类型
python的变量定义不需要声名数据类型,但是变量内部存在类型区分。其中基础数据类型分为
- 数字类型(Numbers)
- 字符串类型(String)
- 尔类型(Boolean)
数字类型(Numbers)
数字类型:整数(int)、长整型(long) 、浮点数(float)、复数(complex)
入门级知道:整数(int)、浮点数(float)即可,不需要记那么多,用到了再说喽
# 整数
a = 1
# 浮点数理解成小数即可
b = 1.1
字符串类型(String)
字符串类型用来表示文本信息,在Python中使用一对单引号 ’ ’ 或双引号 " " 来创建字符串。
# 单引号
a= 'shiyuncode.com'
# 双引号
b= "Hello, world!"
# 获取第一个字符 "H"
b1 = b[0]
# 字符串切片,获取索引2到3的子字符串 "ll"
b23 = b[2:4]
布尔类型(Boolean)
布尔类型,布尔类型意思真/假,python对应的真就是 True 表示,假就是False表示。布尔类型通常用于条件判断和逻辑运算。
# 布尔类型
a = True
b = False
复合数据类型
Python的符合数据类型,我愿理解为一个变量可以存储多个基础数据,其中包括
- 列表(List)
- 元组(Tuple)
- 字典(Dictionary)
List(列表)
列表是一种有序的集合,可以存储多个元素,每个元素可以是不同的数据类型。列表用方括号 [ ] 表示,元素之间用逗号分隔。
# 定义一个水果列表
fruits = ['apple', 'banana', 'orange', 'grape']
# 访问列表元素
first_fruit = fruits[0] # 获取第一个元素 "apple"
# 列表的切片
some_fruits = fruits[1:3] # 获取索引1到2的子列表 ['banana', 'orange']
# 列表的修改和添加
fruits[2] = 'kiwi' # 修改列表中的元素
fruits.append('pear') # 添加元素到列表末尾
Tuple(元组)
元组和列表类似,也是一种有序的集合,但与列表不同的是,元组的元素一旦创建就不能被修改,相当于不可变的列表。元组用圆括号 ( ) 表示。
# 元组的创建
tp = (1, 2)
# 访问元组元素
x = tp[0] # 获取第一个元素 1
Dictionary(字典)
字典是一种无序的键-值对集合,用花括号 { } 表示。每个键对应一个值,键和值之间用冒号分隔。这里数据结构和Json的格式一致诶。
# 字典的创建
person = {
'name': 'shiyuncode.com',
'age': 30
}
# 访问字典元素
person_name = person['name'] # 获取键'name'对应的值 "shiyuncode.com"
# 字典的修改
person['age'] = 31 # 修改键'age'对应的值
# 字典的添加
person['gender'] = 'female' # 添加新的键值对
补充知识
索引概念
索引的起点是0,也就是第1个,对应的索引是0,第2个对应的索引是1,以此类推。
- 字符串索引图示
- 列表索引图示
其它带有索引的类型类似
切片
切片从序列(如列表、元组、字符串等)中获取子序列的操作。通过指定起始索引和结束索引来获取序列的一部分,返回一个新的序列。切片在Python中非常常用,可以用于提取、复制和操作序列中的一段数据。
my_str = '012345'
my_list = [0, 1, 2, 3, 4, 5]
# 获取索引1到3的子数据'123'/[1, 2, 3]
sub_str = my_str[1:4]
sub_list = my_list[1:4]
# 获取索引0到2的子数据'01'/[0, 1]
sub_str2 = my_str[:3]
sub_list2 = my_list[:3]
# 获取索引3到末尾的子数据'345'/[3, 4, 5]
sub_str3 = my_str[3:]
sub_list3 = my_list[3:]
# 获取完整的副本'0123456'/[0, 1, 2, 3, 4, 5]
full_copy_str = my_str[:]
full_copy_list = my_list[:]
这里我们可以看到,如果 : 前面不写则表示从头开始,如果后面不写则表示一直到最后。