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高级编程总结相关推荐

  1. python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)

    今天为大家带来的内容是:python高级编程之消息队列(Queue)与进程池(Pool),结合了实例的形式详细分析了Python消息队列与进程池的相关原理.使用技巧与操作注意事项!!! Queue消息 ...

  2. python高级编程装饰器_Python装饰器

    def my_decorator(function): def _my_decorator(*args, **kw): #在调用实际函数之前做些填充工作 res = function(*args, * ...

  3. python数据符号函数等一切皆对象_第一章:Python高级编程-Python一切皆对象

    第一章:Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 "" ...

  4. 【Python高级编程】

    Python高级编程:技巧代码的玄学与艺术 一.编程语言介绍 Python 作为一门优秀的编程语言,有着很多优势: 简单易学 Python有简单的语法,易于阅读和学习,很适合初学者.它的设计哲学是&q ...

  5. python高级编程-网络编程、多任务

    python高级编程 1 IP地址 用来在网络中标记一台电脑:在本地局域网上是唯一的. 2 端口 一个程序需要收发网络数据,就需要端口号. 3 socket 创建socket # 创建tcp sock ...

  6. Python 高级编程笔记之类别

    目录: 子类化内建类型 访问超类中的方法-super 描述符 & 属性 元编程 主要内容: 1.子类化内建类型 # -*- coding:utf-8 -*-class Folder(list) ...

  7. python高级编程(3) - 深入类和多态

    深入类和多态 一,鸭子类型和多态 鸭子类型 当你看到一只鸟走起来想鸭子,游泳起来像鸭子,叫起来像鸭子,那么这只鸟就叫做鸭子类型 我们并不关心对象是什么类型,到底是不是鸭子,只关心行为. 我们只关心一个 ...

  8. 4万字【Python高级编程】保姆式教学,进阶感觉到吃力?学完这些就轻松了

    前几天和一个小伙子聊天时,发现了一个问题,他从零开始学Python,学完列表.字典和函数等基础之后,就开始往爬虫方向进阶学习,结果又花了一个多月的时间,啥也没学成,反而寸步难行. 其实这个问题的主要原 ...

  9. python高级编程函数_Python高级编程之十大装B语法

    for - else 什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的.十大装B语法,for-else 绝对 ...

  10. python高级编程之网络编程

    Python高级之网络编程 端口 端口分类 知名端口 动态端口 查看端口 socket简介 电脑上进程之间的通信 什么是socket 创建socket 使用UDP套接字发送数据 使用UDP套接字接受数 ...

最新文章

  1. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
  2. httpd-2.2和httpd-2.4虚拟主机的实现
  3. Serv-u 10.3 的图文安装教程及使用方法
  4. 固定定位及布局知识总结
  5. layui --- [结构优化]参数优化
  6. CSS3 Perspective
  7. 关于Android 工程师转成vue的三两事儿(2)--前端开发技巧
  8. 如何格式化电脑_计算机格式化的方法教程
  9. 2018第17周总结
  10. 教师计算机培训汇报ppt,教师培训工作总结ppt模板
  11. 低代码技巧:甘特图制作步骤
  12. 超详细傻瓜iPhone自定义来电铃声教程
  13. Zepto中touch模块的使用(移动端)
  14. Flutter问题记录 - Unable to find bundled Java version
  15. 如何使用Google底部导航栏创建通知徽章
  16. java数据结构20:Big Bang(链表的插入、删除、遍历和查找)
  17. 写底层 jdbc 实现mysql数据库增删改的 合并方法 的类 继承ConnectionFactory 实现DaoMessage接口: 并批量添加数据
  18. ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlpa.exe - Loading Kern
  19. 3. Oracle数据库在Linux系统安装步骤
  20. Java教程笔记(完)

热门文章

  1. 图像算法二:【图像几何变换】平移、镜像、转置、缩放、旋转、插值
  2. 【论文阅读】JDA(joint distribution adaptation)/2013初稿
  3. electron-vu打造低配版网易云(Mv版)
  4. 学一下HDFS,很不错(大数据技术原理及应用)
  5. secuteCRT的使用
  6. Qt的quit(),exit()以及close()事件捕获
  7. 实战Scribe日志搜集和数据分析
  8. 视图层、业务逻辑层、数据访问层及实体层的关系(入门)
  9. Vista工具箱 v3.1
  10. HOHO 拿了個小嘉獎 Happy一下 可惜過年可能被留下...痛苦