python
城南君
这个作者很懒,什么都没留下…
展开
-
python中is和==的区别
python在为数字分配内存时,按照数字的内容来分配内存,即a = 1;b = 1时,python只对数字分配一块内存空间,而不是对变量a和b各分配一块内存;在计算机中,每一块内存都有一个唯一的地址以供变量去访问内存中的内容,这个地址会被赋给变量的id属性,所以a = 1;b = 1时a和b的id是一样的,都是1所在内存的地址。在计算机中,当地址指定后,这块地址对应的内存时唯一确定的。示例如下:a...原创 2018-05-30 14:42:24 · 164 阅读 · 0 评论 -
Django框架连接MySQL数据库
最近在学习django这里需要使用到对mysql数据库的连接下面说一下具体操作步骤 此教程针对python3.4及以上 具体教程详见django官网 下面是 django自带数据库sqllite3中在settings.py中的语句操作 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sq...原创 2018-07-19 17:35:52 · 455 阅读 · 0 评论 -
迭代器生成器和Yield
作为一个初入门的小白来说,迭代器生成器还有yield的用法确实是模模糊糊,所以看了官方文档做了一些总结 迭代器 可迭代的对象,是可以直接作用于for循环的对象(iterable)可以用isinsatance()去判断一个对象是否是可迭代的对象,例如下面判断列表是不是可迭代对象 from collections import Iterable#从collections中引入Iterable方法 pr...原创 2018-10-14 11:03:16 · 589 阅读 · 0 评论 -
*args和**kwargs的区别
*args和**kwargs只是为了方便,并没有强制使用他们 args是当你不确定要往函数里面传递多少个参数的时候你可以使用args,举个简单的例子 def func(*args): print(args) func("asd","qwe","zxc") 或者 def func(name,*args): print(name) for i in args: ...原创 2018-10-14 11:51:22 · 572 阅读 · 0 评论 -
栈和队列以及深度遍历和广度遍历
栈 具有先进后出的原则下面是用栈模拟的数据结构 stack = [] #压栈(向栈里存数据)存取的顺序是A,B,C stack.append("A") stack.append("B") stack.append("C") print(stack) #出栈(从栈里取数据)按照顺序来由C到B再到A res = stack.pop() print(res) print(stack) res2 = st...原创 2018-10-14 13:19:15 · 1492 阅读 · 0 评论 -
python中进程之multiprocessing模块
1、启动进程实现多任务 现代操作系统(windows,Mac OS X ,Linux等) 多任务:操作系统可以运行多个任务 早期的cpu都是单核cpu实现多任务原理:操作系统轮流让各个任务交替执行,任务反复执行下去,但是cpu调度执行太快,导致感觉多有任务都在同时执行 多核cpu执行多任务原理:真正的并行执行多任务只能在多核cpu上实现,但是由于 任务数量远远超过cpu的核心数量,所以操作系统也会...原创 2018-10-14 13:32:11 · 669 阅读 · 0 评论 -
python中的进程,线程和协程
线程与进程之间的关系:一个程序至少有一个进程,一个进程至少有一个线程 进程见上一篇博文,其实线程和进程的用法差不多,但是由于GIL(全局解释器锁)的存在导致时时刻刻只能由一个线程在执行,并不能真正意义上实现多线程 1、线程 在一个进程的内部要同时干多件事那么就需要运行多个子任务那么这些子任务叫做线程 线程通常叫做轻型的进程,线程是共享内存空间的并发执行的多任务每一个线程都共享一个进程的资源 线程是...原创 2018-10-14 13:47:11 · 201 阅读 · 0 评论