Python 知识整理

1、python 六大数据类型

  • int、float(数字)
    • float: 提供大约17位的小数点精度和范围从-308到308的指数,等于 C 中的 double。
  • str(字符串)
  • list(列表)
  • tuple(元组)
  • set(集合)
  • dict(字典)

2、GIL(Global Interpreter Lock,全局解释器锁)

GIL 是全局锁,同一个进程内,同一时刻只有一个线程能得到解释器。

GIL的实现原理:子线程释放 GIL 才会引发主线程调度其他子线程。

例如:子线程运行结束并释放 GIL锁,然后,主线程获得 GIL 锁并调度另外一个子线程,主线程调度线程增加了多线程耗时。

3、迭代器和生成器的区别

  • 生成器是一种特殊的迭代器
  • yield:带 yield 的函数是一个生成器,有一个 next 函数。

4、@property 有什么作用?

  • @property 是 python 的一种装饰器,是用来修饰方法的创建只读属性
  • 以调用属性的形式来调用被 @property 修饰的方法。

5、python 三元表达式

result = True if 1 == 1 else False
print(result)

6、is 和 == (注意和 java 中的 “==” 和 “equals” 区别)

  • [ is ]  :比较的是两个对象的地址,判断两个对象是否为同一个实例对象;
  • [ == ]:比较的是两个对象的值,其调用了对象的 __eq__() 方法。

7、instance 和 type 的区别

  • [ instance ]:用于判断,对象是否是指定类或其派生类的实例;
  • [ type ]:用于判断,对象是否是指定类

8、r'hello\nworld'

  • r:让字符串中的转义字符不生效

9、打印汉字

print(chr(0b100111001011000))

# 乘

10、反射:

  • 主要是应用于类的对象上,在运行时,将对象中的属性和方法反射出来。
  • 反射的常用方法:
    • hasaattr(obj,str)
    • getattr(obj,str)
    • setattr(obj,name,value)
    • delattr(obj,str)


11、实例方法、静态方法(staticmethod) 和 类方法(classmethod)

  • 实例方法:类和实例的属性和方法都可以访问调用
  • classmethod:只能使用类属性和方法,不能使用实例属性和方法
  • staticmethod:类属性方法和实例属性方法都不能使用, 只是依附于该类,相当于独立函数

12、with 语句

  • with 语句操作文件为什么是安全的?
  • 因为 with 语句开始的时候会调用 TextIOWarpper 对象前后会分别调用 __enter__() & __exit__() 函数。

13、调用其他目录

  • sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "../"))
os.path.abspath(path)返回绝对路径
os.path.dirname(path)返回文件路径()不包含文件名
os.path.basename(path)返回文件名
os.path.join(path)合成路径
os.path.exists(path)判断路径 path 是否存在
sys.path.append(path)引用其他目录的模块
import datetime

d1 = datetime.datetime.strptime('2023-02-14 14:00:00', '%Y-%m-%d %H:%M:%S')

d2 = datetime.datetime.strptime(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')

print datetime.datetime.strptime(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')

print datetime.datetime.now()

delta = d2 - d1

print delta.days

print delta.seconds

print datetime.datetime.now()
# 文件读取异常处理,防止文件为空
import os
import sys
import json


try:
    with open('test.txt', 'r') as file_read:
        lines = file_read.readlines()

        for line in lines:
            print(line)
except FileNotFoundError as e:
    print(e)

14、open() 函数

    errors = 'ignore' 

    errors = 'replace'

补充说明:

单下划线

  • _ :临时对象,程序中运行的最近一个结果

变量组成

  • 标识(id('abc'))、类型(type('abc'))、值('abc')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值