分类目录归档:Python-Question

[ python骨架frame ]


相当于当前运行时的帧。

源代码

import inspect
from objprint import op

def f():
    frame = inspect.currentframe(),
    op(frame, honor_existing=False, depth=2)

f()

输出out

(
  <frame 0x23376b59f00
    .f_back = <frame 0x23376c45580 ... >,  # 调用他的frame是谁 就是上一个人
    .f_builtins = { ... },   # 当前frame对应的内置

< Read more >

[ python codeobject ]


一. 1.所有python写的代码都被变异成了codeobject

print(f.__code__)

co_code保存真正的byte code 使用二进制保存的,通俗表达也能理解为他的汇编, 不一般使用dis.dis()来查看汇编

code = f.__code__
code.co_code

二. co_name 函数名字 co_filename 文件的路径 co_lnotab maping 每一个字节码对应的源代码,对应的行数

co_argcount # 参数数量, 函数重载机制相关(除了, *)之外的传参

co_posonlyargcount 函数定义的不用制定key名字的传参

< Read more >

[ python虚拟机字节码 ]


python虚拟机和字节码

底层如何工作,当你每次调用函数,或者运行python的时候,
会建立一个新的frame框架, 然后在这个环境下会一行一行的运行bytecode, 
每一条bytecode在c语言里面都有相对应的代去执行,每一个frame里面,
python会又一个strak就是一个栈,
bytecode跟这个栈进行交互当然也会和这个code obj里面的东西进行交互 

< Read more >

[ SQLAlchemy关系 ]


在 SQLAlchemy 中,engine、metadata、table、column 和 mapper 是用来构建和管理数据库模型的不同概念,它们之间有着一定的关系。

Engine:

  • Engine 是 SQLAlchemy 中的核心概念之一,它代表着数据库的底层连接。Engine 负责与数据库建立连接,并且执行 SQL 语句。

Metadata:

  • Metadata 是用来存储数据库模型元数据的容器。它包含了数据库中所有表的描述信息,例如表的名称、列的信息等。

Table:

  • Table 表示数据库中的一张表格,它是由 metadata 定义的。每个 Table 对象通常对应着数据库中

< Read more >

[ Python基础面试题 ]


语言基础

1. 垃圾回收

  1. 引用计数 在python中每当你建立了一个Object的时候, Python都会帮你数着, 这个object上有多少个引用。当我们写python的时候呢,我们是不需要考虑引用这些事情的,引用的增加和减少都是在cpython中帮我们处理好了的。

引用计数是一种垃圾回收机制,它用于跟踪每个对象被引用的次数。每当一个对象被引用时,其引用计数加1;当一个引用指向该对象被删除或者超出作用域时,其引用计数减1。当引用计数减少到0时,对象就不再被引用,可以认为它没有被使用,此时垃圾回收器会自动回收该对象的内存空间。

Python中的引用计数机制是一种轻量级的垃圾回收机制,它是实

< Read more >

[ python面试考试[2] ]


一. http请求

# rest ful设计风格     # GET       一般用来获取数据, 传数据的方式一般是Url地址后面加?就是params参数     # POST      一般用来创建数据, 一般以json的方式传输, 其他form表单, params等等也可以     # PUT       一般用来修改     # DELETE    一般用来删除     # OPTIONS   前后端分离的情况下, 每次请求之前都会先发这个请求确认

二. GIT workflow 只有一个master分支, 所有提交都直接添加到master分支, 不好管理。

# 之前的工作流是,克隆

< Read more >

[ python面试考试[1] ]


# Scoring criteria:
# 5: pythonic     meeting grade 4, and coding in pythonic way
# 4: complete     correct logic and result. no bug
# 3: minor bug        very close to correct answer. missing corner case or a bit format/cosmetic issue
# 2: medium bug   algorithm can run but answer not right, missin

< Read more >