零基础学 Python(2023 版)
尹会生
太乙人工智能技术合伙人 & 项目总监
60050 人已学习
新⼈⾸单¥68
课程目录
已完结/共 124 讲
结束语 & 结课测试 (2讲)
零基础学 Python(2023 版)
登录|注册
留言
12
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 26|小试牛刀:如何利用类型转换实现手机通讯录?(上)
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程介绍:这次我们都做了哪些升级?
内容综述:明确学习目的
01|如何配置 Python 开发环境?
02 | 常用 IDE:如何提高开发效率?
03 | 如何站在官方文档的肩膀上自己“造轮子”?
04 | 怎样运行你的第一行代码?
05 | 怎样使用 Gitee 管理你的代码?
06 | 学习编程有问题?去这里找答案!
07|跨越门槛:Python 开发环境总结及实现原理
08 | 修炼基本功:浅析输入输出
09 | 变量:如何让计算机临时存储数据?
10|字符串(上):Python 是如何处理单词的?
11|字符串(下):Python 是如何处理单词的?
12|存储数字应该采用哪种数据类型?
13|何时使用数,何时使用字符串?
14|注释:如何写程序的说明书?
15|小试牛刀:如何制作简单计算器?
16|变量命名规范:如何编写优雅的程序?
17|告别新手村:Python 编程基础知识
18|内置数据类型包括哪几种?
19|列表如何处理同类数据?
20|常见常新:列表的常见操作
21|元组:如何处理一次性数据?
22|常见常新:集合的常见操作
23|字典:如何处理映射类型的数据?
24|常见常新:字典的常见操作(上)
25|常见常新:字典的常见操作(下)
26|小试牛刀:如何利用类型转换实现手机通讯录?(上)
27|小试牛刀:如何利用类型转换实现手机通讯录?(下)
28|常见的内置数据类型都何时使用?
29|避坑指南:内置数据类型的常见错误
30|内置数据类型参考:如何使用官方文档与帮助?
31|再回首:“内置数据类型”单元小结
32|if 语句:数据流程出现分支时,怎样编写程序?
33|match 语句:如何通过 match 关键字来处理程序的分支逻辑?
34|while 循环:需要多次重复执行某段程序时,怎么做?
35|for 循环:如何遍历一个对象里的所有元素?
36|语句嵌套:如何处理多重循环的问题?
37|小试牛刀:如何设计一个飞机大战的程序?
38|避坑指南:判断和循环中的常见错误
39|再回首:“判断循环”单元小结
40|输入:如何接收用户通过键盘输入的数据?
41|格式化输出:如何将执行结果通过屏幕输出?
42|F-strings:如何通过定义好的格式进行输出?
43 | 常见常新:文件的打开
44|文件编码:如何解决不同操作系统的文件乱码问题?
45|常见常新:文件的读写
46|常见常新:文件的关闭
47|小试牛刀:如何使用 Python 合并多个文件?
48|再回首:“输入输出与文件操作”单元小结
49|函数的定义:如何优雅地反复引用同一段代码?
50|函数的参数:怎样实现函数与外部数据通信?
51|函数的参数:当函数操作对象不固定时怎么处理?
52|函数的返回值:如何得到函数的执行结果?
53|小试牛刀:如何利用函数实现电商购物车功能?
54|避坑指南:列表作为参数传递出错了怎么办?
55|高阶函数:函数对象与函数调用的用法区别
56|装饰器:函数嵌套的定义与调用的区别
57|再回首:“函数”单元小结
58|编程思想不同会导致怎样的代码差异?
59|类与实例:如何使用面向对象的思想编写程序?
60|类的继承:如何解决代码重用的问题?
61|类的装饰器:如何改变类方法的功能?
62|小试牛刀:如何开发自动咖啡机?
63|避坑指南:类的常见错误
64|init 方法:如何为对象传递参数?
65|再回首:“类”单元小结
66 | 模块的导入:如何使用其他人编写好的代码功能?
67 | 标准库:Python 默认提供的便捷功能有哪些?
68 | 自定义模块:如何编写一个完整功能?
69 | 第三方模块的使用:如何使用其他人编写的代码?
70 | 小试牛刀:如何使用 Python 为函数求导?
71|再回首:“模块与标准库”单元小结
72|初识异常:异常的产生与分类
73|异常捕获:出现异常时,如何利用程序进行处理?
74|自定义异常捕获:如何定义业务异常?
75|避坑指南:编写捕获异常程序时经常出现的问题
76|再回首:“异常处理”单元小结
77|扩展数据类型:怎样使用更复杂的数据类型?
78|魔术方法:怎样通过类构造自己需要的数据类型?
79|怎样将 Python 和 C++ 结合起来混合编程?
80|怎样将已有算法改造成符合项目的特定算法?
81|设计模式:怎样合理组合多个函数和类?
82|Redis 数据库:怎样使用 NoSQL 数据库?
83|关系型数据库:怎样使用关系型数据库?
84|计算资源充足时,如何通过并行设计提高效率?
85|多进程间如何通信?
86|再回首:“高级数据类型与算法”单元小结
87|理论盘点:数据分析的流程及对应的 Python 库
88|理论盘点:数据采集的方法与 HTTP 协议
89|理论盘点:任务的并行执行原理
90|理论盘点:非规范化数据处理的基础与正则表达式
91|如何获取网页上的数据并存储到文件?
92|小试牛刀:如何将数据进行图形化展示?
93|再回首:“数据分析”单元小结
94|理论盘点:文件类型与对应的 Python 函数库
95|如何批量读取 Excel 文件?
96|如何实现数据的批量格式转换?
97|如何扩展数据类型?
98|再回首:“办公自动化”单元小结
99|理论盘点:Web 客户端与服务端
100|理论盘点:MVC 模型是什么?
101|如何使用Django搭建简单的Web服务器?
102|如何使用Django-admin实现文章上传?
103|如何使用Django实现文章发布?
104|再回首:“Web开发”单元小结
105|理论盘点:人脸识别的一般步骤
106|理论盘点:人脸识别常用的 Python 库有哪些?
107|怎样通过 OpenCV 采集视频信号?
108|如何训练人脸模型?
109|怎样设计人脸识别系统?
110|再回首:“计算机视觉”单元小结
111|聚焦异同:物联网与互联网有啥不一样?
112|理论盘点:基础但不简单的 TCP 协议
113|理论盘点:物模型与模组
114|如何为 ESP32 安装 MicroPython?
115|怎样通过 MQTT 协议构建消息队列?
116|小试牛刀:在 OLED 屏幕和手机远程同时显示室内温度
117|再回首:“物联网”单元小结
118|结束语:人生苦短,我用Pyhon
结课测试|来赴一场满分之约吧!
直播加餐|与AI共同编程,用ChatGPT学Python
直播加餐|用OpenAI API理解Python数据类型
直播加餐|掌握Gradio框架:为 AI Agent 程序定制界面
本节摘要

课程代码、课件及其他相关资料地址
https://gitee.com/wilsonyin/zero-basics-python

登录 后留言

全部留言(12)

  • 最新
  • 精选
Geek_f8cd05
老师,YOU和you的个数也不对,分隔后有些带了逗号,[ 之类的,就没有count出来

作者回复: 这时候最精确的统计办法是用正则表达式,把原始字符串过滤一遍, 将字母外的特殊字符给替换为空

2023-01-02
2
3
Geek_219b52
老师,帮我看一下下面的问题,统计is出现的次数是3次是正确的,但是统计my出现的次数返回0 #文件信息如下: ['what is you name?\n', '\n', 'my name is test1!\n', '\n', 'what about you?\n', '\n', 'my name is test2!\n', '\n', 'hei,boy\n', '\n', 'SEE YOU'] #统计my出现的次数 print(str(file_data).split(' ').count("my")) 在vscode执行,显示my出现的次数是0次,这个结果不正确 #统计is出现的次数 print(str(file_data).split(' ').count("is")) 在vscode执行,显示is出现的次数是3次,这个结果是正确的

作者回复: 你的代码中统计 "my" 出现次数的问题在于你是如何处理字符串的。当你使用 `split(' ')` 方法时,它会根据空格进行分割,但这样分割的结果可能会包含换行符、标点符号等。 在你给出的文件信息中,"my" 后面紧跟着一个空格和换行符,因此 `split(' ')` 之后,"my" 的实际内容变成了 `"my\n"`,所以 `.count("my")` 返回了0。 你可以通过以下方式修正代码: 1. **使用正则表达式进行分割**:这样可以更精确地控制分割的行为。 2. **在分割后移除非字母字符**:你可以使用 `strip()` 方法移除每个单词的首尾非字母字符。 以下是一个修改后的代码示例: ```python import re file_data = ['what is you name?\n', '\n', 'my name is test1!\n', '\n', 'what about you?\n', '\n', 'my name is test2!\n', '\n', 'hei,boy\n', '\n', 'SEE YOU'] text = " ".join(file_data) words = re.findall(r'\b\w+\b', text) # 统计my出现的次数 print(words.count("my")) # 输出2 # 统计is出现的次数 print(words.count("is")) # 输出3 ``` 这个代码使用了正则表达式 `\b\w+\b` 来分割文本,这样可以确保只得到完整的单词。结果是 "my" 出现了2次,"is" 出现了3次。

2023-07-22
2
木 乐
老师,在哪里找得到“24-demo.text”这个文件呢?

作者回复: https://github.com/wilsonyin123/python_productivity 对应每一课的代码,也可以通过第一课下的链接下载全部代码和演示文本

2023-06-19
1
张驰皓
好奇 set 函数处理后的数据是怎么样的(空行是多处重复的内容,去重后空行会被放在哪个位置呢),就赋值打印出来了,然后发现空行会被放在内容的第一行、后面再跟着其他未被去重的内容,还挺有趣

作者回复: set 的内部实现是基于散列表 (hash table) 的。因此,集合中元素的顺序并不是它们被添加时的顺序,而是基于它们的哈希值。简而言之,当你向集合中添加一个元素时,Python 会计算该元素的哈希值并使用这个哈希值来决定它在集合中的位置。 空字符串的哈希值是确定的,并且当你在一个集合中有多个空字符串时,它们的哈希值都是相同的。所以,当你将它们添加到集合中时,只有一个会被保留。

2023-09-07
Leaf
老师,我想问一下,这个24-demo.txt的文件是直接在venv文件夹下重新建立一个文件,还是需要用代码在pycharm建立

作者回复: Pycharm下建立。venv里应当只包含Python虚拟环境的内容(Python相关程序python、pip、jupyter等,虚拟环境下下载到本地的python第三方库)

2023-07-27
Guan YD
老师 我试了一下自己创建一个list来进行统计 ass = ["1 2 3 4 5 6","a s d d d d d"] print(str(ass).count("d")) #5 print(str(ass).split(" ").count("d")) #4 为啥一个是5,一个是4呢,确实是有5个

作者回复: 你所遇到的问题与字符串分割和统计的方式有关。让我们分析一下你的代码。 ### 代码分析 1. `str(ass).count("d")`:这一行统计的是整个列表转换为字符串后 `"d"` 字符的出现次数。确实有5个 `"d"`,所以输出为5。 2. `str(ass).split(" ").count("d")`:这一行首先将整个列表转换为字符串,然后使用空格 (`" "`) 进行分割。分割后的列表为: ```python ['["1', '2', '3', '4', '5', '6","a', 's', 'd', 'd', 'd', 'd', 'd"]'] ``` 在这个列表中,`"d"` 出现了4次,所以输出为4。 ### 为什么会有这个差异? 问题在于 `str(ass).split(" ")` 使用空格作为分隔符,而列表转换为字符串后包含许多其他字符,例如引号和逗号。这导致分割后的结果并不是单纯的单词和字符,而是包括了这些额外的字符。 ### 解决方案 如果你想统计原始字符串中 `"d"` 的出现次数,你可以首先将字符串连接起来,然后统计 `"d"` 的出现次数,如下所示: ```python ass = ["1 2 3 4 5 6", "a s d d d d d"] text = " ".join(ass) print(text.count("d")) # 输出5 ``` 这样你将得到与原始字符串中 `"d"` 的实际出现次数相符的结果。

2023-07-18
Geek_c98a70
老师,我用mac自定义一个文档,但是用readline方法我只能读到第一行

作者回复: User Avatar 在Python中,使用`readline()`方法确实只能读取文件的一行。如果你想要读取整个文件的内容,可以使用`readlines()`方法或者遍历文件对象来逐行读取整个文件。 以下是两种读取整个文件内容的方法: 1. 使用`readlines()`方法: with open("文件路径", "r") as file: lines = file.readlines() for line in lines: # 对读取的每一行进行处理 print(line.strip()) 上述代码中,`readlines()`方法用于读取所有行,并将它们存储在列表`lines`中。然后,你可以遍历该列表来处理每一行。 2. 遍历文件对象: with open("文件路径", "r") as file: for line in file: # 对读取的每一行进行处理 print(line.strip()) 在这种方法中,直接遍历文件对象,每次迭代会读取文件的下一行,并将其存储在变量`line`中。你可以在循环中对每一行进行处理。 请确保将代码中的"文件路径"替换为你实际文件的路径。 希望以上方法能够帮助你读取完整的文件内容。如果还有其他问题,请随时提问。

2023-06-04
Yuyy🐼
为什么统计I出现的次数是把其先转换为str,而统计you和You的时候是转换为int

作者回复: 统计字符时,要保证时字符串,才能使用字符串内置方法,所以将它们统统转成了字符串, 而转换成int是对统计之后的数字做的处理。 统计之后虽然显示为数字,也可能为“123” 这样的形式, 在Python里面“123” 和123 前者只能使用字符串内置方法, 后者只能使用整数内置方法。我是为了计算,才将“123”使用int()函数转换为整数,用于做计算的。如果还有问题,可以群里将代码贴出来,我们详细讨论

2023-01-15
2
🌺骄阳似我🌺
以空格分隔后,会有"'I"开头的字符串,print(str(data).split(' ').count('I') + str(data).split(' ').count("'I") + str(data).split(' ').count("I'")),这样统计完是23个
2023-06-05
1
Geek_a967ff
24-demo.txt中的"I",应该是23个
2022-11-29
1
收起评论