python高级编程总结
Python中一切皆对象
一切皆对象得含义就是每一个都有自己得属性,每一个都有自己得继承关系,你看到没有继承得,其实它隐式继承了object或者type。关于type可以看看元类。是对象意味着它可以随时随地得使用,比如赋值给一个变量,添加到列表中,作为参数出传递,做返回值
Python语言特性
Python是动态强类型语言
动态还是静态指的是编译期还是运行期确定类型
比如定义了一个变量 a = 11
这个时候你并没有运行,但是python已经确定了他的类型是Int
这个时候你的int就是int,不会变成float
强类型转换就是不会发生隐式类型转换
鸭子类型
教条解释:能走,能游泳,能叫就叫鸭子
个人理解:就是一种大类得规范,比如狗,猪,鸡我们统一把他们叫做动物,然后进行动物得抽象
class 动物:
能吃
能喝
能睡
可以看出,我们重点在关注对象得行为,而不是关注他的类型
什么是monkey patch
所谓得monkey patch就是运行时替换
def func1():print('func1')
def func2():print('func2')
func1()
func1 = func2
func1()
赶脚就像是给找个新得内存空间
什么是自省
运行时判断一个对象运行的能力
python一切皆对象,用type,id,isinstance获取对象类型信息
Inspect模块提供了更多获取对象信息的函数
推导式
用一行循环遍历出一系列数据的方式
推导式在使用的时候只能用for循环和if判断,if只能是单项判断
列表推导式
多循环推导式
# 多循环推导式:就是求并集
list1 = ['a', 'b', 'c']
list2 = ['x', 'y', 'z']
lst = [i + "♥" + j for i in list1 for j in list2]
集合推导式
字典推导式
获取的数据在字典
内置方法:enumerate:枚举,将索引和iterable中的值,一个一个拿出来配对组成
zip:将多个iterable中的值一个一个拿出来配对成元组放入迭代器中
# 多循环推导式:就是求并集
list1 = ['a', 'b', 'c']
list2 = ['x', 'y', 'z']
lst = [i + "♥" + j for i in list1 for j in list2]
print(lst)
lst = zip(list1,list2)
# print(list(lst))
print(dict(lst))
python之禅
The Zen of Python
Tim Peters编写的关于Python编程的准则
import this
python3的改进
python3的改进不如说成是python2和python3的区别,详情博客里面找吧,或许写了,现在整理的时候还没写
Python如何传递参数
只要牢记值传递跟引用传递,这就随你发挥了。
共享传参:函数形参获得实参中各个引用的副本
python可变/不可变对象
可变:list/set/dict
不可变:bool/int/float/tuple/str/frozenset
python *args,**kwargs的含义
用来处理可变参数
*args打包成tuple
**kwargs打包成字典
Python的异常
网络请求(超时,连接错误)
资源访问(权限问题,资源不存在)
代码逻辑(越界访问,keyError等)
try…except…else…finally
python的GIL
small tips
is比较id值
pyenv启动不同的python版本
高级解包操作:a,b,*rest = range(10)
参考资料
慕课网
推导式:https://blog.csdn.net/sinat_41672927/article/details/106180784
GIL:
https://www.cnblogs.com/SuKiWX/p/8804974.html
python高级编程总结相关推荐
- python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)
今天为大家带来的内容是:python高级编程之消息队列(Queue)与进程池(Pool),结合了实例的形式详细分析了Python消息队列与进程池的相关原理.使用技巧与操作注意事项!!! Queue消息 ...
- python高级编程装饰器_Python装饰器
def my_decorator(function): def _my_decorator(*args, **kw): #在调用实际函数之前做些填充工作 res = function(*args, * ...
- python数据符号函数等一切皆对象_第一章:Python高级编程-Python一切皆对象
第一章:Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 "" ...
- 【Python高级编程】
Python高级编程:技巧代码的玄学与艺术 一.编程语言介绍 Python 作为一门优秀的编程语言,有着很多优势: 简单易学 Python有简单的语法,易于阅读和学习,很适合初学者.它的设计哲学是&q ...
- python高级编程-网络编程、多任务
python高级编程 1 IP地址 用来在网络中标记一台电脑:在本地局域网上是唯一的. 2 端口 一个程序需要收发网络数据,就需要端口号. 3 socket 创建socket # 创建tcp sock ...
- Python 高级编程笔记之类别
目录: 子类化内建类型 访问超类中的方法-super 描述符 & 属性 元编程 主要内容: 1.子类化内建类型 # -*- coding:utf-8 -*-class Folder(list) ...
- python高级编程(3) - 深入类和多态
深入类和多态 一,鸭子类型和多态 鸭子类型 当你看到一只鸟走起来想鸭子,游泳起来像鸭子,叫起来像鸭子,那么这只鸟就叫做鸭子类型 我们并不关心对象是什么类型,到底是不是鸭子,只关心行为. 我们只关心一个 ...
- 4万字【Python高级编程】保姆式教学,进阶感觉到吃力?学完这些就轻松了
前几天和一个小伙子聊天时,发现了一个问题,他从零开始学Python,学完列表.字典和函数等基础之后,就开始往爬虫方向进阶学习,结果又花了一个多月的时间,啥也没学成,反而寸步难行. 其实这个问题的主要原 ...
- python高级编程函数_Python高级编程之十大装B语法
for - else 什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的.十大装B语法,for-else 绝对 ...
- python高级编程之网络编程
Python高级之网络编程 端口 端口分类 知名端口 动态端口 查看端口 socket简介 电脑上进程之间的通信 什么是socket 创建socket 使用UDP套接字发送数据 使用UDP套接字接受数 ...
最新文章
- Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
- httpd-2.2和httpd-2.4虚拟主机的实现
- Serv-u 10.3 的图文安装教程及使用方法
- 固定定位及布局知识总结
- layui --- [结构优化]参数优化
- CSS3 Perspective
- 关于Android 工程师转成vue的三两事儿(2)--前端开发技巧
- 如何格式化电脑_计算机格式化的方法教程
- 2018第17周总结
- 教师计算机培训汇报ppt,教师培训工作总结ppt模板
- 低代码技巧:甘特图制作步骤
- 超详细傻瓜iPhone自定义来电铃声教程
- Zepto中touch模块的使用(移动端)
- Flutter问题记录 - Unable to find bundled Java version
- 如何使用Google底部导航栏创建通知徽章
- java数据结构20:Big Bang(链表的插入、删除、遍历和查找)
- 写底层 jdbc 实现mysql数据库增删改的 合并方法 的类 继承ConnectionFactory 实现DaoMessage接口: 并批量添加数据
- ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlpa.exe - Loading Kern
- 3. Oracle数据库在Linux系统安装步骤
- Java教程笔记(完)
热门文章
- 图像算法二:【图像几何变换】平移、镜像、转置、缩放、旋转、插值
- 【论文阅读】JDA(joint distribution adaptation)/2013初稿
- electron-vu打造低配版网易云(Mv版)
- 学一下HDFS,很不错(大数据技术原理及应用)
- secuteCRT的使用
- Qt的quit(),exit()以及close()事件捕获
- 实战Scribe日志搜集和数据分析
- 视图层、业务逻辑层、数据访问层及实体层的关系(入门)
- Vista工具箱 v3.1
- HOHO 拿了個小嘉獎 Happy一下 可惜過年可能被留下...痛苦