Python从入门到进阶的笔记全解析

本篇用于记录学习的python知识,便于以后速查,不定期更新(●'◡'●)

先说好,这个不是给新手看的保姆级教程

=====================================================================

第一章 哈喽派森

1,python环境的安装

这里windows为例,苹果和linux见视频第一阶段-第一章-04-【拓展】-Python环境安装(MacOS)_哔哩哔哩_bilibili

官网下载: Welcome to Python.org

安装要点:(部分简单步骤省略)

验证安装是否成功:

cmd输入命令:python,能看到版本就是成功

2,hello world

print("Hello world!!!")

↑引号和括号是英文

2.5,可能出现的问题

1

2

3

3,解释器简介

进入解释器环境:

python

退出解释器:

exit()

点py文件↓

4,PyCharm开发工具的安装

下载地址:JetBrains: Essential tools for software developers and teamshttps://www.jetbrains.com/

下社区版,不要钱

记得改一下安装路径

打开后,接受协议,不发送

新建工程

记得勾选一下那个     口creat a welcome script,不然没有main.py文件,格式会不一样

新建之后可能会弹窗问你下不下载,选择always下载

新建文件

右键工程>new>python file>>命名>回车

运行

1,右键>run

2,顶部菜单栏直接按小三角

5,Pycharm的基础使用

修改主题颜色:

千万别看都不看点错了,不小心把菜单栏点没了你就偷着乐去吧

修改字体

修改字体快捷键设置

设置搜increase

这个是增大字体,缩小就搜decrease

插件安装

在这里搜你需要的插件,汉化搜chinses,翻译搜translation,

搜不到的去这搜,PyCharm官方Marketplace链接:JetBrains Marketplace

这里给出汉化直达链接

Chinese (Simplified) Language Pack / 中文语言包 Plugin for JetBrains IDEs | JetBrains Marketplace

如果你当前已经打开pycharm,他会直接匹配你的版本,没打开就自己找对应的版本,然后install就欧克了

常用快捷键★★★

  • ctrl+ alt +s:打开软件设置
  • ctrl+ d∶复制当前行代码
  • shift + alt +上\下:将当前行代码上移或下移
  • crtl + shift + f10∶运行当前代码文件
  • shift + f6∶重命名文件
  • ctrl+a:全选
  • ctrl + c\v\x︰复制、粘贴、剪切
  • ctrl+ f:搜索
  • 选中多行+Tab/shift+Tab:多行同时缩进
  • ctrl+ /:快速注释
  • alt+shift+鼠标左键拖动选中:选中多行同位置
  • 第二章 python基础

    1,字面量

    含义:代码中,被写下来的固定的值

    派森中,字符串需要用引号包围起来,被引号包围起来的都是字符串

    print(666)
    print(13.14)
    print("你好")

    2,注释

    注释的作用:注释是代码中的解释型语句,用来对代码内容进行注解

    注释不是代码,不会被程序执行

    单行注释,一般用于解释 单行代码或一小段代码

    # 我是单行注释,代码规范一般建议井号后面一个空格
    print()

    多行注释,一般用于解释-整个python代码文件,类,方法,一般写在开头

    """
        我是多行注释
        可以换行
        多行注释一般用于解释-整个python代码文件,类,方法
    
    """
    print("111")

    3,变量

    定义:在程序运行时,能储存计算结果或能表示值得抽象概念

    简单来说就是程序运行时,记录数据用得

    格式:

    # 定义一个变量,用来记录钱包余额
    money = 50
    #输出变量
    print("钱包还有:",money)
    
    # 买了一个冰激凌,花费10元
    money = moner - 10
    print("买了一个冰激凌,钱包还有:",money)
    

    特征:变量得值可以改变

    ★★print语句输出多个内容中间用(英文)逗号隔开

    4,数据类型

    入门常用:

    # 查看类型信息
    type()

    也可以查看变量中存储得数据类型

    ★★在派森中,变量是没有类型的

    所以type(变量)查看的也是变量中存储得数据类型

    5,数据类型转换

    用途:

  • 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
  • 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
  • 将数字转换成字符串用以写出到外部系统
  • ★★这三个语句都是带有返回值的,可以直接输出也可以用变量接

    ★★万物皆可转字符串,反之不行,整数转浮点数会加小数部分,反之会丢失精度(丢失小数部分)

    6,标识符

    定义:是用户在编程的时候所使用的一系列的名字,用于给变量、类、方法等命名

    规则:

    1. 内容限定:只允许出现,英文,中文(不推荐),数字(不可以用在开头 ),下划线,这四种元素
    2. 大小写敏感:能区分大小写
    3. 不可使用关键字:

    命名规范:

    1. 变量名:见名知意(明了,简洁),下划线命名法(多个单词用下划线隔开),英文字母全小写
    2. 类名:
    3. 方法名:

    7,运算符

    算数(数学)运算符:

    赋值运算符:

    复合赋值运算符:

    8,字符串扩展 

    字符串的三种定义方式

    1,单引号定义法:name = ' 你好 '

    2,双引号定义法:name = "你好"

    3,三引号定义法:name = """你好"""

    ★★三引号定义法的写法和多行注释一样,同样支持换行,用变量接收就是字符串,不接就可以作为多行注释使用

    ★★怎么定义引号自身:

  • 单引号定义法,可以内含双引号,
  • 双引号定义发,可以内含单引号,
  • 可以使用转义字符反斜杠\来将引号解除效用,变成普通字符串
  • name = "\"你好\"\'"

    字符串拼接

    用加号+拼接 ,一般用于字面量与变量之间,或者变量与变量之间

    name = "张三"
    age = "11"
    print("你好," + "我的名字叫"+ name + ",我今年" + age + "岁。")

    但是字符串不能直接拼接 整数或浮点数

    # 错误示例
    age = 11
    print("我的年龄是" + age)

    字符串格式化(多个拼接)

    目的:既方便拼接,又支持拼接其他类型

    name = "张三"
    message = "你好,我亲爱的 %s" % name
    print(message)

    %s表示:

  • %表示:我要占位
  • s表示:将变量变成字符串放入占位的地方
  • 综合意思:我先占个位置,等下有个变量过来,我把它变成字符串放到占位的地方
  • 多个拼接:

    shengao = 180
    tizhong = 60
    message = "我的身高是%s,我的体重是%s。" % (shengao,tizhong)
    print(message)

    格式要求:多个变量占位,变量要用括号括起来,并且按照占位顺序填入

    常用占位符👇:

    #混合使用占位符示例
    
    name = "张三"
    age = 18
    weight = 69.9
    message = "我的名字叫%s,我的年龄是%d岁,我的体重是%fKG" % (name,age,weight)
    print(message)

    格式化的精度控制

    我们可以使用辅助符号"m.n"来控制数据的宽度和精度

  • m 控制宽度,要求是数字(很少使用),若设置的宽度小于数字自身,则不生效
  • .n 控制小数点精度,要求是数字,会进行小数的四舍五入
  • 例如:

    字符串格式化方式2

    语法:f"内容{变量}"

    name = "张三"
    age = 18
    weight = 69.9
    print(f"我的名字叫{name},我的年龄是{age}岁,我的体重是{weight}")

    不理会类型,不做精度控制,原样输出

    对表达式进行格式化

    表达式 定义:一条 具有明确执行结果 的 代码语句

    例如👇:

    可以直接格式化表达式👇:

    ★★表达式拼接等同于变量拼接的方法

    9,数据输入输出

  • 数据输出:print()
  • 数据输入:input()
  • 使用input()语句可以从键盘获取输入,使用一个变量接收(存储)即可

    ★★input可以自带文字提示

    name = input("请告诉我你是谁")
    print("吆西,你是%s" % name)

    ★★input()输入的都是字符串类型,可以用数据类型转换变成其他类型

    ★★print()默认是输出换行的,想要不换行↓

    print("你好",end='')
    print("你好",end='')

    ★★制表符:\t,效果等同于键盘上按下tap键

    第三章 判断语句

    1,布尔类型和比较运算符

    布尔类型

    布尔类型的字面量:

  • True 表示真(是,肯定)
  • False 表示假(否,否定)
  • 定义变量存储布尔类型数据 :

            变量名称 = 布尔类型字面量

    布尔类型可以自定义,也可以通过计算得来

    比较运算符

    2,if语句的基本格式

    条件成立要做的事可以写很多行↓例子

    ★★注意:

  • 判断语句的结果,必须是布尔类型
  • 归属于if判断的代码语句块,需在前方填充4个空格缩进
  •  不要忘记冒号
  • 3,if else 组合判断语句

    ★★注意:

  • else后面不需要判断条件,但是别忘记冒号
  • else代码块,也需要四个空格缩进
  • 4,if、elif、else语句的组合使用

    简洁写法↓条件中可以直接写input语句,用一个输入一个

    ★★注意:

  • elif可以写多个
  • 判断是互斥且有顺序的,前面的if满足了,后面就不判断了
  • else也可以不写,效果等同于三个独立的if判断
  • 四个空格缩进
  • 5,判断语句的嵌套

    关键点:空格缩进控制层级,if、elif、else都可以自由组合

    6,判断语句综合案例

    # 生成一个随机数
    import random
    num = random.randint(1,10)
    
    #通过if判断语句进行猜数字
    a = int(input("请输入你猜的数字:"))
    if a==num:
        print("你猜对了")
    else:
        if a>num:
            print("你猜大了,还有两次机会")
        else:
            print("你猜小了,还有两次机会")
    
        a = int(input("请输入你猜的数字:"))
        if a==num:
            print("你猜对了")
        else:
            if a>num:
                print("你猜大了,还有一次机会")
            else:
                print("你猜小了,还有一次机会")
    
                a = int(input("请输入你猜的数字:"))
                if a == num:
                    print("你猜对了")
                else:
                    if a > num:
                        print("你猜大了,你寄了")
                    else:
                        print("你猜小了,你寄了")

    第四章 循环语句

    1,while循环的基础语法

    # 输出100次你好
    i=0
    while i<100:
        print("你好")
        i+=1

    ★★注意:

  • while的条件需要得到布尔类型,true表示继续循环,false表示结束循环
  • 需要设置循环终止的条件,不设置就是无限循环
  • 空格缩进和if判断一样,
  • 2,while循环案例(猜数字)

    import random
    num = random.randint(1,100)
    
    flag = True
    count = 0
    
    while flag:
        a=int(input("请输入你猜测的数字:"))
        count += 1
        if a==num:
            print("恭喜你猜对了")
            flag = False
        else:
            if a>num:
                print("你猜的大了")
            else:
                print("你猜的小了")
    
    print (f"你一共猜了{count}次")
    

    3,while循环的嵌套

    基于空格缩进决定层级关系

    4,while循环案例(九九乘法表)

    知识补充,详见第二章第九点,print不换行和制表符

    #九九乘法表
    a=1
    while a<=9:
        b=1
        while b<=a:
            print(f"{b}*{a}={a*b}\t",end='')
            b+=1
        print("")
        a+=1

    5,for循环的基础语法

    可以看出,for循环时将字符串的内容依次取出,所以也叫遍历循环

    和while循环不同,for循环无法定义循环条件,只能被动取出数据处理

    理论上,for循环无法构建无限循环(被处理的数据集不可能无限大)

    6,for循环案例(数数有几个a)

    7,range语句

    8,for循环临时变量作用域

    9,for循环的嵌套使用

  • 空格缩进
  • for循环和while循环可以相互嵌套使用
  • 10,for循环案例(打印九九乘法表)

    #九九乘法表
    for a in range(10):
        for b in range(1,a+1):
            print(f"{b}*{a}={a*b}\t",end='')
        print("")

    11,循环中断:break和continue

    continue

    continue关键字用于:中断本次循环,直接进入下一次循环

    continue可用于:for循环和while循环,效果一致

    continue关键字只可以控制:他所在的循环临时中断

    break

    break关键字作用于:直接结束循环

    break可以作用于:for循环和while循环,效果一致

    break关键字同样只可以控制:他所在的循环结束

    12,综合案例

    #发工资
    import random
    money = 10000
    for a in range(1,21):
        num = random.randint(1,10)
        if money == 0:
            break
        if num>=5:
            money-=1000
            print(f"员工{a},绩效{num},发工资1000元,账户余额还剩{money}。")
        else:
            print(f"员工{a},绩效{num},低于5分,不发工资。")
    print("工资发完啦")
    
    #先考虑不发工资跳过的话,就加个continue,我这种写法就不用加

    第五章 函数

    1,函数初识

    函数:是组织好的,可重复使用的,用来实现特定功能的代码段

    作用:

    将功能封装在函数内,可供随时随地重复利用

    提高程序的复用性,减少重复性代码,提高开发效率

    2,函数的基础定义语法

    函数的定义:

    函数的调用:

    注意:

  • 参数如果不需要,可以省略
  • 返回值如果不需要,可以省略
  • 函数必须先定义后调用
  • 3,函数的传入参数

    传入参数功能:在函数进行计算的时候,接受外部(调用时)提供的数据

    4,函数的返回值定义语法

    返回值:函数在执行完成后,返回给调用者的结果

    ★★遇到return,函数就结束了

    5,None类型

    None是类型为"NoneType"的字面量,用于表示空的、无意义的

    函数如何返回None:

  • 不使用return语句,即返回None
  • 主动return None
  • 6,函数的说明文档

     函数是纯代码语言,想要理解含义就要一行行阅读理解,效率比较低

    我们可以给函数添加说明文档,辅助理解函数的作用

    通过多行注释的形式,对函数进行解释说明,

    内容应写在函数体之前

    在Pycharm编写代码时,鼠标悬停就可以查看调用函数的说明文档

    7,函数的嵌套调用

    函数A中执行到调用哈函数B的语句,会将B全部执行完之后,再继续执行A

    8,变量再函数中的作用域

    变量的作用域指的是,变量的作用范围(变量在哪里可用,在哪里不可用)

    主要分为:局部变量和全局变量

    局部变量是定义在函数体内部的变量,即只在函数体内部生效,在外部访问就会出错

    作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量

    全局变量指的是在函数体内、外都能生效的变量

    global关键字:设置内部定义的变量为全局变量

    9,综合案例(ATM)

    #ATM案例
    money = 5000000
    name = None
    
    def chaxun (show_header):
        """
        查询余额
        """
        if show_header:
            print("========查询余额=====")
        print(f"{name}你好,你的当前余额为:{money}元")
        menu()
    
    def cunkuan ():
        print("========存款=====")
        a = int(input(f"{name}你好,请输入你想存入钱的数目:"))
        global money
        money = money + a
        print(f"{name}你好,你成功存入{a}元")
        chaxun(False)
        menu()
    
    def qukuan ():
        print("========取款=====")
        a = int(input(f"{name}你好,请输入你想取出钱的数目:"))
        global money
        money -= a
        print(f"{name}你好,你成功取出{a}元,你的当前余额为:{money}元")
        menu()
    
    def menu ():
        """
        主菜单
        """
        print("========主菜单=====")
        print(f"{name}你好,欢迎来到ATM")
        print("1,\t查询余额")
        print("2,\t存款")
        print("3,\t取款")
        print("4,\t退出")
        a = int(input("请输入你想操作的数字序号:"))
        if a==1:
            chaxun()
        elif a==2:
            cunkuan ()
        elif a==3:
            qukuan()
        else:
            print("操作错误,祝您生活愉快,再见")
    
    name = input("请输入你的名字")
    menu()

    自己写的能跑,但是可能不够好,下面是标准答案

    """
    ATM案例
    """
    
    # 定义全局变量
    money = 5000000
    name = None
    #要求客户输入姓名
    name = input("请输入您的姓名")
    #定义查询函数
    def query(show_header):
        if show_header:
            print("====查询余额====")
        print(f"{name}您好,您的余额剩余:{money}元")
    #定义存款函数
    def saving(num):
        global money
        money += num
        print("====存款====")
        print(f"{name}您好,您存款{money}元成功")
        query(False)
    #定义取款函数
    def get_money(num):
        global money
        money -= num
        print("====取款====")
        print(f"{name}您好,您取款{money}元成功")
        query(False)
    #定义主菜单函数
    def main():
        print("====主菜单====")
        print(f"{name}您好,欢迎来到ATM")
        print("查询余额\t\t【输入1】")
        print("存款\t\t【输入2】")
        print("取款\t\t【输入3】")
        print("退出\t\t【输入4】")
        return input("请输入你的操作:")
    #设置无限循环,确保程序不退出
    while True:
        keyboard_input = main()
        if keyboard_input == "1":
            query(True)
            continue
        elif keyboard_input == "2":
            num = int(input("请输入您想存入的钱:"))
            saving(num)
            continue
        elif keyboard_input == "3":
            num = int(input("请输入您想取出的钱:"))
            saving(num)
            continue
        else:
            print("程序退出")
            break

    第六章 数据容器

    1,数据容器入门

    2,数据容器:列表

    2.1,列表的定义:

    ★★注意:列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套 

    2.2,列表的下标索引

    定义:列表的每一个元素,都有编号,称之为下标索引

    正向:

    反向:

    嵌套:[0][1]

    注意:超出下标索引的范围,无法取出元素,会报错

    2.3,列表的常用操作(方法)

    1,列表的操作方法
  • 插入元素
  • 删除元素
  • 清空列表
  • 修改元素
  • 统计元素个数
  • 2,方法的概念

    3,查找某元素的下标

    功能:查找指定元素在列表的下标,如果找不到,报错ValueError

    语法:列表名.index(元素名)

    index就是列表对象(变量)内置的方法(函数)

    namelist = ["张三","李四","王五"]
    a = namelist.index("张三")
    print(f"张三在列表中的下标索引值是:{a}")
    4,列表的修改功能(方法)

    4.1修改指定位置(索引)的元素值

    语法:列表[下标]=值

    可以使用如上语法,直接对指定下标(正向反向下标均可)的值进行:重新赋值(修改)

    4.2插入元素

    语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素

    4.3追加元素

    语法:列表.append(元素),将指定元素,追加到列表的尾部

    4.4追加元素方法2

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

    4.5删除元素

    语法1:del列表[下标]

    语法2:列表.pop[下标]

    4.6删除某元素在列表中的第一个匹配项

    语法:列表.remove(元素)

    4.7清空列表内容

    语法:列表.clear()

    4.8统计某元素在列表中的数量

    语法:列表.count(元素)

    4.9统计列表内有多少元素

    语法:len.(列表)

    4.10,列表的方法总结(速查)★★★

    列表的特点:

  • 可容纳多个元素(上限为2**63-1、922337203685477580个)
  • 可容纳不同类型的元素(混装)
  • 数据是有序存储的(有下标序号)
  • 允许重复数据存在
  • 可以修改(增删)
  • 2.4,列表练习案例

    #列表案例
    age_list = [21,25,21,23,22,20]
    age_list.append(31)
    age_list.extend([29,33,30])
    a = age_list[0]
    b = age_list[-1]
    c = age_list.index(31)
    print(c)

    3,list(列表)的遍历

    将容器内的元素依次取出进行处理的行为,称之为:遍历、迭代

    3.1,while循环 

    3.2,for循环

    3.3,对比

    while循环和for循环,都是循环语句,但细节不同:

  • 在循环控制上:
  • while循环可以自定循环条件,并自行控制
  • for如循环不可以自定循环条件,只可以一个个从容器内取出数据
  • 在无限循环上:
  • while循环可以通过条件控制做到无限循环
  • for循环理论上不可以,因为被遍历的容器容量不是无限的
  • 在使用场景上:
  • while循环适用于任何想要循环的场景
  • for循环适用于,遍历数据容器的场景或简单的固定次数的循环场景
  • 3.4,案例:

    num_list = [0,1,2,3,4,5,6,7,8,9,10]
    list1 = []
    list2 = []
    a = 0
    while a<len(num_list):
        a = num_list[a]
        if a%2==0:
            list1.append(a)
        a += 1
    print(list1)
    
    for a in num_list:
        if a%2==0:
            list2.append(a)
    print(list2)

    4,数据容器:tuple(元组)

    4.1,定义

    元组同列表一样,都可以封装多个、不同类型的元素,但是最大的不同在于,元组一旦定义完成,就不可修改

    4.2,语法

    定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型

     

    4.3,特点

    4.4,相关操作★★★

    遍历循环while,for同列表

    修改元组的元素会直接报错

    4.5,案例

    #元组案例
    
    t1 = ("周杰伦",11,["football","music"])
    a = t1.index(11)
    print(f"年龄所在的下标为{a}")
    b = t1[1]
    print(f"学生姓名为:{b}")
    del t1[2][0]
    t1[2].append("coding")
    print(t1)

    5,数据容器:str(字符串)

    5.1,下标

    5.2,常用操作(速查)★★★

    5.3,特点

    5.4,案例(计数替换分割)

    6,数据容器的切片

    6.1,什么是序列

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

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

    6.2,序列的常用操作–切片

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

    6.3,案例

    7,数据容器:set(集合)

    7.1,基本语法

    7.2,常用操作

    6.3,常用操作(速查)★★★

    6.4,集合的特点

    6.5,练习

    my_list = ['黑马','黑马','it','it','itcast','best']
    my_set = set()
    for element in my_list:
        my_set.add(element)
    print(f"列表的内容是:{my_list}")
    print(f"通过for循环之后,得到的集合是:{my_set}") 

    8,数据容器:dict(字典,映射)

    8.1字典的定义

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

    ★★key不允许重复,重复添加会覆盖原有数据

    ★★字典和集合一样,不可以使用下标索引,但是字典可以通过key值来取得对应的value

    ★★字典的key和value可以是任意数据类型(key不可为字典),所以字典也是可以嵌套的

    #字典取值
    字典名字[key值]
    #嵌套字典取值
    字典名字[key值][嵌套字典的key值]

    8.2,字典的常用操作

    pop删除的时候,也可以拿到他的值

    遍历字典:

    8.3,字典的常用操作(速查)★★★

    8.4,字典的特点

    8.5,练习

    my_dict = {
        "王力宏": {
            "部门": "科技部", "工资": 3000, "级别": 1
        }, "周杰伦": {
            "部门": "市场部", "工资": 5000, "级别": 2
        }, "林俊杰": {
            "部门": "市场部", "工资": 7000, "级别": 3
        }, "张学友": {
            "部门": "市场部", "工资": 4000, "级别": 1
        }, "刘德华": {
            "部门": "市场部", "工资": 6000, "级别": 2
        }}
    
    print("全体员工当前信息如下:")
    for key in my_dict:
        print(f"{key}")
        print(f"{my_dict[key]}")
    
    print("1级员工升职加薪后,信息如下:")
    for key in my_dict:
        print(f"{key}")
        if my_dict[key]["级别"] ==1:
            my_dict[key]["级别"] +=1
            my_dict[key]["工资"] += 1000
        print(f"{my_dict[key]}")

    9,5类数据容器的总结对比

    9,数据容器的通用操作

    9,扩展–字符串大小比较

    第七章 函数进阶

    1,函数的多返回值

    2,函数的多种传参方式

    常见四种:

  • 位置参数
  • 关键字参数
  • 缺省参数
  • 不定长参数
  • 3,函数作为参数传递

    4,lambda匿名函数

    函数的定义中

  • def关键字,可以定义带有名称的函数
  • lambda关键字,可以定义匿名函数(无名称)
  • 有名称的函数,可以基于名称重复使用

    无名称的函数,只可临时使用一次

    第八章

    1,文件的编码

    2,文件的读取

    操作汇总(速查★★★)

    练习:

    #这个是我想的方法
    f = open('D:/测试.txt', 'r', encoding="UTF-8")
    a = str(f.readlines())
    print(f"ithema出现的次数是{a.count("itheima")}")
    f.close()
    
    #没想到read直接就是字符串
    f = open('D:/测试.txt', 'r', encoding="UTF-8")
    count = f.read().count("ithema")
    print(f"出现了{count}次")
    f.close()

    3,文件的写入

    4,文件的追加

    5,文件操作综合案例

    #我写的方法
    
    f1 = open('D:/bill.txt','r',encoding="UTF-8")
    print(f1.read())
    f2 = open('D:/bill.txt.bak','a',encoding="UTF-8")
    for line in open('D:/bill.txt','r',encoding="UTF-8"):
        if line.count("测试")==0:
            f2.write(line)
        continue
    f1.close()
    f2.close()

    这个方法可以避免别的地方有测试字样,直接去除换行然后逗号分割,去找测试那一个段,胖丁之后再加换行,厉害的

    第九章

    1,了解异常

    什么是异常:

    当检测到一个错误时,python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的“异常”,也就是我们常说的bug

    2,异常的捕获方法

    捕获指定异常:

    捕获所有异常

     

    3,异常的传递

    4.1,python模块

    注意事项:

  • from可以省略,直接import即可
  • as别名可以省略
  • 通过“.”,来确定层级关系
  • 模块的导入一般写在代码文件的开头位置
  • 4.2,自定义模块并导入

     但是all没写的可以手动导↑

    5,python包

    5.1,自定义python包

    5.2,安装第三方python包

     

    pycharm安装具体还是去百度叭,这边不详述了

    6,异常、模块、包-综合案例

    第十章

     1,JSON数据格式的转换

    什么是json

  • json是一种轻量级的数据交互格式。可以按照json指定的格式去组织和封装数据
  • json本质上是一个带有特定格式的字符串
  • 主要功能:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互,类似于:

  • 国际通用语言–英语
  • 中国56个民族不同地区的通用语言–普通话
  • json有什么用

  • 各种编程语言存储数据的容器不尽相同,在python中有字典dict这样的数据类型,而其他语言可能没有对应的字典。
  • 为了让不同的语言都能够相互通用的互相传递数据,json就是一种非常良好的中转数据格式。如下图,以python和C语言互传数据为例:

    总结:

    2,pyecharts模块

    官网:pyecharts – A Python Echarts Plotting Library built with love.Descriptionhttps://pyecharts.org/

    画廊地址:Document (pyecharts.org)https://gallery.pyecharts.org/#/

    安装PyEcharts包:

    #cmd命令
    pip install pyecharts
    
    #这个是国内镜像的,快
    python -m pip install pyecharts
    
    #用清华的镜像安装:
    #我最后用的这个
    pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    进python里导入一下,可以就是安装成功了

    #或者用命令看一下版本,有显示就是对的
    pip show pyecharts

     

    (↑可能用到的神秘代码,版本0.5.10)

    这边要吐槽一下,pycharm里面一开始死活安装不上,后面换了一下解释器,就都可以装了,真的没弄明白

    3,pyecharts的入门使用

    更多配置可以取官网查,基本上跟前端一样

    4,数据处理

     第三方数据处理网站:173软件站-专业绿色手游攻略资讯懒人手机软件app下载平台 (ab173.com)https://www.ab173.com/

    5,创建折线图

    略,详情见视频第一阶段-第十章-06-生成折线图_哔哩哔哩_bilibili

    第十一章

    1,数据可视化案例-地图

    2,全国疫情地图构建

    第一阶段-第十一章-02-全国疫情地图构建_哔哩哔哩_bilibili

    3,河南省疫情地图绘制

    第一阶段-第十一章-03-河南省疫情地图绘制_哔哩哔哩_bilibili

    第十二章

     

    这个效果就是那种,各个时段的排行榜,动态的

    1,基础柱绘制

    2,基础时间线柱状图绘制

    3,动态gdp柱状图绘制

    剩下略第一阶段-第十二章-03-动态GDP柱状图绘制_哔哩哔哩_bilibili

    =========第二阶段========

    有点卡,再开一篇吧

    python笔记(从入门到入土)2-CSDN博客

    ========================================================

    未完待续(●'◡'●)。。。

    作者:许星画

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python从入门到进阶的笔记全解析

    发表回复