Python学习总结

来源:Python

PEP8:

  • 每级缩进4个字符
  • 每行不超过80字符
  • 不要过多使用空行
  • 比较运算符两边各添加一个空格
  • 定义函数超过79个字符时,在函数定义中左括号后按回车键,并在下一行按两次tab


变量和简单数据类型

变量

  • 可以赋值的标签,可以指向特定的内容

字符串

方法

在name.title()中,name后面的句点(.)让python对变量name执行方法title()指定的操作。圆括号的存在是因为方法通常需要额外的信息来完成工作

title()、upper()、lower()

strip()、rstrip()、lstrip()

f字符串

制表符\t、换行符\n

  • 浮点数运算后小数位数可能不确定
  • 整+/*/**浮点数=浮点数
  • '_'会自动忽略(整数和浮点数表示中)
  • 全大写定义常量
  • %判断一个数是奇数还是偶数

列表

列表元素的修改、添加、删除

修改

  • 末尾:append()
  • 列表中:insert()

添加

删除

  • del 索引删除
  • remove() 值删除(只删除第一个值)
  • pop()弹出栈顶元素

组织列表

  • sort()永久排序
  • sorted()临时排序
  • reverse()
  • len()

操作列表

for 遍历

创建列表

range(start, stop, step)

  • 范围:[start, stop)
  • start默认为0,step默认为1

列表解析

  • 表达式+for循环

切片

使用列表的部分元素

  • 复制列表:
    friend_foods = my_foods[:]√
    friend_foods = my_foods×

元组

  • 值不可变
  • 单元素元组后加","(my_t = (3,))
  • 可重新赋值

if

  • 两个大小写不同的值被视为不相等

系列if语句

  • 多条件情况

    • if-elif-elif严谨清晰
    • if-elif-else包罗万象,但可能引入无效或恶意的数据

if-elif-else

  • 单条件情况

字典

  • 键值对
  • 多行定义字典时:
    • 每个键值对前面缩进四个空格,后面加",“(最后一个键值对也加”,")
    • 右花括号缩进四个空格,与键值对对齐
  • 方法get()访问可能不存在的值

遍历

  • 方法items(),返回键值对列表
  • 无方法时(或为方法key()时),默认遍历所有的键
  • 集合set()可找出列表中独一无二的元素,并使这些元素来创建一个集合

嵌套

用户输入与while循环

input()

  • 提示末尾后面包含一个空格

while循环

  • 标志(flag):当很多条件都满足才能继续运行的程序使用
  • 对每个while循环进行测试,确保按预期结束

函数

  • 每个函数包含简要地阐述其功能的注释。注释应紧跟在函数定义后面,并采用文档字符串格式
  • 形参实参指定值时"="两边不要有空格
  • 函数间两个空格分开

传递实参

  • 实参形参一一对应
  • 先在形参列表中列出没有默认值的形参

返回值

  • 可选实参:给形参指定一空的默认值

传递列表

  • 禁止函数修改列表(除非有充分理由,否则还是应将原始列表传递给函数):function_name(list_name[:])

传递任意数量实参

  • 形参名*toppings中的星号让Python创建一个名为toppings的空元组,并将收到的所有值都封装到这个元组中
  • 将接纳任意数量实参的形参放在最后
  • *args:收集任意数量的位置实参
  • **kwargs:收集任意数量的关键字实参

将函数存储在模块中

  • module_name.function_name():pizza.make_pizza(16,
    ‘pepperoni’)(调用pizza模块中的make_pizza函数)

  • 驼峰命名法:类名中每个单词首字母大写,而不使用下划线实例名和模块名小写,单词间加下划线
  • 每个类在定义后面包含一个文档字符串每个模块也包含一个文档字符串
  • 在类中,用一个空行分割方法;在模块中,用两个空行来分割类
  • 先编写导入标准库模块的import语句,在添加一个空行,然后编写导入自己编写的模块的import语句

创建和使用类

  • 方法__init__()(前后两个“_”):
    • def _init_(self, name, age):通过实参传递名字和年龄,self会自动传递,故不需传递它,只须传递name与age

使用类和实例

  • 可在方法__init__()中指定默认值,为实例服务

继承

  • 创建子类时,父类必须包含在当前文件中,且位于子类前面。
  • super()是调用父类中__init__()的函数

导入类

Python标准库

  • randint(1, 6)生成1和6之间的随机整数
  • choice()随机返回列表或元组中的一个元素

文件和异常

在文件中读取数据

  • with open(‘pi_digits.txt’) as file_object:
    open(‘pi_digits.txt’)返回一个表示文件pi_digits.txt的对象,Python将该对象赋给file_object供以后使用(只管打开文件,Python会在合适时自动将其关闭)
  • read()到达文件末尾时返回空字符串,而将这空字符串显示出来时就是一个空行
  • readlines()从文件中读取每一行,并将其存储在一个列表中

写入文件

  • with open(‘pi_digits.txt’, ‘w’) as file_object:
    • 第一个实参时文件的名称
    • 第二个实参是模式:
      • 写入模式(‘w’)
      • 读取模式(‘r’)
      • 附加模式(‘a’)
      • 读写模式(‘r+’)
      • 忽略模式参数则默认只读模式

异常

  • try-except/try-except-else:将可能发生异常的代码块放入try,若有异常,则运行except,正常则运行else

存储数据

  • json.dump()
  • json.load()

测试代码

  • unittest提供了代码测试工具
  • 所有以_test打头的方法都将自动运行
  • 断言方法:断言正确,那就打扰了;若断言失败,则通知一声
  • _name_:如果此文件作为主程序执行,变量__name__将被设置为_main_。作为主程序时运行,非主程序不运行
  • unittest.main()运行测试用例

测试函数

测试类

  • setUp()方法中创建一系列实例并设置其属性,再在测试方法中直接使用这些实例
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0h_h0

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值