python基础代码大全-python零基础入门命令方式汇总大全,快速恶补你的Python基础...
原标题:python零基础入门命令方式汇总大全,快速恶补你的Python基础
无意中浏览到这篇来自大牛的分享,总结的很全面,我重新排版下放在这里,希望能帮助到大家。在此十分感谢原作者!
在开始之前还是要介绍一下这个学习交流基地707548179每天群里都有资料更新,同数千人一起交流进步,大牛指导学习问题~一、类型和运算
寻求帮助
测试类型的三种方法,推荐第三种
Python数据类型:哈希类型、不可哈希类型
数字常量
数字的表达式操作符
整数可以利用bit_length函数测试所占的位数
repr和str显示格式的区别
数字相关的模块
集合set
集合frozenset,不可变对象
布尔类型bool
动态类型简介
常见字符串常量和表达式
内置str处理函数
三重引号编写多行字符串块,并且在代码折行处嵌入换行字符
索引和分片
字符串转换工具
另类字符串连接
Python中的字符串格式化实现1--字符串格式化表达式
Python中的字符串格式化实现2--字符串格式化调用方法
常用列表常量和操作
用切片来删除序列的某一段
常用字典常量和操作
字典解析
字典的特殊方法__missing__:当查找找不到key时,会执行该方法
元组和列表的唯一区别在于元组是不可变对象,列表时可变对象
元组的特殊语法: 逗号和圆括号
文件基本操作其他二、语法和语句
赋值语句的形式序列赋值 序列解包print函数原型Python中and或or总是返回对象(左边的对象或右边的对象) 且具有短路求值的特性if/else三元表达符(if语句在行内)Python的while语句或者for语句可以带else语句 当然也可以带continue/break/pass语句for循环的元组赋值列表解析语法生成器表达式文档字符串:出现在Module的开端以及其中函数或类的开端 使用三重引号字符串命名惯例列表解析 in成员关系测试 map sorted zip enumerate内置函数等都使用了迭代协议del语句: 手动删除某个变量获取列表的子表的方法:手动迭代:iter和nextPython中的可迭代对象函数语法规则
函数相关的语句和表达式Python函数变量名解析:LEGB原则,即:嵌套函数举例:工厂函数嵌套函数举例:lambda实例nonlocal和global语句的区别函数参数,不可变参数通过"值”传递,可变参数通过"引用”传递可变参数匹配: * 和 **函数调用时的参数解包: * 和 ** 分别解包元组和字典函数属性:(自己定义的)函数可以添加属性函数注解: 编写在def头部行 主要用于说明参数范围、参数类型、返回值类型等匿名函数:lambdalambda函数与map filter reduce函数的结合生成器函数:yield VS return生成器表达式:小括号进行列表解析本地变量是静态检测的函数的默认值是在函数定义的时候实例化的 而不是在调用的时候 例子:函数例子
数学运算类集合类操作逻辑判断IO操作其他模块Moudle
Python模块搜索路径:程序的主目录
PYTHONPATH目录
标准链接库目录
任何.pth文件的内容
查看全部的模块搜索路径模块的使用代码重载模块reload: 这是一个内置函数 而不是一条语句模块的包导入:使用点号(.)而不是路径(dir1dir2)进行导入__init__.py包文件:每个导入的包中都应该包含这么一个文件包相对导入:使用点号(.) 只能使用from语句包相对导入与普通导入的区别模块数据隐藏:最小化from*的破坏可以使用__name__进行模块的单元测试:当模块为顶层执行文件时值为'__main__' 当模块被导入时为模块名import语句from语句的as扩展得到模块属性的几种方法 假设为了得到name属性的值类与面向对象
最普通的类
Python的类没有基于参数的函数重载
子类扩展超类: 尽量调用超类的方法
类内省工具
返回1中 数据属性spam是属于类 而不是对象
类方法调用的两种方式
抽象超类的实现方法
# OOP和继承: "is - a"的关系
类的伪私有属性:使用__attr
类方法是对象:无绑定类方法对象 / 绑定实例方法对象
获取对象信息: 属性和方法
为类动态绑定属性或方法: MethodType方法类的高级话题
多重继承: "混合类", 搜索方式"从下到上 从左到右 广度优先"
类的继承和子类的初始化
#实例方法 / 静态方法 / 类方法
函数装饰器:是它后边的函数的运行时的声明 由@符号以及后边紧跟的"元函数"(metafunction)组成
类修饰器
是它后边的类的运行时的声明 由@符号以及后边紧跟的"元函数"(metafunction)组成
限制class属性: __slots__属性
类属性高级话题: @property假设定义了一个类:C,该类必须继承自object类,有一私有变量_x
第一种使用属性的方法
property函数原型为property(fget=None,fset=None,fdel=None,doc=None)
第二种方法使用属性的方法
定制类: 重写类的方法1、__str__方法、__repr__方法: 定制类的输出字符串
2、__iter__方法、next方法: 定制类的可迭代性
3、__getitem__方法、__setitem__方法: 定制类的下标操作[] 或者切片操作slice
__getattr__方法: 定制类的属性操作
__call__方法: 定制类的'可调用'性
动态创建类type()
异常相关
捕获异常:
引发异常: raise子句(raise IndexError)
Python3.x中的异常链: raise exception from otherException
assert子句: assert ,
with/as环境管理器:作为常见的try/finally用法模式的替代方案
用户自定义异常: class Bad(Exception):.....
用户定制异常数据
关于sys.exc_info:允许一个异常处理器获取对最近引发的异常的访问
异常层次
Unicode和字节字符串
Python的字符串类型"""Python2.x"""
str表示8位文本和二进制数据
unicode表示宽字符Unicode文本
"""Python3.x"""
str表示Unicode文本(8位或者更宽)
bytes表示不可变的二进制数据
bytearray是一种可变的bytes类型
字符编码方法
查看Python中的字符串编码名称,查看系统的编码
源文件字符集编码声明:添加注释来指定想要的编码形式,从而改变默认值,注释必须出现在脚本的第一行或者第二行;
说明:
其实这里只会检查#和coding:utf-8,其余的字符都是为了美观加上的。
_*_ coding: utf-8 _*_
coding = utf-8
编码:
字符串 --> 原始字节
解码:
原始字节 --> 字符串
Python3.x中的字符串应用
Python2.x的编码问题
bytes对象
文本文件: 根据Unicode编码来解释文件内容,要么是平台的默认编码,要么是指定的编码类型
二进制文件:表示字节值的整数的一个序列 open('bin.txt', 'rb')
Unicode文件
其他
60个字符解决FizzBuzz:写一个程序, 打印数字1到100, 3的倍数打印"Fizz”来替换这个数, 5的倍数打印"Buzz”, 既是3又是5的倍数的打印"FizzBuzz。
Python实现任意深度的赋值 例如a[0] = 'value1'; a[1][2] = 'value2'; a[3][4][5] = 'value3'
例子:
Python中的多维数组
返回搜狐,查看更多
责任编辑: