Python基础教学之二:核心篇——数据结构与流程控制
一、深入理解数据类型
1. 字符串、数字和布尔类型
- 字符串操作:Python中的字符串可以通过多种内置方法和格式化工具进行操作。例如使用
str.format()
方法来格式化字符串,或者通过str.join()
方法连接字符串序列。 - 数字运算:Python支持多种数值类型,如整数、浮点数和复数。了解它们的运算规则和转换方法,比如使用
int()
或float()
函数转换数值类型,对于编写数学计算代码尤为重要。 - 布尔逻辑:理解布尔类型的
True
和False
以及逻辑运算符and
、or
和not
是编程中进行条件判断的基础。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = 'Hello World!'
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第六个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
2. 列表、元组、集合、字典
- 列表的灵活性:列表是可变序列,支持添加、删除和更改元素。使用
list.append()
添加元素,list.remove()
删除元素,而list.sort()
则可以对列表进行排序。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
- 元组的不可变性:元组一旦创建便不能更改,常用于保护数据不被更改,同时在需要多个值返回时作为函数的返回类型。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第四个(不包含)的元素
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组
- 集合的去重与操作:集合自动去除重复元素,适用于集合运算如并集、交集和差集等。使用
set()
类型转换或集合方法如add()
、remove()
等进行集合操作。 - 字典的键值对存储:字典以键值对的形式存储数据,每个键对应一个唯一的值。通过
dict[key]
访问值,而dict.get(key)
则可以安全地获取值,防止键不存在时引发错误。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
二、流程控制
1. 条件语句
- if…elif…else 结构允许根据不同条件执行不同的代码块。利用条件语句可以编写出响应不同情况的灵活代码。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例3:if语句多个条件
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print 'hello'
# 输出结果: hello
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print 'hello'
else:
print 'undefine'
# 输出结果: undefine
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine'
# 输出结果: undefine
2. 循环语句
- for循环通常用于遍历序列,如列表或字符串。结合
range()
函数,也可以生成数字序列。 - while循环则在满足给定条件时持续执行代码块,适合不确定次数的循环场景。
#!/usr/bin/python
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
3. 异常处理
- try…except…finally结构是处理程序运行中错误的首选机制。可以在
try
块中放置可能出错的代码,在except
块中捕获并处理错误,而finally
块则包含无论是否有异常都需要执行的代码。
4. 迭代器和生成器
- 理解迭代器的协议,学会创建生成器,可以有效地处理大数据集合。生成器是一种特殊迭代器,用
yield
返回值而不是return
,可以保存状态,适合逐项生成大量数据。 - 菜鸟迭代器详解:Python3 迭代器与生成器 | 菜鸟教程 (runoob.com)
三、实战演示:解决实际问题
通过具体的编程示例,将上述知识点应用于解决实际问题,例如数据处理、文件操作等,加深理解,提升编程技能。至此,我们已经探索了Python的核心数据结构和流程控制工具,这些知识将为解决更复杂的编程问题打下坚实的基础。继续学习,我们将进入Python的函数与模块篇,掌握编码的高级技巧。