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

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python高级编程涵盖了面向对象的编程方法、一些特定的操作函数、常用的函数修饰符、异步语句等最新的Python3语法。 Python作为一门流行的编程语言,它的优点多、应用领域广,被广泛应用于机器学习、数据挖掘、大数据等高级领域。 在学习Python高级编程之前,建议先打好基础,再选择明确的方向。你可以阅读《Python核心编程(3.8学习笔记)》这本书,它包含了Python的基础内容,是一个很好的学习资源。 除此之外,你也可以参考其他的教程和资料,学习Python高级编程技巧和最新语法。不断练习和实践将有助于提升你的编程水平。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python高级编程](https://blog.csdn.net/zYongheng/article/details/119812209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [4万字【Python高级编程】保姆式教学,330页PDF10万字的知识点总结](https://blog.csdn.net/m0_67621628/article/details/123589351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值