Python语言基础 学习笔记

Python语言基础

    • Python是什么类型的英语
    • 为什么使用Python语言
    • 什么是鸭子类型
    • 什么是monkey patch
    • 什么是自省

Python是什么类型的英语

答:动态强类型语言,静态语言是指代码在编译的时候变量数据类型是确定的,动态语言是指运行后变量数据类型是确定。弱类型是指不同类型进行运算时候,会进行隐式转换,而强类型偏向不容忍隐式类型转换。如Python中 1 + ”1“会报错,而在js中不会。

为什么使用Python语言

  1. 胶水语言、轮子多、应用广泛
  2. 语言灵活、生产力高
  3. 性能问题、代码维护问题(动态语言通病)、Python2/Python3兼顾问题

什么是鸭子类型

  1. 关注点在对象的行为,而不是对象的类型,更关注接口而非类型
  2. 比如file、StringIo、socket对象都支持read/write方法
  3. 再比如定义了__iter__魔法函数的对象可以使用for进行迭代

什么是monkey patch

  1. 运行的时候替换
  2. 比如gevent库需要修改内置的socketfrom gevent import monkey;monkey.patch_socket()
import socket

print('Before monkey patch')
print(socket.socket())       # 

from gevent import monkey
monkey.patch_socket()
print('After monkey patch')
print(socket.socket())       # 

# 自定义monkey patch
import time
print(time.time())

def _time():
    return 'time patch'

time.time = _time            # 1581252175.642231
print(time.time())           # time patch

什么是自省

  1. 运行时判断一个对象的类型的能力
  2. python一起皆对象 理解链接
  3. Inspect 模块提供了更多获取对象信息的函数

你可能感兴趣的:(Python3)