目录

  • 1 python概述、安装
    • 1.1 Python语言简介
    • 1.2 python的开发软件
    • 1.3 python在线工具
    • 1.4 python安装(课下观看的视频)
    • 1.5 如何利用帮助
    • 1.6 视频:环境 语法 常用函数
    • 1.7 库的3种导入格式
    • 1.8 数学库 math
    • 1.9 优秀的学习网站
      • 1.9.1 python入门指南
      • 1.9.2 python语言参考
      • 1.9.3 廖雪峰
      • 1.9.4 *bilibili
      • 1.9.5 半收费网站《C语言中文网》
      • 1.9.6 StackOverflow:疑难解答、bug排除
      • 1.9.7 github:源码学习、版本控制网站
      • 1.9.8 笨方法学python
      • 1.9.9 datacamp
      • 1.9.10 老猿Python (CSDN)
      • 1.9.11 脾气猪 piqizhu.com
      • 1.9.12 学习者的总结
      • 1.9.13 其他资源
    • 1.10 python学习路线图
    • 1.11 国家考试大纲、样题
  • 2 海龟绘图、循环,函数
    • 2.1 视频:《turtle绘图》集美大学 郭晓曦
    • 2.2 小巧、好用的 turtle 软件
    • 2.3 turtle
      • 2.3.1 turtle文档
      • 2.3.2 turtle使用说明(图片形式)
      • 2.3.3 dir 获取所有命令
      • 2.3.4 查看Python保留字
      • 2.3.5 turtle的所有命令(通过 help(某命令) 获取)
      • 2.3.6 turtle绘图知识点思维导图
    • 2.4 程序:打开图片文件
    • 2.5 如何编程序
      • 2.5.1 如何在窗体放置一幅图片
    • 2.6 画图
      • 2.6.1 画一根线
      • 2.6.2 turtle的直角坐标系
      • 2.6.3 欣赏:机器人的抽象画
      • 2.6.4 欣赏:画星星
      • 2.6.5 欣赏:今夜星光灿烂
      • 2.6.6 欣赏:画圈高手
      • 2.6.7 欣赏:画一个笑脸
      • 2.6.8 变量n:随机彩圈
      • 2.6.9 视频:海龟画正方形
      • 2.6.10 ***如何学好编程?
      • 2.6.11 教育部关于小学生编程文件
      • 2.6.12 画一个正方形
      • 2.6.13 海龟慢动作表演正方形
      • 2.6.14 使用循环画正方形
      • 2.6.15 许多正方形,排列出来,循环
      • 2.6.16 画五角星,并填充颜色
        • 2.6.16.1 五角星的研究
        • 2.6.16.2 *通过程序,判断形状(变量,等比数列)
        • 2.6.16.3 填充形状
        • 2.6.16.4 *元组——海龟画五角星
        • 2.6.16.5 元组,简化程序
        • 2.6.16.6 设计一个漂亮的五角星
      • 2.6.17 学生作品:人智2012陈叶锴设计的五星红旗程序
      • 2.6.18 **元组——改进陈叶锴的设计
      • 2.6.19 **函数1,改进卢志峰的五星红旗
        • 2.6.19.1 简化程序:
      • 2.6.20 画玫瑰花朵,不怕辛苦
      • 2.6.21 太阳花,巩固循环
      • 2.6.22 函数3:阴阳鱼,认识函数
        • 2.6.22.1 简化太极图
          • 2.6.22.1.1 画龙点睛
          • 2.6.22.1.2 定义函数的简化太极图
        • 2.6.22.2 八卦图
      • 2.6.23 欣赏:函数4:画一条蛇
      • 2.6.24 函数5:让函数参与画图
      • 2.6.25 抛砖引玉:编写一个动画故事
    • 2.7 为扫地机器人设计程序
      • 2.7.1 *列表——扫地程序改进,2个循环变量
    • 2.8 **循环(元组 列表 字符串 while)
      • 2.8.1 **占位符{} 函数 print() print(f字符串) format() index()
      • 2.8.2 print()
      • 2.8.3 **列表元素的表示
      • 2.8.4 *循环的流程图怎么画?
      • 2.8.5 循环语句的区域
      • 2.8.6 * break 语句,离开循环。单步执行
      • 2.8.7 (不要求)while 还可以有 else
      • 2.8.8 (不要求)for ... else
      • 2.8.9 continue (这次没达到目的,就抓紧时间,continue,继续下1次)
      • 2.8.10 编程技巧:输出斐波那契数列
      • 2.8.11 视频:循环 、 range 、九九乘法表
      • 2.8.12 循环作业题
        • 2.8.12.1 阅读程序:给蜜蜂盖房子
        • 2.8.12.2 阅读程序:蜜蜂盖房子的方式
        • 2.8.12.3 阅读程序:奥运五环设计
    • 2.9 (不讲)游戏:保卫家园
      • 2.9.1 创建:1个敌人,1颗子弹,我
      • 2.9.2 让子弹飞一会儿
      • 2.9.3 当子弹接近敌人,就同归于尽
      • 2.9.4 如何用空格键 开枪
      • 2.9.5 让敌人动起来
      • 2.9.6 通过左右方向键,让我动起来
      • 2.9.7 敌、我、子弹,通过图片代替箭头
      • 2.9.8 让我与子弹一起移动;让速度快一些
    • 2.10 常用语句速查表
    • 2.11 6道绘图作业题
      • 2.11.1 *随机选拔5人打篮球
      • 2.11.2 海龟遍历
        • 2.11.2.1 信安2116黄国湛
        • 2.11.2.2 信安2115林忠宝
        • 2.11.2.3 人智2114杨基镕
        • 2.11.2.4 人智2115黄辉强
        • 2.11.2.5 人智2113姚恩城
        • 2.11.2.6 信安2115朱锦钊
        • 2.11.2.7 信安2115冯继爽
        • 2.11.2.8 人智2113葛文涛
        • 2.11.2.9 信安2116陈梓荣
        • 2.11.2.10 信安2115洪湘铭
      • 2.11.3 盗取金币
      • 2.11.4 (只欣赏)函数2:绘制谢尔宾斯基三角形
      • 2.11.5 (欣赏)画树
  • 3 网络2101、2、3班作品
    • 3.1 2101班作品
      • 3.1.1 《六边形拼图》简俊熙、谢杰伟
      • 3.1.2 《缤纷万花筒》唐煜森、吴玉发
      • 3.1.3 《6色毛线团》韦镇森
      • 3.1.4 《可爱的海龟》谢政
      • 3.1.5 《心》黄梓锋、冯子豪、林汉样、陈灿峰
      • 3.1.6 《六角星》廖友俊\陈北林
      • 3.1.7 《光盘》卢溥植、陈伟恒
      • 3.1.8 《大熊猫》佘婉霓
      • 3.1.9 《黑苹果公司标》赖烨
      • 3.1.10 《花脸蛋》郑莹莹、张金炜、朱康培
      • 3.1.11 《靶心》李增孝
      • 3.1.12 动态画面《星空闪烁》王威帆、范志豪、庄悦
      • 3.1.13 《花朵》卢宇斌
      • 3.1.14 《彩虹》袁乐添 、杨宇鹏
      • 3.1.15 《海绵宝宝》黎杰
      • 3.1.16 《猜数字》何祥铭
      • 3.1.17 《远方》李嘉莹
      • 3.1.18 《星系》陈伟钟、陈金利、吴全昌
      • 3.1.19 《窗口中的按钮》颜志鑫
      • 3.1.20 《羽毛球场》曾谢佳灿
      • 3.1.21 《钟表》谢立安
      • 3.1.22 《折扇》周肇豪
    • 3.2 2102班作品
      • 3.2.1 《奥运五环》刁泳煌、陈永坚、陈浩达、区显森
      • 3.2.2 《兔子》卢奕钿、方诗婷
      • 3.2.3 ♥《心》刘佳娴、程小军、杨楚婷、黄伟烽、伦泽尧、潘俊旭
      • 3.2.4 《苹果》刘聪玲
      • 3.2.5 《棒棒糖》邱敏琳
      • 3.2.6 《螺旋7》陈灿彬
      • 3.2.7 《摆花朵》刘泽鸿
      • 3.2.8 《太阳》程粤城、董观裕
      • 3.2.9 《懵懂》赖琪毅
      • 3.2.10 《织毛衣》唐芝婷
      • 3.2.11 《轮胎?》谭权炜
      • 3.2.12 《怪表情》罗崇跃
      • 3.2.13 《献给未来的她》廖志伦
      • 3.2.14 《一朵花》张运法、莫楚琳
      • 3.2.15 《北斗七星》马曌
      • 3.2.16 《Android》韦昌康
      • 3.2.17 《原子》徐坚华、林伟丰
      • 3.2.18 动态画面《大雪纷飞》刘日华
      • 3.2.19 暂时缺作品
    • 3.3 2103班作品
      • 3.3.1 《雪花》苏炽烽
      • 3.3.2 《史蒂夫》刘宇涵
      • 3.3.3 《我好方QAQ》陈镇鑫
      • 3.3.4 《笑泪了》许铭鑫
      • 3.3.5 《漂亮几何》黎银堂、吴全昌
      • 3.3.6 《窗》庄怡灵
      • 3.3.7 《雪》章镓泰
      • 3.3.8 《折纸飞机》方志鑫、张锦、黄泽钦
      • 3.3.9 《彩色螺旋》徐景涛、廖一鸣、陈建裕、刘俊涛
      • 3.3.10 《手捧红心》李祖阳、杨耿城、郑纯华
      • 3.3.11 《机器猫》罗杰凯
      • 3.3.12 《冰墩墩》黎林辉
      • 3.3.13 《地球、卫星、星空》詹萌福
      • 3.3.14 《八卦图》李腾
      • 3.3.15 《呆萌的雄狮》梁苑意
      • 3.3.16 《小猪佩奇》钱志娴
      • 3.3.17 《宇宙旋转》张恩齐
      • 3.3.18 《天安门广场升国旗》王志伟
      • 3.3.19 《四层花瓣》林梓珊
      • 3.3.20 《分形树》钟灼彬、丘金婵
      • 3.3.21 《一拳超人》杨文俊
      • 3.3.22 《彩色风车叶子》林少佳
      • 3.3.23 《嘲》吴文政
    • 3.4 作业点评
      • 3.4.1 报考学校
      • 3.4.2 考分分等级
      • 3.4.3 解释 倒序 s[::-1]
  • 4 基本数据类型
    • 4.1 加 减 乘 除 余 幂 字符串重复
      • 4.1.1 运算函数
      • 4.1.2 求余 % 的应用视频
    • 4.2 变量
      • 4.2.1 如何给变量起名字,有效标识符
      • 4.2.2 * 2个变量交换值
      • 4.2.3 变量在原来的基础上,加1
      • 4.2.4 变量为什么要修改自身的值?
      • 4.2.5 修改变量自身值的缩写运算符有:
    • 4.3 数据类型
    • 4.4 比大小
    • 4.5 逻辑运算
      • 4.5.1 逻辑运算总结
      • 4.5.2 15 and 18
    • 4.6 (了解内容)
      • 4.6.1 位运算(了解)
      • 4.6.2 进制的表达
      • 4.6.3 是否在同一地址下 is 和  is not
      • 4.6.4 变量的内存安排
      • 4.6.5 赋值、浅拷贝、深拷贝
      • 4.6.6 了解内容:复数
    • 4.7 是成员吗 in ,  not  in
    • 4.8 浮点数表达方式
    • 4.9 字符串
      • 4.9.1 *字符串总结
    • 4.10 *基础语法
    • 4.11 *类型的自动转换和强制转换
      • 4.11.1 *类型的强制转换 总结
    • 4.12 习题
    • 4.13 总结
  • 5 分支结构 if   else   elif
    • 5.1 流程图(高考题)
    • 5.2 (感兴趣)走迷宫(让电脑拥有人的判断能力)
      • 5.2.1 (阅读)走迷宫的算法(编程思路)
      • 5.2.2 (阅读)改进:让海龟少转身
      • 5.2.3 (阅读)海龟不需要乱转身啦
      • 5.2.4 (阅读)对上一小节,增加注释
      • 5.2.5 (阅读)去掉前期修饰的程序
      • 5.2.6 (阅读)通过求余,简化代码
      • 5.2.7 (阅读)字典,简化了程序
      • 5.2.8 (阅读)先选直走,左,右,后
      • 5.2.9 (阅读)程序哪里错了?
    • 5.3 if
      • 5.3.1 晴天踢球,雨天看书。通过 if 确定
      • 5.3.2 接收键盘输入 input()
      • 5.3.3 使用图章
      • 5.3.4 设计一个登录程序,从而进入邮箱、网站
      • 5.3.5 *统计及格人数,如何保存数据?
    • 5.4 if   else
      • 5.4.1 空气颗粒,PM2.5
      • 5.4.2 学会看流程图
      • 5.4.3 用 if   else 编写 晴雨天的计划
      • 5.4.4 改写手机电量状况的程序
      • 5.4.5 将 if      else 简写
      • 5.4.6 作业:判断这个程序结果
      • 5.4.7 取得印章
    • 5.5 elif
      • 5.5.1 关于 elif
      • 5.5.2 将流程图改为代码
      • 5.5.3 空气质量等级归类
    • 5.6 习题
  • 6 序列(字符串、元组、列表)
    • 6.1 组合类型概述
    • 6.2 序列类型的共性
    • 6.3 序列类型的12个操作
    • 6.4 网络2101、2102、2013
      • 6.4.1 网络2101、2102、2103混合
      • 6.4.2 (素材)四个班乱序名单
      • 6.4.3 (素材)四个班字符串
      • 6.4.4 (素材)名字、成绩组合
    • 6.5 20大党代表2296
      • 6.5.1 主席团常务委员会46
      • 6.5.2 主席团成员243
        • 6.5.2.1 统计姓氏
  • 7 字符串
    • 7.1 字符串函数
      • 7.1.1 阅读:用计算机研究《红楼梦》
      • 7.1.2 *借助 len() 求字数(包括空格)
      • 7.1.3 str.count( ):统计男生人数,女生人数
      • 7.1.4 思考题(不必做):统计重名学生
        • 7.1.4.1 *尝试:把汉字流程图改写为代码
      • 7.1.5 (研究)哪些名字是重复的?
        • 7.1.5.1 * 查重复 list.remove( )
        • 7.1.5.2 * 查重复 集合、count( )
        • 7.1.5.3 * 去掉姓,统计全班名字的字的频率
      • 7.1.6 (研究)同名不同姓
      • 7.1.7 (研究)147人中,哪个字出现的最多?
      • 7.1.8 作业:统计哪些字的频率最高
    • 7.2 *学字符串函数,寻求帮助
    • 7.3 格式化表达
      • 7.3.1 对齐,填充
      • 7.3.2 举例
      • 7.3.3 f'abc{变量}def'
    • 7.4 count 、 find 、rfind 查找位置
      • 7.4.1 * str.index(子串 , 起始位置 )
      • 7.4.2 * index():搜索 某词的位置
      • 7.4.3 index( ) 应用
    • 7.5 split 、splitlines 将字符串分割成列表元素
    • 7.6 strip、replace、join
      • 7.6.1 英文《哈姆雷特》词频统计
      • 7.6.2 * 字符串不能更改
      • 7.6.3 屏蔽脏话,replace
    • 7.7 *切片:字符串通过索引输出
      • 7.7.1 切片,截取“广东机电职业技术学院”
    • 7.8 作业:字符串函数练习
      • 7.8.1 * 在几千篇文章中,找人,并获取文章标题
      • 7.8.2 字符串练习题
      • 7.8.3 统计2113 2114 2115 2116名字
      • 7.8.4 把一句话倒过来
      • 7.8.5 集美大学视频:字符串操作
      • 7.8.6 (了解) str() 与 repr()
    • 7.9 针对英文的操作函数
      • 7.9.1 *str.count() 统计字母 a 出现的次数
      • 7.9.2 作业:字母 a 出现的次数,占全部字符的百分比
      • 7.9.3 作业:单词 the 出现的次数
      • 7.9.4 按照英文句号和问号划分,本文有多少句?
      • 7.9.5 大写全部转为小写
      • 7.9.6 把每个单词的第一个字母变为大写
      • 7.9.7 字符串函数有哪些?
      • 7.9.8 把其他标点符号,都变为空格
      • 7.9.9 以空格为分隔符,把一段文字的每个单词分离
      • 7.9.10 获取文章的每个词,组成一个列表
      • 7.9.11 统计这篇文章的单词数量
      • 7.9.12 (了解)字符大小写切换
      • 7.9.13 判断字符 数字
    • 7.10 字符串总结
  • 8 列表
    • 8.1 什么是列表?列表应用在什么场合?
      • 8.1.1 列表的应用:国旗
    • 8.2 *创建列表的几种方法
      • 8.2.1 通过加法,生成更大的列表
      • 8.2.2 通过乘法,生成更大的列表
      • 8.2.3 *紧凑方式生成列表
      • 8.2.4 2个列表所有项的组合
      • 8.2.5 对应项,生成新列表
      • 8.2.6 *作业:对应项合并
    • 8.3 **列表操作:添加 删除 查找 统计 排序 清空
      • 8.3.1 * append 与 extend 区别
      • 8.3.2 * 追加二维列表元素
      • 8.3.3 除去二维列表项中的元素
      • 8.3.4 *把二维列表表转化一维列表
      • 8.3.5 把一维改二维
      • 8.3.6 把 嵌套列表,变为 一层列表
      • 8.3.7 作业:对列表进行增 删
      • 8.3.8 增、删、改、查
    • 8.4 神奇的排序:lambda技术
      • 8.4.1 逆序函数 reverse()
      • 8.4.2 汇总:max min sort reverse
      • 8.4.3 按成绩排名
    • 8.5 *游戏:石头 剪子 布 (编程技巧)
      • 8.5.1 对游戏的改进
    • 8.6 列表 总结
      • 8.6.1 *[ ... ]
    • 8.7 *作业:排序(lambda)
      • 8.7.1 键盘输入成绩,求和
      • 8.7.2 作业:获取您的姓名
      • 8.7.3 列表项合并
      • 8.7.4 如何查找自己的成绩
      • 8.7.5 *查找自己的分数;班级汇总
      • 8.7.6 作业:对列表中的元素:增 删 改 查
      • 8.7.7 找老乡
      • 8.7.8 列表练习
        • 8.7.8.1 作业:能力提升
        • 8.7.8.2 (欣赏)转置
        • 8.7.8.3 将列表转换为字符串
        • 8.7.8.4 视频:设计抽奖程序
  • 9 元组
    • 9.1 *什么是元组?应用场景
      • 9.1.1 元组应用:国旗
    • 9.2 *创建元组,使用元组
      • 9.2.1 2个元组相加
      • 9.2.2 作业:二个元组合并,生成新元组
      • 9.2.3 元组乘以整数
      • 9.2.4 *应用:一个随机提问的程序
      • 9.2.5 作业:将物理学家的名字字符串分开
      • 9.2.6 推断:通过函数 tuple 对一个作业:字符串进行处理,会产生什么结果
      • 9.2.7 作业:去掉元组中的空格字符
      • 9.2.8 元组中的项,可以包含各式各样的类型
    • 9.3 *元组给变量赋值
      • 9.3.1 *规定:用元组变量来接收函数的多个返回值
    • 9.4 游戏:石头 剪子 布
    • 9.5 *总结元组
    • 9.6 作业
      • 9.6.1 习题
  • 10 函数
    • 10.1 * 函数结构
      • 10.1.1 广州塔的另一种建设形式
      • 10.1.2 应用:自定义函数用在《海龟走迷宫》
        • 10.1.2.1 视频:自己设计的函数的威力
      • 10.1.3 * 返回值(加密、解密)
    • 10.2 已经使用过的函数
      • 10.2.1 * print 函数
      • 10.2.2 回顾 int 函数(取整)
      • 10.2.3 回顾 eval 函数(运算字符串)
    • 10.3 * lambda 匿名函数
      • 10.3.1 阅读 lambda函数,推测结果
      • 10.3.2 lambda 函数的体验 *  **
      • 10.3.3 lambda 应用
      • 10.3.4 * lambda的2种用法
    • 10.4 现成的函数,怎么用?
    • 10.5 * 参数顺序,可以改变吗?
    • 10.6 ** 有默认值的参数
    • 10.7 ** 参数个数不定
      • 10.7.1 理解内置函数
      • 10.7.2 arg    *args    **kwargs
      • 10.7.3 推测结果
      • 10.7.4 参数调用案例
      • 10.7.5 (参考)函数的返回值是匿名函数
      • 10.7.6 函数的参数,要求是函数类型
    • 10.8 * pass 模块化设计 过程
    • 10.9 68个内置函数
      • 10.9.1 (参考) filter1
      • 10.9.2 (参考) filter2
      • 10.9.3 (参考) filter3
      • 10.9.4 (参考) map
      • 10.9.5 zip
      • 10.9.6 (参考) reduce
      • 10.9.7 (参考) yield (让步)
    • 10.10 (了解)同名变量的LEGB 规则(global nonlocal)
      • 10.10.1 推测结果
    • 10.11 (参考) 函数设计练习
      • 10.11.1 设计项目:《学生管理系统》
      • 10.11.2 抽奖(def)
      • 10.11.3 防止抽奖耍赖
      • 10.11.4 统计点击次数
      • 10.11.5 软件登录界面 设计案例
      • 10.11.6 改进:增加label
      • 10.11.7 函数里面套函数(案例:秒表
      • 10.11.8 奇特的形参寿命
    • 10.12 (不讲)装饰器——函数参数是函数
      • 10.12.1 不用装饰器,参数就是函数
      • 10.12.2 可以这样写
      • 10.12.3 应用在网页设计
      • 10.12.4 @classmethod
      • 10.12.5 @staticmethod
    • 10.13 闭包——调用内部函数
    • 10.14 函数总结
      • 10.14.1 (参考) 函数参数中的* /
    • 10.15 函数习题
  • 11 集合 set
    • 11.1 集合
      • 11.1.1 应用场合
      • 11.1.2 集合的特点
    • 11.2 * 创建集合
    • 11.3 * 元素的增、删、查
      • 11.3.1 * 增加1个元素 add
      • 11.3.2 * 删除元素
      • 11.3.3 * 判断 某元素 在不在集合里
    • 11.4 集合之间:交、并、补、子、超
      • 11.4.1 * 交集
      • 11.4.2 * 并集
      • 11.4.3 * 补集(差集)
      • 11.4.4 * 对称补集(对称差集)
      • 11.4.5 * 集合之间的关系
    • 11.5 * 集合 总结
    • 11.6 作业
      • 11.6.1 独特优势
      • 11.6.2 选2门课的人
      • 11.6.3 选过课的人
      • 11.6.4 统计文章的单词数量
      • 11.6.5 统计一下这段文字的情况
      • 11.6.6 集合的交、并
      • 11.6.7 补集(差集)
      • 11.6.8 判断:有交集?子集?超集?比大小
      • 11.6.9 2个班 有3门课,选修情况分析
      • 11.6.10 *二个集合之间的运算(交集 并集 差 异或(对称差集)
      • 11.6.11 (参考)多个集合合并 | update() union()
  • 12 字典
    • 12.1 * 字典
      • 12.1.1 * 生成字典
      • 12.1.2 字典的最大用途
    • 12.2 * 字典的增、删、改、查
      • 12.2.1 * 增加一个元素(修改元素值)
      • 12.2.2 * 字典合并 update()
      • 12.2.3 * 删除元素 del pop(元素)
      • 12.2.4 * 修改元素(只能修改值)
      • 12.2.5 * 查找元素、值
    • 12.3 对字典的操作
      • 12.3.1 * 通过键,读取值
      • 12.3.2 * 字典.get(键)·PK·字典[键]
      • 12.3.3 * 获取所有键
      • 12.3.4 * 获取所有值
      • 12.3.5 * 获取键值对(遍历)
      • 12.3.6 * 字典.get(键,0)的意义
    • 12.4 ** 统计每个字符出现的次数
    • 12.5 * 将字典转换为列表、元组
    • 12.6 字典 总结
    • 12.7 集合字典练习
      • 12.7.1 ** 走访广东机电职业技术学院
      • 12.7.2 猜测结果
      • 12.7.3 * 字典的几处应用
      • 12.7.4 按照成绩排名
      • 12.7.5 统计元素个数,比较2个字典
      • 12.7.6 阅读程序,判断结果
      • 12.7.7 视频案例:查询城市
  • 13 类  对象
    • 13.1 类
      • 13.1.1 为什么选择了类-对象?
      • 13.1.2 回顾:对象的创建和使用
      • 13.1.3 列表的类、对象、函数、self
      • 13.1.4 作业:体会 对象.函数( )
    • 13.2 __init__( ) 构造函数
      • 13.2.1 构造函数 __init__() 例题
      • 13.2.2 Student( )的括号里,放什么参数?
      • 13.2.3 __init__( )中,存放什么呢?
      • 13.2.4 作业:构造函数训练
      • 13.2.5 作业:构造函数的练习
      • 13.2.6 作业:__init__( )练习
    • 13.3 self
      • 13.3.1 self的用法
      • 13.3.2 self.age VS age
      • 13.3.3 没有self 的变量,是临时变量
      • 13.3.4 作业:对象变量age
      • 13.3.5 体会 self.school 在其他地方也可以被正确识别
    • 13.4 继承
      • 13.4.1 单继承
      • 13.4.2 多继承
      • 13.4.3 重写父类方法
    • 13.5 多态,统一接口(鸭子类型)
    • 13.6 类属性和对象属性
      • 13.6.1 类属性(共同属性)
        • 13.6.1.1 作业:类属性体验
        • 13.6.1.2 作业:改校名啦
        • 13.6.1.3 体会:把类属性变为对象属性
        • 13.6.1.4 母校校名修改了吗?还是另有隐情?
      • 13.6.2 对象属性(独特属性)
    • 13.7 实例方法、类方法、静态方法
      • 13.7.1 调用(实例方法、类方法、静态方法)
        • 13.7.1.1 (了解)@classmethod、@staticmethod
    • 13.8 项目:学生成绩系统
    • 13.9 作业
      • 13.9.1 属性装饰符:@property @.setter
  • 14 异常
    • 14.1 怎么回事?
      • 14.1.1 *异常解决办法
      • 14.1.2 *try ... except
      • 14.1.3 *顺利解决问题,程序继续进行
      • 14.1.4 *用户引起的错误
      • 14.1.5 用户输入不当,造成的错误
    • 14.2 try ... except ... except ... else
      • 14.2.1 try ... except. .. else
      • 14.2.2 尽力诊断,找到最合理的解释
    • 14.3 try ... except ... finally
      • 14.3.1 finally——钢铁意志
      • 14.3.2 区别
    • 14.4 *获取异常的问题所在,并告诉用户
      • 14.4.1 *获取错误类型原因
    • 14.5 (了解)终止行为
    • 14.6 (了解)人为制造错误
      • 14.6.1 (了解) raise
        • 14.6.1.1 raise ValueError( )
        • 14.6.1.2 raise TypeError( )
        • 14.6.1.3 raise Exception( )
      • 14.6.2 (了解)assert 断言
        • 14.6.2.1 assert 断言
        • 14.6.2.2 assert 断言
    • 14.7 *预定义清理:with
    • 14.8 “异常”总结
    • 14.9 习题
      • 14.9.1 常见异常类型
      • 14.9.2 try   except   else
      • 14.9.3 避免异常,还有什么方法?
        • 14.9.3.1 避免异常的方法
  • 15 文件的基本操作
    • 15.1 文件的:打开、关闭;读、写
      • 15.1.1 open( )函数的格式(缩写)
      • 15.1.2 open( )模式简介
      • 15.1.3 文件的 读函数、写函数
    • 15.2 读文件
      • 15.2.1 作业:读文件
      • 15.2.2 按行读取文件内容
      • 15.2.3 作业:按行打印文件,只打印奇数行
      • 15.2.4 用 panda 的 read_table() 读取 txt 文件
    • 15.3 with
      • 15.3.1 作业:用with  as语句,读文件
    • 15.4 写文件
      • 15.4.1 作业:创建1个文件,并写入“我来了”
      • 15.4.2 作业:在1个文件的尾部追加“我也报名”
    • 15.5 glob:获取指定文件夹的所有文件名
    • 15.6 * 读 CSV文件(csv)
      • 15.6.1 (参考) 读CSV,绘制柱形图(pandas)
      • 15.6.2 *读取多个文件的内容
    • 15.7 * 将txt写入xlsx(pandas)
      • 15.7.1 * 读excel文件(pandas)
      • 15.7.2 *多个xlsx 合并存放1个txt(glob)
      • 15.7.3 * 多个xlsx 合并存放为1个xlsx(pandas)
      • 15.7.4 选择工作表、设置行索引 index_col
      • 15.7.5 默认的 行、列 索引
      • 15.7.6 选择某几列 usecols
      • 15.7.7 读取前几行 nrows
      • 15.7.8 获取数据表的大小 shape
      • 15.7.9 获取表结构 info()
    • 15.8 word文件操作
      • 15.8.1 * 只有将doc转换为docx,才能打开word
      • 15.8.2 将一批doc文件转换为docx
      • 15.8.3 * 将一批docx文件的第3、7行读出,放到一个文件里
      • 15.8.4 doc转docx,读出文字
    • 15.9 总结和练习
      • 15.9.1 (参考)重定向,从文件获取数据
      • 15.9.2 重定向,输出数据到文件
      • 15.9.3 案例和练习
        • 15.9.3.1 删除文件 os.remove
        • 15.9.3.2 通过导入数据,获取迷宫数据
        • 15.9.3.3 作业:用上节的程序,改变迷宫的图片和数据,完成走迷宫
        • 15.9.3.4 例1,写入文件
        • 15.9.3.5 例2,读程序
        • 15.9.3.6 例3,在某处插入文字
        • 15.9.3.7 例4,读取文件的三种方式
        • 15.9.3.8 * 多个文件合并
        • 15.9.3.9 * 对多个文件,进行频率分析
        • 15.9.3.10 * 多文件,词云
      • 15.9.4 (参考)设计窗口,打开文件夹并读取某个文件
  • 16 汉语切分词,生成词云
    • 16.1 安装jieba过程
      • 16.1.1 安装词云库的过程
    • 16.2 jieba库,切词
      • 16.2.1 3种模式
      • 16.2.2 汉语词频分析
    • 16.3 分析这段话的大致内容
    • 16.4 对文件的全部文字切词,并统计频率
    • 16.5 按词性取词(名词、动词、副词)
      • 16.5.1 详细的词性对照表
    • 16.6 wordcloud  词云库
    • 16.7 词云
      • 16.7.1 词云库的安装
      • 16.7.2 词云参数的调整
      • 16.7.3 用 love 一个词,生成词云
      • 16.7.4 将英文的 3 句话,生成词云
      • 16.7.5 通过读取文件,生成词云
      • 16.7.6 图像云
      • 16.7.7 解决汉字无法显示问题
      • 16.7.8 汉字云
        • 16.7.8.1 汉字分开、生成云
        • 16.7.8.2 汉字的词分开,生成云
        • 16.7.8.3 分词包
        • 16.7.8.4 联合国生物多样性峰会
        • 16.7.8.5 对词云增加轮廓线 contour
        • 16.7.8.6 减少词汇 max_words
        • 16.7.8.7 湖北省地图,有防病毒科普
    • 16.8 爬取 music.163.com 的评论
  • 17 模块
    • 17.1 模块的基本使用
    • 17.2 模块调用
    • 17.3 包
    • 17.4 模块的发布?
    • 17.5 模块的安装?
  • 18 迭代器 生成器
    • 18.1 迭代器
    • 18.2 迭代器变量,遍历
    • 18.3 迭代器设计
    • 18.4 迭代器必备:iter 、next
    • 18.5 斐波那契数列迭代器
    • 18.6 迭代对象
    • 18.7 创建生成器函数 (yield  next)
  • 19 数据分析 ,pandas 库
    • 19.1 安装 pandas
    • 19.2 pandas库 三种数据结构
    • 19.3 series对象的使用
    • 19.4 将字典转化为series对象
    • 19.5 用series,统一分配
    • 19.6 series对象的使用
    • 19.7 DataFrame对象的创建
    • 19.8 字典创建DataFrame
    • 19.9 列表数据创建DataFrame
    • 19.10 通过DataFrame读、写文件
    • 19.11 分组 聚合
    • 19.12 数据清洗
    • 19.13 pandas 绘图
  • 20 正则表达式
    • 20.1 测试正则表达式的网站
    • 20.2 常用匹配规则
      • 20.2.1 分类叙述
      • 20.2.2 模式
    • 20.3 找到所有 findall( )
      • 20.3.1 获取网址,电话
    • 20.4 找到第一个 search()
    • 20.5 字符串的头部 match()
    • 20.6 拆分 split()
    • 20.7 迭代器(包含了找到的所有) finditer()
    • 20.8 替换 sub()
    • 20.9 案例
      • 20.9.1 二十大代表,有多少重名
  • 21 网络数据采集
    • 21.1 anaconda的安装过程及使用
    • 21.2 初识urllib Jupyter Notebook的使用
      • 21.2.1 读网页
      • 21.2.2 分析urllib的parse
      • 21.2.3 分析urllib的unparse
      • 21.2.4 get访问baidu首页
      • 21.2.5 post访问QQ空间
    • 21.3 访问指定url,获取访问结果
      • 21.3.1 打开百度首页,获取url ,获取服务器信息 info(),查看getcode()
      • 21.3.2 抓取百度首页的title
      • 21.3.3 抓取了百度的首页所有内容
      • 21.3.4 从百度搜索‘百香果’前10页的信息
      • 21.3.5 用 read() 读取网页
      • 21.3.6 用 read().decode('urt-8') 读取网页,并解码
      • 21.3.7 通过切片,获取一部分网页内容
      • 21.3.8 获取响应头参数:readers
      • 21.3.9 code  status 响应状态:200 表示正常响应
    • 21.4 设置http请求头参数,使爬虫程序更加像浏览器
      • 21.4.1 通过 www.httpbin.org 进行测试
      • 21.4.2 冒充普通浏览器
      • 21.4.3 header冒充浏览器,访问百度
      • 21.4.4 python冒充手机
    • 21.5 PhantomJS针对反爬,无界面浏览器
      • 21.5.1 通过爬虫,获取搜索结果图
      • 21.5.2 通过爬虫,搜索并读取网页的标题
      • 21.5.3 通过爬虫,搜索并获取图片
      • 21.5.4 增加了模拟滑动图片
      • 21.5.5 读取图片并保存1
      • 21.5.6 读取图片并保存2
      • 21.5.7 读取百度贴吧的楼主内容
      • 21.5.8 挑选某一标题,失败
      • 21.5.9 百度贴吧的标题,帖子数量。失败
      • 21.5.10 打开百度贴吧的某层帖子。失败
    • 21.6 使用GET和POST方法,向服务器传递参数
      • 21.6.1 get
      • 21.6.2 post
    • 21.7 学会处理一些简单异常
    • 21.8 使用Requests优化页面爬取过程
    • 21.9 构建requests爬虫程序框架
    • 21.10 定制http请求头,向服务器传递参数
    • 21.11 使用会话对象处理cookie
    • 21.12 解析文本数据
    • 21.13 使用正则表达式解析文本内容
    • 21.14 解析MS OFFICE类数据
    • 21.15 Web身份认证技术概述
    • 21.16 自动跨越HTTP Basic认证1
    • 21.17 自动跨越HTTP Basic认证2
    • 21.18 《python爬虫开发实战教程》蜗牛
      • 21.18.1 分析编码格式
      • 21.18.2 下载网页到本地:urlretrieve()
      • 21.18.3 几个常用函数
      • 21.18.4 新建课程目录
      • 21.18.5 新建课程目录
      • 21.18.6 新建课程目录
  • 22 爬取网页(urllib、requests)模块
    • 22.1 urllib简单案例
      • 22.1.1 将结果存放到窗口
      • 22.1.2 只获取温度值
      • 22.1.3 获取的温度,通过窗口显示
      • 22.1.4 获取当天的最低温度、最高温度
      • 22.1.5 窗口显示低温和高温
      • 22.1.6 获取网页中的电话号码
    • 22.2 request = urllib.request.urlopen()
      • 22.2.1 urlretrieve() 生成文件
      • 22.2.2 针对反爬,发送自己的电脑信息
      • 22.2.3 quote() 将汉字转为Unicode
    • 22.3 通过post发送信息给web服务器
    • 22.4 requests模块
      • 22.4.1 requests.get
      • 22.4.2 requests.post
      • 22.4.3 从网页里,提取需要内容
      • 22.4.4 单线程与多线程
      • 22.4.5 读取小说每一章的地址
      • 22.4.6 从多个网页中,读取整部小说
      • 22.4.7 多线程的应用
      • 22.4.8 失败案例
      • 22.4.9 新建课程目录
      • 22.4.10 新建课程目录
    • 22.5 新建课程目录
    • 22.6 新建课程目录
  • 23 网络信息安全
    • 23.1 加密(对字符编码加1)
    • 23.2 RSA公钥加密,私钥解密
    • 23.3 RSA实践
    • 23.4 HASH 算法
  • 24 数组(numpy库)
    • 24.1 创建数组
    • 24.2 list 与 数组 的区别
    • 24.3 numpy 数据类型
    • 24.4 数组的属性
    • 24.5 数组的索引 切片方法
    • 24.6 数组转换
    • 24.7 形状操作的方法
    • 24.8 数组计算的方法
    • 24.9 数学运算函数
    • 24.10 比较运算函数
    • 24.11 二维数组生成图像
  • 25 四大常用绘图库
    • 25.1 四种绘图库的比较
    • 25.2 新建课程目录
  • 26 seaborn 与数据可视化
    • 26.1 步骤 数据类型
    • 26.2 numpy 准备数据
    • 26.3 pandas的DataFrame 准备数据
    • 26.4 库:nmupy  pandas  matplotlib
    • 26.5 seaborn 简介
    • 26.6 常见的绘图方法
    • 26.7 统计关系图
    • 26.8 散点图
    • 26.9 折线图
    • 26.10 分类数据图
    • 26.11 条状散点图 stripplot
    • 26.12 分类分布图 箱型图 boxplot
    • 26.13 分类分布图 小提琴图 violinplot
    • 26.14 分类估计图
    • 26.15 条形图 barplot
    • 26.16 计数条形图 countplot
    • 26.17 新建课程目录
    • 26.18 新建课程目录
  • 27 窗体、画布、按钮
    • 27.1 创建一个窗体(引入,对象)
      • 27.1.1 窗体 标签
      • 27.1.2 按钮 标签 函数
      • 27.1.3 事件
      • 27.1.4 属性
      • 27.1.5 三种布局
      • 27.1.6 entry 文本框
      • 27.1.7 菜单
      • 27.1.8 新建课程目录
      • 27.1.9 新建课程目录
    • 27.2 红色画布(= ,字符串)
      • 27.2.1 四个画布的定位
      • 27.2.2 拓展:把四个画布摆放成正方形
      • 27.2.3 拓展:展示九个画布
    • 27.3 产生按钮
  • 28 窗体控件,循环往复
    • 28.1 多控件技术(循环,列表)
    • 28.2 列表的研究
    • 28.3 观察单步执行情况
    • 28.4 创建一个9 * 9 =81 个格子的窗体
    • 28.5 9*9 多颜色窗体
    • 28.6 随机数,让世界千变万化
  • 29 按钮控制
    • 29.1 点一下按钮,小球动一下
      • 29.1.1 离开窗体,再回到左边
    • 29.2 自动移动
      • 29.2.1 发射:不断地从左到右
      • 29.2.2 小球反弹
    • 29.3 显示图片
      • 29.3.1 按钮控制打开图片
      • 29.3.2 1个按钮打开图片,另一个关闭图片
  • 30 人机对话
    • 30.1 扫地机器人
    • 30.2 设计迷宫游戏1
    • 30.3 设计迷宫游戏2
    • 30.4 设计迷宫游戏3
    • 30.5 请分析,迷宫游戏失败的原因
    • 30.6 为什么这个程序,就能出来?
    • 30.7 打开word文档,并写入内容
    • 30.8 第四课时
  • 31 记事本
    • 31.1 记事本
    • 31.2 保存文本框的内容
      • 31.2.1 对话框选择保存位置 名字 类型
    • 31.3 读取utf-8文本文件内容
    • 31.4 第四课时
  • 32 枚举类型
    • 32.1 什么是枚举
    • 32.2 月份的枚举使用
    • 32.3 星期的枚举应用
    • 32.4 枚举类的创建和使用
    • 32.5 枚举总结
  • 33 新建课程目录
    • 33.1 python 基础、高阶、应用领域
    • 33.2 查看 “内建函数”
    • 33.3 新建课程目录
    • 33.4 新建课程目录
    • 33.5 新建课程目录
    • 33.6 新建课程目录
  • 34 趣味程序集锦
    • 34.1 只能登录3次
    • 34.2 登录密码错3次,锁定
    • 34.3 程序阅读:购物车程序
    • 34.4 进度条
    • 34.5 科赫雪花
    • 34.6 生成二维码
    • 34.7 在浏览器中访问http://localhost:8000目录
    • 34.8 神奇的双摆
    • 34.9 正在调试:聊天小程序
    • 34.10 聊天机器人
    • 34.11 聊天机器人2
    • 34.12 画一个鹦鹉螺
    • 34.13 三国演义出现最多的词 jieba
    • 34.14 新建课程目录
    • 34.15 新建课程目录
    • 34.16 五子棋
    • 34.17 12.7.1
      • 34.17.1 陈镇鑫
      • 34.17.2 陈灿锋
      • 34.17.3 佘婉霓
      • 34.17.4 杨雄伟
  • 35 参考书
    • 35.1 Python GUI Programming Cookbook 2nd - 2017
    • 35.2 Tkinter GUI Application Development Blueprints 2nd - 2018
    • 35.3 Tkinter GUI Programming By Example(conv) - 2018
    • 35.4 Tkinter讲义
    • 35.5 WxPython_Application_Development_Cookbook - 2015
    • 35.6 对比Excel,轻松学习Python数据分析-试读
    • 35.7 python编程从0到1 第1章
68个内置函数

https://blog.csdn.net/qq_42554007/article/details/107739533            

学习Python一定要吃透这68个内置函数

作者:pypypypy 来源:博客园

内置函数就是直接可以用的函数,比如print.,input等。截止到版本3.6.2 python一共提供了68个内置函数,具体如下

abs()

dict()

help()

min()

setattr()

all()

dir()

hex()

next()

slice()

any()

divmod()

id()

object()

sorted()

ascii()

enumerate()

input()

oct()

staticmethod()

bin()

eval()

int()

open()

str()

bool()

exec()

isinstance()

ord()

sum()

bytearray()

filter()

issubclass()

pow()

super()

bytes()

float()

iter()

print()

tuple()

callable()

format()

len()

property()

type()

chr()

frozenset()

list()

range()

vars()

classmethod()

getattr()

locals()

repr()

zip()

compile()

globals()

map()

reversed()

__import__()

complex()

hasattr()

max()

round()


delattr()

hash()

memoryview()

set()


各个内置函数的详细用法,可以参考:

    https://docs.python.org/zh-cn/3.7/library/functions.html

或者:

    https://www.runoob.com/python/python-built-in-functions.html


  • 和数字相关

    • 1. 数据类型

    • 2. 进制转换

    • 3. 数学运算

  • 和数据结构相关

    • 1. 序列

    • 2. 数据集合

    • 3. 相关内置函数

  • 和作用域相关

  • 和迭代器生成器相关

  • 字符串类型代码的执行

  • 输入输出

  • 内存相关

  • 文件操作相关

  • 模块相关

  • 帮  助

  • 调用相关

  • 查看内置属性

和数字相关

1. 数据类型

  • bool : 布尔型(True,False)

  • int : 整型(整数)

  • float : 浮点型(小数)

  • complex : 复数

2. 进制转换

  • bin() 将给的参数转换成二进制

  • otc() 将给的参数转换成八进制

  • hex() 将给的参数转换成十六进制

print(bin(10))  # 二进制:0b1010
print(hex(10))  # 十六进制:0xa
print(oct(10))  # 八进制:0o12

3. 数学运算

  • abs() 返回绝对值

  • divmode() 返回商和余数

  • round() 四舍五入

  • pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余

  • sum() 求和

  • min() 求最小值

  • max() 求最大值

print(abs(-2))  # 绝对值:2
print(divmod(20,3)) # 求商和余数:(6,2)
print(round(4.50))   # 五舍六入:4
print(round(4.51))   #  5
print(pow(10,2,3))  # 如果给了第三个参数. 表示最后取余
print(sum([1,2,3,4,5,6,7,8,9,10]))  # 求和:55
print(min(5,3,9,12,7,2))  #求最小值:2
print(max(7,3,15,9,4,13))  #求最大值:15

和数据结构相关

1. 序列

(1)列表和元组

  • list() 将一个可迭代对象转换成列表

  • tuple() 将一个可迭代对象转换成元组

print(list((1,2,3,4,5,6)))  #[1, 2, 3, 4, 5, 6]
print(tuple([1,2,3,4,5,6]))  #(1, 2, 3, 4, 5, 6)

(2)相关内置函数

  • reversed() 将一个序列翻转, 返回翻转序列的迭代器

  • slice() 列表的切片

lst = "你好啊"
it = reversed(lst) # 不会改变原列表.返回一个迭代器
print(list(it))  # ['啊', '好', '你']
lst = [1, 2, 3, 4, 5, 6, 7]
print(lst[1:3:1])  # [2,3]
s = slice(1, 3, 1)  #  切片用的。创建了一个slice对象
print(lst[s])  #[2,3]

(3)字符串

  • str() 将数据转化成字符串

print(str(123)+'456')  # 123456

  • format()     与具体数据相关, 用于计算各种小数, 精算等.

s = "hello world!"
print(format(s, "^20"))  #居中
print(format(s, "<20"))  #左对齐
print(format(s, ">20"))  #右对齐
#     hello world!    
# hello world!        
#         hello world!
print(format(3, 'b' ))    # 二进制:11
print(format(97, 'c' ))   # 转换成unicode字符:a
print(format(11, 'd' ))   # ⼗进制:11
print(format(11, 'o' ))   # 八进制:13 
print(format(11, 'x' ))   # 十六进制(⼩写字母):b
print(format(11, 'X' ))   # 十六进制(大写字母):B
print(format(11, 'n' ))   # 和d⼀样:11
print(format(11))         # 和d⼀样:11
print(format(123456789,'e')) # 科学计数法. 默认保留6位小数:1.234568e+08
print(format(123456789,'0.2e'))# 科学计数法. 保留2位小数(小写):1.23e+08
print(format(123456789,'0.2E'))# 科学计数法. 保留2位小数(大写):1.23E+08
print(format(1.23456789,'f')) # 小数点计数法. 保留6位小数:1.234568
print(format(1.23456789,'0.2f')) # 小数点计数法. 保留2位小数:1.23
print(format(1.23456789,'0.10f'))#小数点计数法.保留10位小数:1.2345678900
print(format(1.23456789e+3,'F'))#小数点计数法. 很大的时候输出INF:1234.567890

  • bytes() 把字符串转化成bytes类型

bs = bytes("今天吃饭了吗", encoding="utf-8")
print(bs)#b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\x90\x83\xe9\xa5\xad\xe4\xba\x86\xe5\x90\x97'

  • bytearray()    返回一个新字节数组. 这个数字的元素是可变的, 并且每个元素的值得范围是[0,256)

ret = bytearray("alex" ,encoding ='utf-8')
print(ret[0])  # 97
print(ret)  # bytearray(b'alex')
ret[0] = 65  # 把65的位置A赋值给ret[0]
print(str(ret))  # bytearray(b'Alex')

  • ord() 输入字符找带字符编码的位置

  • chr() 输入位置数字找出对应的字符

  • ascii() 是ascii码中的返回该值 ,不是就返回u

print(ord('a'))  # 字母a在编码表中的码位:97
print(ord('中'))  # '中'字在编码表中的位置:20013
print(chr(65))  # 已知码位,求字符是什么:A
print(chr(19999))  #丟 

for i in range(65536):  #打印出0到65535的字符
    print(chr(i), end=" ") 

print(ascii("@"))  #'@'

  • repr() 返回一个对象的string形式

s = "今天\n吃了%s顿\t饭" % 3
print(s) # 今天# 吃了3顿    饭
print(repr(s))   # 原样输出,过滤掉转义字符 \n \t \r 不管百分号%
#'今天\n吃了3顿\t饭'

2. 数据集合

  • 字典:dict 创建一个字典

  • 集合:set 创建一个集合

frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。

3. 相关内置函数

  • len() 返回一个对象中的元素的个数

  • sorted() 对可迭代对象进行排序操作 (lamda)

语法:sorted(Iterable, key=函数(排序规则), reverse=False)

  • Iterable: 可迭代对象

  • key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序

  • reverse: 是否是倒叙. True: 倒叙, False: 正序

lst = [5,7,6,12,1,13,9,18,5]
lst.sort()  # sort是list里面的一个方法
print(lst)  #[1, 5, 5, 6, 7, 9, 12, 13, 18]
 
ll = sorted(lst) # 内置函数. 返回给你一个新列表  新列表是被排序的
print(ll)  #[1, 5, 5, 6, 7, 9, 12, 13, 18]
 
l2 = sorted(lst,reverse=True)  #倒序
print(l2)  #[18, 13, 12, 9, 7, 6, 5, 5, 1]

#根据字符串长度给列表排序
lst = ['one', 'two', 'three', 'four', 'five', 'six']
def f(s):
    return len(s)
l1 = sorted(lst, key=f )
print(l1)  #['one', 'two', 'six', 'four', 'five', 'three']

  • enumerate() 获取集合的枚举对象

lst = ['one','two','three','four','five']
for index,el in enumerate(lst,1): #把索引和元素一起获取,索引默认从0开始. 可以更改
    print(index)
    print(el)
 # 1
 # one
 # 2
 # two
 # 3
 # three
 # 4
 # four
 # 5
 # five

  • all() 可迭代对象中全部是True, 结果才是True

  • any() 可迭代对象中有一个是True, 结果就是True

print(all([1,'hello',True,9]))  #True
print(any([0,0,0,False,1,'good']))  #True

  • zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同

lst1 = [1, 2, 3, 4, 5, 6]
lst2 = ['醉乡民谣', '驴得水', '放牛班的春天', '美丽人生', '辩护人', '被嫌弃的松子的一生']
lst3 = ['美国', '中国', '法国', '意大利', '韩国', '日本']
print(zip(lst1, lst1, lst3))  #<zip object at 0x00000256CA6C7A88>
for el in zip(lst1, lst2, lst3):
    print(el)
# (1, '醉乡民谣', '美国')
# (2, '驴得水', '中国')
# (3, '放牛班的春天', '法国')
# (4, '美丽人生', '意大利')
# (5, '辩护人', '韩国')
# (6, '被嫌弃的松子的一生', '日本')

  • fiter() 过滤 (lambda)

语法:fiter(function , Iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者False来判断是否保留留此项数据 , Iterable: 可迭代对象

def func(i):    # 判断奇数
    return i % 2 == 1
lst = [1,2,3,4,5,6,7,8,9]
l1 = filter(func, lst)  #l1是迭代器
print(l1)  #<filter object at 0x000001CE3CA98AC8>
print(list(l1))  #[1, 3, 5, 7, 9]

  • map() 会根据提供的函数对指定序列列做映射(lambda)

语法 : map(function, iterable)

可以对可迭代对象中的每一个元素进行映射. 分别去执行 function

def f(i):    
  return i
  lst = [1,2,3,4,5,6,7,]
it = map(f, lst) # 把可迭代对象中的每一个元素传递给前面的函数进行处理. 处理的结果会返回成迭代器
print(list(it))  #[1, 2, 3, 4, 5, 6, 7]

和作用域相关

  • locals() 返回当前作用域中的名字

  • globals() 返回全局作用域中的名字

def func():
    a = 10
    print(locals())  # 当前作用域中的内容
    print(globals())  # 全局作用域中的内容
    print("今天内容很多")
func()
# {'a': 10}
# {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': 
# <_frozen_importlib_external.SourceFileLoader object at 0x0000026F8D566080>, 
# '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' 
# (built-in)>, '__file__': 'D:/pycharm/练习/week03/new14.py', '__cached__': None,
#  'func': <function func at 0x0000026F8D6B97B8>}
# 今天内容很多

和迭代器生成器相关

  • range() 生成数据

  • next() 迭代器向下执行一次, 内部实际使⽤用了__ next__()⽅方法返回迭代器的下一个项目

  • iter() 获取迭代器, 内部实际使用的是__ iter__()⽅方法来获取迭代器

for i in range(15,-1,-5):
    print(i)
# 15
# 10
# 5
# 0
lst = [1,2,3,4,5]
it = iter(lst)  #  __iter__()获得迭代器
print(it.__next__())  #1
print(next(it)) #2  __next__()  
print(next(it))  #3
print(next(it))  #4

字符串类型代码的执行

  • eval() 执行字符串类型的代码. 并返回最终结果

  • exec() 执行字符串类型的代码

  • compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值

s1 = input("请输入a+b:")  #输入:8+9
print(eval(s1))  # 17 可以动态的执行代码. 代码必须有返回值
s2 = "for i in range(5): print(i)"
a = exec(s2) # exec 执行代码不返回任何内容
 
# 0
# 1
# 2
# 3
# 4
print(a)  #None
 
# 动态执行代码
exec("""
def func():
    print(" 我是周杰伦")
""" )
func()  #我是周杰伦
 
code1 = "for i in range(3): print(i)"
com = compile(code1, "", mode="exec")   # compile并不会执行你的代码.只是编译
exec(com)   # 执行编译的结果
# 0
# 1
# 2
 
code2 = "5+6+7"
com2 = compile(code2, "", mode="eval")
print(eval(com2))  # 18
 
code3 = "name = input('请输入你的名字:')"  #输入:hello
com3 = compile(code3, "", mode="single")
exec(com3)
print(name)  #hello

输入输出

  • print() : 打印输出

  • input() : 获取用户输出的内容

print("hello", "world", sep="*", end="@") # sep:打印出的内容用什么连接,end:以什么为结尾
#hello*world@

内存相关

  • hash() : 获取到对象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存

s = 'alex'
print(hash(s))  #-168324845050430382
lst = [1, 2, 3, 4, 5]
print(hash(lst))  #报错,列表是不可哈希的
# id() :  获取到对象的内存地址
s = 'alex'
print(id(s))  #2278345368944

文件操作相关

  • open() : 用于打开一个文件, 创建一个文件句柄

f = open('file',mode='r',encoding='utf-8')
f.read()
f.close()

模块相关

__ import__() : 用于动态加载类和函数

# 让用户输入一个要导入的模块
import os
name = input("请输入你要导入的模块:")
__import__(name)# 可以动态导入模块

帮  助

  • help() : 函数用于查看函数或模块用途的详细说明

print(help(str))  #查看字符串的用途

调用相关

  • callable() : 用于检查一个对象是否是可调用的. 如果返回True, object有可能调用失败, 但如果返回False. 那调用绝对不会成功

a = 10
print(callable(a))  #False  变量a不能被调用
#
def f():
    print("hello")
    print(callable(f))   # True 函数是可以被调用的

查看内置属性

  • dir() : 查看对象的内置属性, 访问的是对象中的__dir__()方法

print(dir(tuple))  #查看元组的方法