IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python学习笔记 -> 正文阅读

[Python知识库]python学习笔记

python笔记

列表

列表的定义

在这里插入图片描述
在这里插入图片描述

列表的循环遍历

基本元素定义

在这里插入图片描述

列表的循环遍历 for

infos = ["你好", 123, 3.14]
print(infos)
for temp in infos:
    print(temp)

在这里插入图片描述

列表的循环遍历 while

infos = ["你好", 123, 3.14]
print(infos)
i = 0
while i < len(infos):
    print(infos[i])
    i += 1

在这里插入图片描述

在列表中增加元素 – 增加元素

在这里插入图片描述

  • 代码
# 增加
name_list = ["小一", "小二", "小三"]
# append 方法可以向列表的末尾追加数据
name_list.append("小四")
print(name_list)

# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1, "小五")
print(name_list)

# extend 方法可以把其他列表中的完整内容,追加到当前列表
temp_list = ["小六", "小七", "小八"]
name_list.extend(temp_list)
print(name_list)

  • 结果
['小一', '小二', '小三', '小四']
['小一', '小五', '小二', '小三', '小四']
['小一', '小五', '小二', '小三', '小四', '小六', '小七', '小八']

列表中查找数据 --查找

  • 代码
# 增加
name_list = ["小一", "小二", "小三"]
# 1. 取值和取索引
# list index out of range - 列表索引超出范围
print(name_list[2])

# 知道数据的内容,想知道数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不在列表中.
print(name_list.index("小二"))

  • 结果
小三
1

在这里插入图片描述

在列表中删除元素 -元素

  • 代码 remove pop clear的用法
name_list = ["小一", "小二", "小三", "小四"]

print(name_list)

# 删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("小三")
print(name_list)

# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
print(name_list)

# pop 方法可以指定要删除元素的索引
name_list.pop(1)
print(name_list)

# clear 方法可以清空列表
name_list.clear()
print(name_list)

  • 结果
['小一', '小二', '小三', '小四']
['小一', '小二', '小四']
['小一', '小二']
['小一']
[]
  • 代码 del 用法 (平常开发中不推荐您使用)
    -结果

  • 1.使用del语句删除列表元素。

# 数据
name_list = ["小一", "小二", "小三", "小四"]

print(name_list)

# 删除
# (知道)使用del关键字(delete) 删除列表元素
# 提醒: 在日常开发中,要从列表删除数据,建议使用列表
del name_list[1]

print(name_list)

# del 关键字本子上是用来将一个变量从内存中删除的
name = "小明"

del name
# 注意:如果使用del关键字将变量从内存中删除
# 后续的代码就不能再使用这个吧年来那个了
# name 'name' is not defined
print(name)

['小一', '小二', '小三', '小四']
['小一', '小三', '小四'] 

NameError: name 'name' is not defined

在这里插入图片描述

  • 2.使用pop方法删除列表元素。
    在这里插入图片描述
  • 3.使用remove方法删除列表元素
    

在这里插入图片描述

在列表中修改数据.

在这里插入图片描述

列表的排序操作

在这里插入图片描述

  • 升序

    • 代码
    # 数据
    name_list = ["zhangsan", "xiaoer", "wangwu", "wangxiao"]
    num_list = [6, 8, 4, 1, 10]
    # 升序
    name_list.sort()
    num_list.sort()
    
    print(name_list)
    print(num_list)
    
    
    • 结果
    ['wangwu', 'wangxiao', 'xiaoer', 'zhangsan']
    [1, 4, 6, 8, 10]
    
  • 降序

    • 代码
    # 数据
    name_list = ["zhangsan", "xiaoer", "wangwu", "wangxiao"]
    num_list = [6, 8, 4, 1, 10]
    # 降序
    name_list.sort(reverse=True)
    num_list.sort(reverse=True)
    
    print(name_list)
    print(num_list)
    
    
    • 结果
    ['zhangsan', 'xiaoer', 'wangxiao', 'wangwu']
    [10, 8, 6, 4, 1] 
    
  • 降序

    • 代码
    # 数据
    name_list = ["zhangsan", "xiaoer", "wangwu", "wangxiao"]
    num_list = [6, 8, 4, 1, 10]
    # 逆序 (反转)
    name_list.reverse()
    num_list.reverse()
    
    print(name_list)
    print(num_list)
    
    
    • 结果
    ['wangxiao', 'wangwu', 'xiaoer', 'zhangsan']
    [10, 1, 4, 8, 6]
    

在这里插入图片描述

列表的嵌套

  • 代码

    import random
    
    # 1. 定义一个列表,嵌套的列表
    rooms = [[], [], []]
    
    # 2. 有一个列表,保存了8名老师的名字
    teachers = ["A", "B", "C", "D", "E", "F", "G", "H"]
    
    # 3. 随机把8名老师的名字添加到 第1个列表中
    
    for name in teachers:
        randomNum = random.randint(0, 2)
        rooms[randomNum].append(name)
    
    # print(rooms)
    
    i = 0;
    for room in rooms:
        print("办公室%d里面的老师姓名是:" % i)
        for name in room:
            print(name, end=" ")
    
        print("")
        i += 1
    
    
  • 效果 (随机分配学生)

    测试1:

    
    办公室0里面的老师姓名是:
    A E F 
    办公室1里面的老师姓名是:
    B C H 
    办公室2里面的老师姓名是:
    D G 
    

    测试2:

    
    办公室0里面的老师姓名是:
    D E 
    办公室1里面的老师姓名是:
    A C G 
    办公室2里面的老师姓名是:
    B F H 
    
    

元组

元组的概念

在这里插入图片描述

  • 访问元组

  • 代码

    # 定义一个元组
    name_tuple = ("zhangsan", "张三", 18, 1.75)
    print(name_tuple[0])
    print(name_tuple[1])
    print(name_tuple[2])
    print(name_tuple[3])
    
    # 定义空元组
    empty_tuple = ()
    
    print(type(empty_tuple))
    # 定义一个元组(单元组)
    one_tuple = (50,)
    print(type(one_tuple))
    
    
  • 结果

    zhangsan
    张三
    18
    1.75
    <class 'tuple'>
    <class 'tuple'>
    

在这里插入图片描述

元组的常用操作

在这里插入图片描述

  • 代码

    # 定义一个元组
    info_tuple = ("zhangsan", "张三", 18, 1.75, "zhangsan")
    
    # 1. 取值和取索引
    print(info_tuple[0])
    
    # 2. 已经知道数据的内容,希望知道该数据在元组中的索引
    print(info_tuple.index("zhangsan"))
    
    # 3. 统计计数
    print(info_tuple.count("zhangsan"))
    
    # 4. 统计元组中包含元素的个数
    print(len(info_tuple))
    
    
  • 结果

    zhangsan
    0
    2
    5
    

元组的遍历

  • 代码

    # 定义一个元组
    info_tuple = ("zhangsan", "张三", 18, 1.75)
    
    # 使用迭代遍历元组
    for my_tuple in info_tuple:
        # 使用格式字符串拼接 my_info 这个变量不方便!
        # 因为元组中通常保存的数据类型是不同的!
        print(my_tuple)
    
    
  • 结果

    zhangsan
    张三
    18
    1.75
    

在这里插入图片描述

元组和列表之间的转换

  • 使用list函数可以把元组转换成列表

    list(元组)
    
  • 使用tuple函数可以把列表转换成元组

    tuple(列表)
    
  • 代码

    # 定义一个元组
    num_list = [1, 2, 3, 4]
    
    print("num_list类型:", type(num_list))
    
    num_tuple = tuple(num_list)
    print("使用tuple转换成元组后的类型:", type(num_tuple))
    
    num2_tuple = list(num_tuple)
    print("使用list转换成列表后的类型:", type(num2_tuple))
    
  • 结果

    num_list类型: <class 'list'>
    使用tuple转换成元组后的类型: <class 'tuple'>
    使用list转换成列表后的类型: <class 'list'>
    

修改元组

在这里插入图片描述

元组的内置函数

在这里插入图片描述

字典

字典的定义

在这里插入图片描述

在这里插入图片描述

  • 代码

    # 字典是一个无序的数据集合,使用print函数输出字典时,通常
    # 输出的顺序和定义的顺序是不一致的!
    xiaoming = {"name": "小明",
                "age": 18,
                "gender": True,
                "height": 1.75,
                "weight": 75.5,
                }
    
    print(xiaoming)
    
    
  • 结果

    
    {'name': '小明', 'age': 18, 'gender': True, 'height': 1.75, 'weight': 75.5}
    

字典的常见操作(取值、增加/修改、删除)

在这里插入图片描述

  • 代码

    xiaoming_dict = {"name": "小明"}
    
    # 1. 取值
    print("取值", xiaoming_dict["name"])
    
    # 在取值的时候,如果指定的key不存在,程序会报错!
    # print(xiaoming_dict[123])
    
    # 2.增加/修改
    # 如果key不存在,则会新增键值对
    xiaoming_dict["age"] = 18
    
    # 如果key存在,会修改已经存在的键值对
    xiaoming_dict["name"] = "小小明"
    
    print("增加/修改:", xiaoming_dict)
    
    
    # 3. 删除
    xiaoming_dict.pop("name")
    print("删除",xiaoming_dict)
    
    # 在删除指定键值对的时候,如果key不存在,程序会报错
    # xiaoming_dict[123]
    
    
  • 结果

    
    取值 小明
    增加/修改: {'name': '小小明', 'age': 18}
    删除name: {'age': 18}
    

字典中常用的操作2(统计键值对数量、合并字典、清空字典)

在这里插入图片描述

  • 代码

    xiaoming_dict = {"name": "小明"}
    
    # 1. 统计键值对数量`在这里插入代码片`
    print("统计键值对数量", len(xiaoming_dict))
    
    # 2.合并字典
    temp_dict = {"height": 1.75,
                 "age": 20}
    # 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
    xiaoming_dict.update(temp_dict)
    print("合并字典", xiaoming_dict)
    
    # 3.清空字典
    xiaoming_dict.clear()
    print("清空字典:", xiaoming_dict)
    
    
  • 结果

    
    统计键值对数量 1
    合并字典 {'name': '小明', 'height': 1.75, 'age': 20}
    清空字典: {}
    

字典的循环遍历

  • 代码
xiaoming_dict = {
    "name": "小明",
    "phone": "10086",
    "qq": "123456"
}

# 迭代遍历字典
# 变量k是每一次遍历中,获取到的键值对的key
for k in xiaoming_dict:
    print("%s-%s" % (k, xiaoming_dict[k]))

  • 效果

name-小明
phone-10086
qq-123456

在这里插入图片描述

函数

函数基础

在这里插入图片描述

函数的快速体验

  • 0创建两个python文件
    在这里插入图片描述

  • 1.创建九九乘法表文件 写一个九九乘法表函数

  • def multiple_table(): 使用def创建函数

# 1. 打印 乘法表 
def multiple_table():
    row = 1

    while row <= 9:
        col = 1
        while col <= row:
            print("%d * %d= %d" % (col, row, col * row), end="\t")

            col += 1
        print("")
        row += 1


    1. 创建快速体验文件
  • import引入 调用
import hm_01_九九乘法表

hm_01_九九乘法表.multiple_table()

  • 效果
    在这里插	入图片描述

函数的基本使用

函数的定义

在这里插入图片描述

第一个函数
  • 代码

    name = "小明"
    
    
    # python 解释器知道下方定义了一个函数
    def say_hello():
        print("Hello 1")
        print("Hello 2")
        print("Hello 3")
    
    
    print(name)
    
    # 只有在程序中,主动调用函数, 才会让函数执行
    say_hello()
    
    print(name)
    
    
  • 结果

    
    小明
    Hello 1
    Hello 2
    Hello 3
    小明
    

函数的参数

在这里插入图片描述

  • 代码

    def sum_2_num(num1, num2):
        """对两个数字的求和 """
        result = num1 + num2
        print("%d+%d=%d" % (num1, num2, num1 + num2))
    
    
    sum_2_num(10, 20)
    
    
  • 结果

    
    10+20=30
    

案例-名片管理器

第一步创建 (card_main 和 card_tools)

在这里插入图片描述

card_main代码

import card_tools

while True:
    card_tools.show_menu()
    action_str = input("请输入你要选择的功能项: ")
    print(f'你选择的操作是【{action_str}】')
    if action_str in ['1', '2', '3']:
        if action_str == '1':
            card_tools.new_card()
        elif action_str == '2':
            card_tools.show_all()
        elif action_str == '3':
            card_tools.search_card()
    elif action_str == '0':
        print("欢迎再次使用【名片管理系统】")
        break
    else:
        print("您输入的不正确,请重新输入!")
        print()

card_tools代码

card_list = [{"name": "jsj2001", "phone": "100861", "qq": "111", "email": "111@qq.com"},
             {"name": "jsj2002", "phone": "100862", "qq": "222", "email": "222@qq.com"}]


def show_menu():
    '''显示菜单'''
    print("*" * 50)
    print("欢迎使用【名片管理系统】")
    print("")
    print("1、新增名片")
    print("2、显示所有名片")
    print("3、搜索名片")
    print("")
    print("0、退出系统")
    print("*" * 50)


def show_all():
    '''显示所有名片'''
    print("-" * 50)
    # 打印表头
    if len(card_list) == 0:
        print('当前列表中没有任何数据,请使用新增功能添加名片!')
        return
    for name in ['姓名', '电话', 'qq', '邮箱']:
        print(f"{name}", end="\t\t\t")

    print()

    # 遍历名片列表,依次输出字典信息
    for card_dict in card_list:
        print(f"{card_dict['name']}\t\t"
              f"{card_dict['phone']}\t\t"
              f"{card_dict['qq']}\t\t"
              f"{card_dict['email']}\t\t"
              )


def new_card():
    '''新增名片'''
    print("-" * 50)
    # 1. 提示用户输入名片的详细信息
    name = input('姓名: ')
    phone = input('电话: ')
    qq = input('QQ号: ')
    email = input('邮箱: ')
    # 2. 用输入的信息,形成一个字典数据
    card_dict = {'name': name, 'phone': phone, 'qq': qq, 'email': email}

    # 3. 将字典添加到列表中
    card_list.append(card_dict)

    # 4.提示用户添加成功!
    print(f"添加{name}的名片成功!")


def search_card():
    '''搜索名片'''
    print('-' * 50)
    print('搜索名片')
    find_name = input('请输入要搜索的姓名:')
    for card_dict in card_list:
        if (card_dict['name'] == find_name):
            print(f"{card_dict['name']}\t\t"
                  f"{card_dict['phone']}\t\t"
                  f"{card_dict['qq']}\t\t"
                  f"{card_dict['email']}\t\t"
                  )
            deal_card(card_dict)
            break
    else:
        print(f"未找到{find_name}")
        pass


def deal_card(find_card):
    ''' 修改 删除 返回上级菜单'''
    action_str = input("请选择要执行的操作 【1】 修改 【2】 删除 【0】 返回上级菜单")
    if action_str == '1':
        '''  修改名片 '''
        find_card['name'] = input_card_info(find_card['name'], "姓名")
        find_card['phone'] = input_card_info(find_card['phone'], "电话")
        find_card['qq'] = input_card_info(find_card['qq'], "QQ号")
        find_card['email'] = input_card_info(find_card['email'], "邮箱")
    elif action_str == '2':
        card_list.remove(find_card)
        print('删除名片成功!')


def input_card_info(dict_value, tip_message):
    # 1. 提示用户输入内容
    result_str = input(tip_message)
    # 2. 针对用户输入的状态进行判断,如果用户输入了内容,直接返回结果
    if len(result_str) > 0:
        return result_str
    # 3. 如果用户没有输入内容,返回 字典中原有的值
    else:
        return dict_value

效果

在这里插入图片描述
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-16 11:18:33  更:2022-05-16 11:19:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 8:41:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码