疯狂python day04


在Python中可以使用class关键字定义类

#标识   类名
class class_name(object):
	def __init__(self):
		print('Hello')

if __name__ == "__main__"
	xxx = class_name()

在这里插入图片描述
进度条
在这里插入图片描述
读取文件
在这里插入图片描述
读取文本中有多少大写字母

class tom(object):
    def __init__(self,path):
        self.path = path
        self.count = 0
    def read(self):
        with open(self.path,mode='r') as f:
            lines = f.readlines()
            for line in lines:
                new_line = line.strip('\n')
                for i in new_line:
                    if i.isupper():
                        self.count +=1
        print('The Upper word is %d'%self.count)

    
if __name__ == "__main__":
    path = 'C:/Users/pc/Desktop/abcd.txt'
    AA = tom(path)
    AA.read()

私有变量
在这里插入图片描述
@property装饰器

class Person(object):

    def __init__(self, name, age):
        self._name = name
        self._age = age

    # 访问器 - getter方法
    @property
    def name(self):
        return self._name

    # 访问器 - getter方法
    @property
    def age(self):
        return self._age

    # 修改器 - setter方法
    @age.setter
    def age(self, age):
        self._age = age

if __name__ == "__main__":
    main()

在这里插入图片描述
__slots__魔法
需要注意的是__slots__的限定只对当前类的对象生效,对子类并不起任何作用。

class Person(object):

    # 限定Person对象只能绑定_name, _age和_gender属性
    __slots__ = ('_name', '_age', '_gender')

    def __init__(self, name, age):
        self._name = name
        self._age = age

    @property
    def name(self):
        return self._name

    @property
    def age(self):
        return self._age

    @age.setter
    def age(self, age):
        self._age = age
if __name__ == "__main__":
    main()

单继承
在这里插入图片描述

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

<p> <span style="font-size:12px;">请务必到</span><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner">https://edu.csdn.net/bundled/detail/49?utm_source=banner</a><span style="font-size:12px;"> 下单购买课,方可添加图书寄送地址。</span> </p> <p> 本页面,仅为观看视频页面,如需邮寄图书,请务必到上述链接下单付款。 </p> <div> <br /> </div> <p> 《21天通关Python》我能收获哪些? </p> <ul class=" list-paddingleft-2" style="font-family:-apple-system-font, BlinkMacSystemFont, "font-size:17px;text-align:justify;"> <li style="color:#333333;"> <p> <span style="font-size:14px;">1<span style="color:#333333;font-family:-apple-system-font, BlinkMacSystemFont, "font-size:14px;">本</span>实体图书教材,京东畅销书《疯狂<span>Python</span>讲义》含邮寄</span> </p> </li> <li> <p> <span style="font-size:14px;"><span>10</span><span style="color:#333333;font-family:-apple-system-font, BlinkMacSystemFont, "font-size:14px;">场</span><span>Python视频精讲,作者李刚亲自带队</span><span style="color:#333333;">带你通关Python</span></span> </p> </li> <li style="color:#333333;"> <p> <span style="font-size:14px;">4<span style="color:#333333;font-family:-apple-system-font, BlinkMacSystemFont, "font-size:14px;">大</span>模块,涉及数据分析、网络爬虫、等Python热点领域</span> </p> </li> <li style="color:#333333;"> <p> <span style="font-size:14px;">专属微信社群,随时答疑,爱上Python!</span> </p> </li> </ul> <p> <span></span> </p>
参与评论 您还未登录,请先 登录 后发表或查看评论
第1章 Python语言概述和开发环境 1 1.1 Python简介 2 1.1.1 Python简史 2 1.1.2 Python的特点 3 1.2 Python程序运行机制 3 1.3 开发Python的准备 4 1.3.1 在Windows上安装Python 5 1.3.2 在Linux上安装Python 6 1.3.3 在Mac OS X上安装Python 7 1.4 第一个Python程序 8 1.4.1 编辑Python源程序 8 1.4.2 使用IDLE运行Python程序 8 1.4.3 使用命令行工具运行Python程序 9 1.5 交互式解释器 11 1.6 本章小结 12 本章练习 12 第2章 变量和简单类型 13 2.1 单行注释和多行注释 14 2.2 变量 15 2.2.1 Python是弱类型语言 15 2.2.2 使用print函数输出变量 16 2.2.3 变量的命名规则 17 2.2.4 Python的关键字和内置函数 18 2.3 数值类型 19 2.3.1 整型 19 2.3.2 浮点型 21 2.3.3 复数 21 2.4 字符串入门 22 2.4.1 字符串和转义字符 22 2.4.2 拼接字符串 23 2.4.3 repr和字符串 23 2.4.4 使用input和raw_input获取用户输入 24 2.4.5 长字符串 25 2.4.6 原始字符串 26 2.4.7 字节串(bytes) 26 2.5 深入使用字符串 28 2.5.1 转义字符 28 2.5.2 字符串格式化 29 2.5.3 序列相关方法 31 2.5.4 大小写相关方法 32 2.5.5 删除空白 33 2.5.6 查找、替换相关方法 34 2.5.7 分割、连接方法 35 2.6 运算符 36 2.6.1 赋值运算符 36 2.6.2 算术运算符 37 2.6.3 位运算符 39 2.6.4 扩展后的赋值运算符 42 2.6.5 索引运算符 42 2.6.6 比较运算符与bool类型 42 2.6.7 逻辑运算符 44 2.6.8 三目运算符 45 2.6.9 in运算符 46 2.6.10 运算符的结合性和优先级 46 2.7 本章小结 47 本章练习 47 第3章 列表、元组和字典 49 3.1 序列简介 50 3.1.1 Python的序列 50 3.1.2 创建列表和元组 50 3.2 列表和元组的通用用法 51 3.2.1 通过索引使用元素 51 3.2.2 子序列 51 3.2.3 加法 52 3.2.4 乘法 52 3.2.5 in运算符 53 3.2.6 长度、最大值和最小值 53 3.2.7 序列封包和序列解包 54 3.3 使用列表 55 3.3.1 创建列表 55 3.3.2 增加列表元素 56 3.3.3 删除列表元素 57 3.3.4 修改列表元素 58 3.3.5 列表的其他常用方法 59 3.4 使用字典 61 3.4.1 字典入门 61 3.4.2 创建字典 62 3.4.3 字典的基本用法 63 3.4.4 字典的常用方法 64 3.4.5 使用字典格式化字符串 67 3.5 本章小结 67 本章练习 67 第4章 流程控制 68 4.1 顺序结构 69 4.2 if分支结构 69 4.2.1 不要忘记缩进 70 4.2.2 不要随意缩进 72 4.2.3 不要遗忘冒号 73 4.2.4 if条件的类型 73 4.2.5 if分支的逻辑错误 74 4.2.6 if表达式 75 4.2.7 pass语句 75 4.3 断言 76 4.4 循环结构 76 4.4.1 while循环 77 4.4.2 使用while循环遍历列表和元组 78 4.4.3 for-in循环 79 4.4.4 使用for-in循环遍历列表和元组 79 4.4.5 使用for-in循环遍历字典 80 4.4.6 循环使用else 81 4.4.7 嵌套循环 83 4.4.8 for表达式 84 4.4.9 常用工具函数 86 4.5 控制循环结构 87 4.6 牛刀小试 90 4.7 本章小结 98 本章练习 98 第5章 函数和lambda表达式 101 5.1 函数入门 102 5.2 函数的参数 106 5.3 局部函数 118 5.4 函数的高级内容 119 5.5 局部函数与lambda表达式 122 5.6 本章小结 124 本章练习 124 第6章 类和对象 125 6.1 类和对象 126 6.2 方法 132 6.3 成员变量 137 6.4 隐藏和封装 142 6.5 类的继承 144 6.6 Python的动态性 149 6.7 多态 153 6.8 枚举类 156 6.9 本章小结 159 本章练习 159 第7章 异常处理 160 7.1 异常概述 161 7.2 异常处理机制 162 7.3 使用raise引发异常 171 7.4 Python的异常传播轨迹 175 7.5 异常处理规则 177 7.6 本章小结 179 本章练习 179 第8章 Python类的特殊方法 180 8.1 常见的特殊方法 181 8.2 与反射有关的属性和方法 186 8.3 与序列有关的特殊方法 189 8.4 生成器 193 8.5 运算符重载的特殊方法 197 8.6 本章小结 205 本章练习 205 第9章 模块和包 206 9.1 模块化编程 207 9.2 加载模块 212 9.3 使用包 219 9.4 查看模块内容 224 9.5 本章小结 226 本章练习 226 第10章 常见模块 227 10.1 sys 228 10.2 os模块 231 10.3 random 234 10.4 time 235 10.5 JSON支持 238 10.6 正则表达式 244 10.7 容器相关类 256 10.8 collections下的容器支持 265 10.9 函数相关模块 273 10.10 本章小结 283 本章练习 283 第11章 图形界面编程 285 11.1 Python的GUI库 286 11.2 Tkinter GUI编程的组件 287 11.3 布局管理器 293 11.4 事件处理 299 11.5 Tkinter常用组件 304 11.6 对话框(Dialog) 330 11.7 菜单 342 11.8 在Canvas中绘图 349 11.9 本章小结 371 本章练习 371 第12章 文件I/O 372 12.1 使用pathlib模块操作目录 373 12.2 使用os.path操作目录 379 12.3 使用fnmatch处理文件名匹配 380 12.4 打开文件 381 12.5 读取文件 383 12.6 写文件 391 12.7 os模块的文件和目录函数 393 12.8 使用tempfile模块生成临时文件和临时目录 398 12.9 本章小结 399 本章练习 400 第13章 数据库编程 401 13.1 Python数据库API简介 402 13.2 操作SQLite数据库 404 13.3 操作MySQL数据库 417 13.4 本章小结 427 本章练习 427 第14章 并发编程 428 14.1 线程概述 429 14.2 线程的创建和启动 431 14.3 线程的生命周期 434 14.4 控制线程 438 14.5 线程同步 440 14.6 线程通信 447 14.7 线程池 454 14.8 线程相关类 458 14.9 多进程 462 14.10 本章小结 470 本章练习 470 第15章 网络编程 471 15.1 网络编程的基础知识 472 15.2 Python的基本网络支持 474 15.3 基于TCP协议的网络编程 486 15.4 基于UDP协议的网络编程 500 15.5 电子邮件支持 505 15.6 本章小结 511 本章练习 512 第16章 文档和测试 513 16.1 使用pydoc生成文档 514 16.2 软件测试概述 519 16.3 文档测试 523 16.4 单元测试 525 16.5 使用PyUnit(unittest) 529 16.6 本章小结 540 本章练习 540 第17章 打包和发布 541 17.1 使用zipapp模块 542 17.2 使用PyInstaller生成可执行程序 544 17.3 本章小结 547 本章练习 547 第18章 合金弹头 548 18.1 合金弹头游戏简介 549 18.2 pygame简介 550 18.3 开发游戏界面组件 553 18.4 增加“角色” 566 18.5 合理绘制地图 575 18.6 增加音效 577 18.7 增加游戏场景 579 18.8 本章小结 583 本章练习 583 第19章 数据可视化 584 19.1 使用Matplotlib生成数据图 585 19.2 功能丰富的数据图 597 19.3 使用Pygal生成数据图 606 19.4 Pygal支持的常见数据图 609 19.5 处理数据 617 19.6 本章小结 629 本章练习 629 第20章 网络爬虫 630 20.1 安装Scrapy 631 20.2 使用爬虫爬取、分析招聘信息 634 20.3 处理反爬虫 646 20.4 本章小结 657 本章练习 657
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

bsxjy

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值