pyhton基础教程(学习笔记)

第五章

条件,循环,其他语句

5.1print , import 的更多信息

  • 使用逗号输出
    print ‘Age’:42 -> Age:42
    1,2,3 -> (1,2,3)
    print 1,2,3 ->1 2 3
    print(1,2,3)->(1,2,3)
    输出文本和变量值,又不使用字符串格式化。
    name = ‘Gumby’,salution = ‘huty’
    print name, salution ->Gumby,huty

5.2序列解包

  • x,y,z = 1,2 ,3
    print x, y, z -> 1 2 3
    • 交换值
      x , y = y, x
    • 链式赋值
    • 增量赋值
      x += 2
      fnord = ‘foo’
      fonrd += ‘bar’

比较运算符

函数作用例子
相等运算符==两个字符串或数字是否相等
is:同一性运算符x=y=[1,2],z=[1,2]x,y,z相等但只有x,y同一
in:成员资格运算符判断一个子串是否被包含在母串中
字符串和序列比较‘Alpha’ < ‘Beta’
布尔运算有短路运算特征x and y, x or y
assert:断言设置检查点,让程序适时崩溃age = -1 assert 0 < age < 100,这时会出现崩溃
循环for,while可以循环遍历字典元素
pass有时条件为真时却什么也不做,用一个pass不出错if true: pass
del只删除列表名称,删除他们的关联关系而已x=[1,2],x = y,del x,但y不会被删除
exec动态创建代码,执行一个语句,可以将代码放置在命名空间中
eval计算表达式eval(raw_input(“enter an number: “)): 1+2*3

第六章 抽象

- 参数问题

  1. 只有列表的参数是可以改变的.
  2. 其他的参数只能作为局部变量,不可改变,当要使用全局参数时要用global表明。
  3. 收集参数
    print_param(*param)能收集用逗号分隔的多个参数。
    print_param(**param)能收集以关键字跟值出现的字典形式的参数。
    print_param(x,y,z=3,*p,**pa)
    print x,y,z
    print p
    print pa
    print_param(1,2,3,5,6,7,foo=1,bar=2)
    123
    (5,6,7)
    {‘foo’:1, ‘bar’:2}

  4. 参数收集的逆过程:分配他们在另一端的使用。
    def add(x,y): return x+y: 定义一个函数
    param = (1,2): 定义一个参数数组
    add(*param): 3 使用

    - 作用域

    1. 内建的var()函数可以返回上条语句定义的变量:
      x = 1
      scope = vars()
      scope[‘x’]: 1
      scope[‘x’] += 1
      x: 2
      除了全局作用域外,每个函数调用都会创建一个新的作用域

- 递归

先找出终止条件,再把问题细分直到到达终止条件。
应用与二分查找等。

第七章 更加抽象

7.1 多态

对不同类的对象使用同样的操作。
‘abc’.count(‘a’):1
[1,2,’a’].count(‘a’):1

7.2 封装

指程序中的其他部分隐藏对象的具体实现细节的原则。

7.3 继承

子类继承父类

7.4 特性,函数和方法

在函数前面加 “__”表示私有化函数
在类外访问私有化函数:实例名.类名_私有化方法名()

7.5 指定超类

子类可以扩展超类的定义,也可以重写超类的方法。

7.6 检查继承

issubclass(1,2):1是否是2的子类
isinstance(1,2):检查1是否是2的实例
类名.bases:查找它的基类

7.7 多个超类

多重继承时,后继承的会重写先继承的方法

7.8 本章新函数

函数作用
callable(object)确定对象是否可调用
getattr(object,name[,default])确定特性的值,可选择提供默认值
hasattr(object,name)确定是否由给定的属性
random.choice(sequence)从非空序列中随机选择元素
setattr(object,name,value)设定对象的给定属性为value
type(object)返回对象类型
本文档格式为word文档,包含了相应的目录结构。 Python教程 1 关于作者 2 Python简介 2 1 安装Python 5 1.1 Python解释器 8 2 第一个Python程序 9 2.1 使用文本编辑器 10 2.2 输入和输出 14 3 Python基础 17 3.1 数据类型和变量 18 3.2 字符串和编码 25 3.3 使用list和tuple 34 3.4 条件判断 39 3.5 循环 43 3.6 使用dict和set 45 4 函数 50 4.1 调用函数 52 4.2 定义函数 54 4.3 函数的参数 58 4.4 递归函数 70 5 高级特性 73 5.1 切片 73 5.2 迭代 77 5.3 列表生成式 79 5.4 生成器 81 5.5 迭代器 88 6 函数式编程 90 6.1 高阶函数 91 6.1.1 map/reduce 94 6.1.2 filter 97 6.1.3 sorted 100 6.2 返回函数 101 6.3 匿名函数 105 6.4 装饰器 106 6.5 偏函数 110 7 模块 112 7.1 使用模块 114 7.2 安装第三方模块 118 8 面向对象编程 120 8.1 类和实例 122 8.2 访问限制 126 8.3 继承和多态 128 8.4 获取对象信息 134 8.5 实例属性和类属性 141 9 面向对象高级编程 143 9.1 使用__slots__ 143 9.2 使用@property 146 9.3 多重继承 149 9.4 定制类 154 9.5 使用枚举类 164 9.6 使用元类 167 10 错误、调试和测试 175 10.1 错误处理 176 10.2 调试 186 10.3 单元测试 191 10.4 文档测试 196 11 IO编程 200 11.1 文件读写 201 11.2 StringIO和BytesIO 205 11.3 操作文件和目录 207 11.4 序列化 210 12 进程和线程 215 12.1 多进程 217 12.2 多线程 225 12.3 ThreadLocal 232 12.4 进程 vs. 线程 235 12.5 分布式进程 237 13 正则表达式 243 13.1 常用内建模块 249 13.1.1 datetime 249 13.1.2 collections 254 13.1.3 base64 258 13.1.4 struct 260 13.1.5 hashlib 262 13.1.6 itertools 267 13.1.7 XML 270 13.1.8 HTMLParser 272 13.1.9 urllib 274 14 常用第三方模块 278 14.1 PIL 278 15 virtualenv 282 16 图形界面 284 17 网络编程 288 17.1 CP/IP简介 289 17.2 TCP编程 291 17.3 UDP编程 296 18 电子邮件 298 18.1 SMTP发送邮件 300 18.2 POP3收取邮件 308 19 访问数据库 314 19.1 使用SQLite 318 19.2 用MySQL 321 19.3 使用SQLAlchemy 324 20 Web开发 329 20.1 HTTP协议简介 330 20.2 HTML简介 337 20.3 WSGI接口 341 20.4 使用Web框架 347 20.5 使用模板 352 21 异步IO 357 21.1 协程 359 21.2 syncio 362 21.3 async/await 366 21.4 aiohttp 367 22 实战 369 22.1 Day 1 - 搭建开发环境 372 22.2 Day 2 - 编写Web App骨架 374 22.3 Day 3 - 编写ORM 375 22.4 Day 4 - 编写Model 385 22.5 Day 5 - 编写Web框架 390 22.6 Day 6 - 编写配置文件 396 22.7 Day 7 - 编写MVC 398 22.8 Day 8 - 构建前端 399 22.9 Day 9 - 编写API 410 22.10 Day 10 - 用户注册和登录 412 22.11 Day 11 - 编写日志创建页 423 22.12 Day 12 - 编写日志列表页 432 22.13 Day 13 - 提升开发效率 439 22.14 Day 14 - 完成Web App 443 22.15 Day 15 - 部署Web App 445 22.16 Day 16 - 编写移动App 454 23 FAQ 456 24 期末总结 458
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值