2024速通python之python进阶

文章目录

「章节总览」

【2024速通python之python基础 https://blog.csdn.net/weixin_45404884/article/details/138578955】

【2024速通python之python进阶 https://blog.csdn.net/weixin_45404884/article/details/138663338】

【2024速通python之python高阶 https://blog.csdn.net/weixin_45404884/article/details/138810133】

一、数据容器

1.list列表

(1)定义

python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list)

# 将列表遍历输出
for name in name_list:
    print(name)

# 输出name_list类型
print(type(name_list))

(2)常用方法

  • 按下标索引
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[0])
  • 反向索引
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[-4])
  • 查找某元素下标
python 复制代码
print(name_list.index('wangwu'))
  • 指定位置插入元素
    列表.insert(下标, 元素),在指定的下标位置,插入指定的元素
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.insert(1, 'sss')
print(name_list)
  • 追加元素
    列表.append(元素),将指定元素,追加到列表的尾部
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.append('sss')
print(name_list)

列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部

python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
other_list = ['sss', 'ddd']
name_list.extend(other_list)
print(name_list)
  • 删除元素
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
# 方式一
del name_list[0]
# 方式二
name_list.pop(0)
print(name_list)
  • 删除某元素在列表中的第一个匹配项
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.remove('lisi')
print(name_list)
  • 清空列表
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.clear()
print(name_list)
  • 统计某元素在列表内的数量
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(name_list.count('lisi'))
  • 列表长度
python 复制代码
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(len(name_list))

2.元组

元组一旦定义完成,就不可修改

(1)定义

python 复制代码
name_list = ('zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi')
print(name_list)

3.字符串常用操作汇总

(1)根据下标索引取出特定位置字符

python 复制代码
name = 'hello world'
print(name[0])

(2)查找给定字符的第一个匹配项的下标

python 复制代码
name = 'hello world'
print(name.index('h'))

(3)将字符串内的全部字符串1,替换为字符串2

python 复制代码
name = 'hello world'
newName = name.replace('world', 'city')
print(newName)

(4)按照给定字符串,对字符串进行分隔

python 复制代码
name = 'hello world'
newName = name.split(' ')
print(newName)

(5)移除首尾的空格和换行符或指定字符串

python 复制代码
name1 = ' hello world '
name2 = '12hello world21'
newName1 = name1.strip(' ')
newName2 = name2.strip('12')
print(newName1)
print(newName2)

(6)统计字符串内某字符串的出现次数

python 复制代码
name1 = 'hello world'
print(name1.count('o'))

4.序列

序列是指:内容连续、有序,可使用下标索引的一类数据容器。

列表、元组、字符串,均可以可以视为序列。

序列支持切片,即:列表、元组、字符串,均支持进行切片操作。

切片:从一个序列中,取出一个子序列。

语法:序列[起始下标:结束下标:步长]

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
  • 步长表示,依次取元素的间隔
  • 步长1表示,一个个取元素
  • 步长2表示,每次跳过1个元素取
  • 步长N表示,每次跳过N-1个元素取
  • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)
python 复制代码
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]	# 下标1开始,下标4(不含)结束,步长1
print(new_list)		# 结果:[2, 3, 4]

my_list = [1, 2, 3, 4, 5]
new_list = my_list[::2]		# 从头开始,到最后结束,步长2
print(new_list)		# 结果:[1, 3, 5]

5.集合

去重且无序

(1)定义

python 复制代码
my_list = {1, 2, 3, 4, 5}
print(my_list)

(2)常用方法

  • 集合内添加一个元素
python 复制代码
my_list = {'1', '2', '3', '4', '5'}
my_list.add('111')
print(my_list)
  • 移除集合内指定的元素
python 复制代码
my_list = {'1', '2', '3', '4', '5'}
my_list.remove('3')
print(my_list)
  • 随机取出一个元素
python 复制代码
my_list = {'1', '2', '3', '4', '5'}
print(my_list.pop())
  • 清空
python 复制代码
my_list = {'1', '2', '3', '4', '5'}
my_list.clear()
print(my_list)
  • 2个集合的差集
python 复制代码
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.difference(my_list2)
print(my_list3)
  • 2个集合的并集
python 复制代码
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.union(my_list2)

print(my_list3)

6.字典

(1)定义

字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:

{key:value}

字典内Key不允许重复,重复添加等同于覆盖原有数据

python 复制代码
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict)

(2)常用方法

  • 获取字典的全部Key,可用于for循环遍历字典
python 复制代码
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict.keys())
  • 取出Key对应的Value并在字典内删除此Key的键值对
python 复制代码
my_dict = {1: 'one', 2: 'two', 3: 'three'}
my_dict.pop(1)
print(my_dict)

二、函数

1.函数多返回值

  • 按照返回值的顺序,写对应顺序的多个变量接收即可
  • 变量之间用逗号隔开
python 复制代码
def test():
    return "a", 1


x, y = test()
print(x)
print(y)

2.函数多种传参方式

(1)位置参数

调用函数时根据函数定义的参数位置来传递参数

python 复制代码
def test(x, y):
    print('x====', x)
    print('y====', y)


test(1, 2)

(2)关键字参数

函数调用时通过"键=值"形式传递参数

** kwargs 表示关键字参数, 它本质上是一个 dict

python 复制代码
def test(**kwargs):
    print(kwargs)


test(x=1, y=2, z=3, a=4)

(3)缺省参数

不传值,默认z赋值为1

python 复制代码
def test(x, y, z=1):
    print(x)
    print(y)
    print(z)


test(1, 2)
test(1, 2, 3)

(4)不定长参数

*args 表示任何多个无名参数, 他本质上是一个 tuple

python 复制代码
def test(*args):
    print('x====', args)


test(1, 2)

3.lambda匿名函数

  • lambda 传入函数 :函数体(一行代码)

  • 匿名函数用于临时构建一个函数,只用一次的场景

  • 匿名函数的定义中,函数体只能写一行代码,如果函数体要写多行代码,不可用lambda 匿名函数,应使用def定义带名函数

python 复制代码
def test(compute):
    result = compute(1, 2)
    print(result)


test(lambda x, y: x + y)
相关推荐
2401_857439692 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna2 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_3 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
梧桐树04293 小时前
python常用内建模块:collections
python
Dream_Snowar4 小时前
速通Python 第三节
开发语言·python
高山我梦口香糖5 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣5 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客5 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
蓝天星空5 小时前
Python调用open ai接口
人工智能·python
jasmine s5 小时前
Pandas
开发语言·python