python中字符串切片,变量以及函数 + 列表基础
一、字符串切片(前置复习)
知识点
[::-1]:字符串反转[::-2]:反向取值,步长为 2len():获取字符串长度
str = "hello world" print(str[::-1]) print(str[::-2]) print(len(str))
二、函数
2.1 函数基础定义
知识点
- 使用
def关键字定义命名函数 return:返回结果;若无 return,默认返回None(空值)- 支持无参函数、多参数函数调用
练习代码
# 无参函数
def func():
print("我是一个函数")
return
func()
# 两数相加
def add(x,y):
return x+y
print(add(232,321.5))
# 三数相加
def add2(x,y,z):
return x+y+z
print(add2(1,2,3))
2.2 实战自定义函数练习
知识点
- 列表求和
sum_list(lst):遍历列表累加,返回总和 - 1~n 连续数字求和
sum_n(n):循环实现自然数累加 - 简易四则计算器
calculator(x,y,op):支持+ - * /
练习代码
# 传入一个列表,返回总和
def sum_list(lst):
total = 0
for num in lst:
total += num
return total
print(sum_list([1, 2, 3, 4, 5]))
# 连续数字相加返回总和
def sum_n(n):
total = 0
for i in range(1, n+1):
total += i
return total
print(sum_n(200))
# 计算器功能
def calculator(x, y, op):
if op == '+':
return x + y
elif op == '-':
return x - y
elif op == '*':
return x * y
elif op == '/':
return x / y
print(calculator(10, 5, '+'))
print(calculator(10, 5, '-'))
print(calculator(267.9, 105, '*'))
print(calculator(267.9, 105, '/'))
2.3 变量作用域
知识点
- 全局变量:函数外部定义,全局生效;在函数内部修改全局变量,需要声明
global - 局部变量:函数内部定义,仅函数内部可访问,外部无法使用
练习代码
x = 100
def func2():
global x # 声明全局变量x
print(x)
func2()
def func3():
"""
演示局部变量的作用域
在函数内部定义的变量为局部变量,只能在函数内部访问
"""
x = 10 # 局部变量x
print(x)
func3()
print(x)
2.4 lambda 匿名函数
知识点
- 语法:
lambda 参数:表达式 - 特点:一行表达式,适合简单临时计算
练习代码
mutl_lambda = lambda x, y: x * y print(mutl_lambda(9, 20)) print(mutl_lambda(20, 9))
2.5 None 空值
知识点
- Python 特殊对象,代表 “没有值、空”
- 可用于条件判断
- 函数不写 return,默认返回 None
练习代码
def func4():
print("我是一个函数")
print(func4()) # 函数返回值为None,所以打印结果为None
def func5(age):
if age < 18:
return None
else:
return "成年人"
print(func5(17)) # 打印None
print(func5(20)) # 打印成年人
三、列表 list
3.1 列表基础
知识点
- 容器类型,可以存放多个元素
- 打印列表:直接
print(列表变量)
练习代码
lst = [1, 2, 3, 4, 5] print(lst)
3.2 列表遍历两种方式
知识点
- for 循环:直接遍历列表里面每一个元素
- while 循环:通过索引 +
len()获取长度,遍历取值
3.2.1 for 循环 和 while 循环对比
知识点
- for 循环:依托容器遍历,不能自定义条件;一般不会死循环;适合遍历容器、固定次数循环
- while 循环:自定义条件控制循环;可实现无限循环;适用场景更广
练习代码
# for循环遍历列表
for i in lst:
print(i)
# while循环遍历列表
i = 0
while i < len(lst):
print(lst[i])
i += 1
3.3 列表推导式
知识点
- 作用:一行代码快速生成新列表
- 语法:
新列表 = [表达式 for 变量 in 原列表] - 示例:
[x * x for x in lst],对列表每个元素求平方生成新列表
练习代码
lst_new = [x * x for x in lst] # 将每个元素平方后生成新列表 print(lst_new)
3.4 列表内置方法(增、删、改、查)
知识点
- 增加元素
append():列表末尾添加单个元素extend():批量追加一组元素insert(索引,值):在指定索引位置插入元素
- 删除元素
remove(值):删除列表中第一个匹配的元素pop():默认删除列表末尾元素clear():清空列表所有元素
- 修改 / 排序
sort():对列表原地排序reverse():原地反转列表
- 查询
index(值):返回第一个匹配元素的索引count(值):统计元素在列表中出现次数
练习代码
lst.append(6) # 在列表末尾添加元素 print(lst) lst.extend([7, 8]) # 在列表末尾一次性追加另一个序列中的多个值 lst.insert(0, 0) # 在列表开头插入元素 print(lst) lst.remove(3) # 删除列表中第一个出现的元素3 print(lst) lst.pop() # 删除列表末尾的元素 print(lst) lst.sort() # 对列表进行排序 print(lst) lst.reverse() # 将列表反转 print(lst) lst.index(4) # 返回列表中第一个出现的元素4的索引 print(lst.index(4)) lst.count(4) # 返回列表中元素4出现的次数 print(lst.count(4)) lst.clear() # 清空列表 print(lst)
以上是我的学习记录
浙公网安备 33010602011771号