
1.切片
Python切片的基本语法为:
sequence[start:stop:step]
start: 起始索引(包含)stop: 结束索引(不包含)step: 步长,默认为1
省略参数:
sequence[:stop]- 从开始到stop-1sequence[start:]- 从start到结束sequence[:]- 复制整个序列
负数索引
- 从序列末尾开始计数,-1表示最后一个元素
- 例如:
sequence[-3:]获取最后3个元素
步长使用
- 正数:从左到右
- 负数:从右到左(逆序)
- 例如:
sequence[::-1]反转序列
python
'''
切片
语法:s[start:end:step]
start:开始索引,默认值为0
end:结束索引,默认值为字符串的长度(不包含在切片中)
step:步长,默认值为1
'''
#字符串切片
s = '偷偷学python,惊艳所有人!'
# 取出学
print(s[2]) # 学
#取出python
print(s[3:9]) # python
print(s[3:9:2]) # pto
#取出python和之后的所有字符
print(s[3:]) #python,惊艳所有人!
print(s[3:len(s)]) # python,惊艳所有人!
#取出python之前的所有字符
print(s[:3]) # 偷偷学
# 取出所有字符的倒序
print(s[::-1]) # !人有所艳惊,nohtyp学偷偷
print(s[::-2]) # !有艳,otp偷
#列表切片
# 列表的切片和字符串的切片的用法是完全一样的,只是列表的切片返回的是一个新的列表,而字符串的切片返回的是一个新的字符串。
# 0 1 2 3 4 5
xiyouji = ['猴王出世','大闹天宫','五指山','四人一马','九九八十一难','取得真经']
print(xiyouji[1:3]) # ['大闹天宫', '五指山']
print(xiyouji[:3]) # ['猴王出世', '大闹天宫', '五指山']
print(xiyouji[1:-3]) # ['大闹天宫', '五指山']
2.函数
函数是可重用的代码块,用于执行特定任务。使用 def 关键字定义:
python
#def 函数名(参数): ----> 函数名遵循变量名规则,参数可选
# 函数体
def greet(name):
"""向用户问好"""
return f"Hello, {name}!"
print(greet("Alice")) # 输出: Hello, Alice!
位置参数
按顺序传递的参数,必须一一对应:
python
def add(a, b):
return a + b
print(add(3, 5)) # 输出: 8
默认参数
为参数提供默认值,调用时可省略:
python
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
print(greet("Bob")) # 输出: Hello, Bob!
print(greet("Bob", "Hi")) # 输出: Hi, Bob!
注意:默认参数应放在位置参数之后,且默认值应为不可变对象(如数字、字符串、元组)。
函数的返回值
使用 return 语句返回结果,执行后函数结束
- 函数的返回值可以是任意类型,包括数字、字符串、列表、元组、字典等。
- 函数的返回值可以是多个值,用逗号隔开。
- 函数的返回值可以是None,表示没有返回值。
python
def square(x):
return x ** 2
result = square(5) + 5
print(result) # 输出: 30
3.类
一个创造事务的模板
使用 class 关键字定义类,类名通常采用驼峰命名法(首字母大写):
class 类名:
def __init__(self, 形参1, 形参2, ...): --->self代表对象,self不可修改不可删
self.属性名 = 形参值
# 初始化属性
self.name = 形参1
self.age = 形参2
def 功能函数(self):
# 方法体
print('方法体')
python
'''
语法:先写模板
class 类名:
def __init__(self, 形参1, 形参2, ...): --->self代表对象,self不可修改不可删
self.属性名 = 形参值
# 初始化属性
self.name = 形参1
self.age = 形参2
def 功能函数(self):
# 方法体
print('方法体')
'''
class Mage:
# 类变量(所有实例共享)
team = '取经人'
def __init__(self, my_name, my_age, my_sex):
# 构造函数,初始化实例属性
self.name = my_name
self.age = my_age
self.sex = my_sex
def show(self):
# 实例方法,第一个参数为self
print(f"我是{self.name},我今年{self.age}岁,我是{self.sex}{self.team}")
#通过模板创建对象,格式:对象名 = 类名(实参1, 实参2, ...)
mage1 = Mage('孙悟空', 18, '男')
#访问实例属性:对象名.属性名
print(mage1.name) # 孙悟空
print(mage1.age) # 18
print(mage1.sex) # 男
# 调用实例方法
mage1.show()
# 访问类变量:类名.属性名
print(Mage.team) # 取经人
print(mage1.team) # 取经人 通过实例访问