[Advanced Python] 12 - Interview Quiz】的更多相关文章

第一步.大扫荡复习 Resource: https://www.liaoxuefeng.com/wiki/1016959663602400/1016959735620448 IDE:https://repl.it/languages/python3 安装Python 加速原理 需要了解PyPy和CPython的不同点. 简单理解:PyPy 为什么会比 CPython 还要快? CPython的思路 def add(x, y): return x + y if instance_has_metho…
Python Coding Interview Python Advanced Use enumerate() to iterate over both indices and values Debug problematic code with breakpoint() Format strings effectively with f-strings Sort lists with custom arguments Use generators instead of list compreh…
基础概念:[Python] 08 - Classes --> Objects 进阶概念:[Advanced Python] 11 - Implement a Class 参考资源:廖雪峰,面向对象编程 参考资源:廖雪峰,面向对象高级编程 参考资源:错误.调试和测试 考点 一.定义核心数据结构 不妨考虑下__init__中采用 DataFrame结构. 二.偏向于使用“函数” 一个类实例也可以成为类似函数这样能直接调用的对象,只要定义的时候有__call__()方法就可以. 三.类属性的添加限制…
高性能编程 几个核心问题 • 生成器是怎样节约内存的?• 使用生成器的最佳时机是什么?• 我如何使用 itertools 来创建复杂的生成器工作流?• 延迟估值何时有益,何时无益? From: https://www.dataquest.io/blog/python-generators-tutorial/ • The basic terminology needed to understand generators • What a generator is • How to create y…
From: 使用元类 动态创建类 与静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的. 一 .type()动态创建 我们说class的定义是运行时动态创建的: 而创建class的方法就是使用type()函数. type()函数既可以返回一个对象的类型,又可以创建出新的类型. 问题来了:type创建了一个类?如何理解.以下便是一个 “动态创建” 的过程. >>> def fn(self, name='world'): # 先定义函数 ... print('He…
#! /usr/bin/python a = 1 b = [2, 3] def func(): a = 2 print("in func a:", a) b[0] = 1 print("in func b:", b) print("before func a:", a) print("before func b:", b) func() print("after func a:", a) print(&qu…
一.不知道什么原则 python文件下面只写方法,所有的可直接执行的代码,都放在条件下 原因.该文件有可能被其他文件调用 二.eval() 将字符串转为相应的数据格式可以想象json转为map 三.模块: 在Python中,一个.py文件就称之为一个模块(Module) 模块一共三种: python标准库 第三方模块 应用程序自定义模块 使用模块还可以避免函数名和变量名冲突.相同名字的函数和变量完全可以分别存在不同的模块中, 同样方法名,模块与主体之间存在相互覆盖的关系(哪个在后就哪个) 四.模…
本节内容 1.数据库介绍 2.mysql数据库安装使用 3.mysql数据库基础 4.mysql命令 5.事务 6.索引 7.Python操作mysql 8.ORM sqlalchemy了解 数据库介绍 什么是数据库? (介于本人还是属于熟悉数据库的,这一块就基本复制粘贴了) 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.…
线程的信号量 线程的信号量是同时允许一定数量的线程更改数据,主要作用在于限制线程的并发. #!_*_coding:utf-8_*_ # Author: hkey import threading, time # 线程的信号量 sem = threading.BoundedSemaphore(5) # 实例化信号量并限制并发为5个线程 def run(): sem.acquire() # 开始 print('running...', threading.get_ident()) time.slee…
目录 1. 生成器 yeild 2. 推导式 2.1 列表推导式: 2.2 生成器推导式: 2.3 字典推导式: 2.4 集合推导式: 3. 内置函数(一) 1. 生成器 yeild 生成器的本质就是一个迭代器 迭代器和生成器的区别: 迭代器是Python中内置的一种节省空间的工具,是python自带的:生成器是程序员自己写的. def func(): if 3>2: yield "你好" # 停止,会记录执行到的位置 if 4>2: yield "我好"…