01 2019 档案

36 数据库 库表行增删改查 枚举 集合
摘要:1、库(data文件夹中的文件夹,每创建一个库,这个库的名称就是文件夹的名称,文件夹里面保存着一些这个库相关的初始信息) 增:create database db1 charset utf8; #创建一个库,可以指定字符集 查:show databases; #查看数据库中所有的库 show cre 阅读全文

posted @ 2019-01-16 16:39 =.=== 阅读(313) 评论(0) 推荐(0)

07 线程池回调函数
摘要:import time from threading import current_thread from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor def f1(n,s): return n+s def f2(n): print('回调函数>>>',n.result()) if __n... 阅读全文

posted @ 2019-01-14 15:53 =.=== 阅读(239) 评论(0) 推荐(0)

05 greenlet版协程
摘要:import time # import greenlet from greenlet import greenlet def f1(s): print('第一次f1'+s) g2.switch('taibai') #切换到g2这个对象的任务去执行 time.sleep(1) print('第二次f1'+s) g2.switch() def f2(s):... 阅读全文

posted @ 2019-01-14 15:52 =.=== 阅读(89) 评论(0) 推荐(0)

06 gevent版真正的协程
摘要:import gevent from gevent import monkey;monkey.patch_all() import time import threading def f1(): print('第一次f1') # print(threading.current_thread().getName()) # gevent.sleep(1) time.... 阅读全文

posted @ 2019-01-14 15:52 =.=== 阅读(88) 评论(0) 推荐(0)

03 线程池
摘要:import time from threading import current_thread from concurrent.futures import ThreadPoolExecutor,ProcessPoolExecutor def f1(n,s): time.sleep(1) # print('%s号子线程'%current_thread().ident) ... 阅读全文

posted @ 2019-01-14 15:51 =.=== 阅读(70) 评论(0) 推荐(0)

04 生成器版协程
摘要:import time def f1(): for i in range(10): time.sleep(0.5) print('f1>>',i) yield def f2(): g = f1() for i in range(10): time.sleep(0.5) print('f2>... 阅读全文

posted @ 2019-01-14 15:51 =.=== 阅读(105) 评论(0) 推荐(0)

01 线程的其他方法
摘要:import threading import time from threading import Thread,current_thread def f1(n): time.sleep(1) print('子线程名称', current_thread().getName()) #Thread-1 print('%s号线程任务'%n) if __name__ ==... 阅读全文

posted @ 2019-01-14 15:50 =.=== 阅读(83) 评论(0) 推荐(0)

02 线程队列
摘要:import queue # 一:先进先出队列 # q = queue.Queue(3) #先进先出 fifo first in first out # q.put(1) # q.put(2) # # print('当前队列内容长度',q.qsize()) # q.put(3) # print('查看队列是否满了',q.full()) # try: # q.put_nowait... 阅读全文

posted @ 2019-01-14 15:50 =.=== 阅读(122) 评论(0) 推荐(0)

34 线程的其他方法 队列 线程池 协程
摘要:今日内容: 1 线程的其他方法 2 线程队列 (重点) 3 线程池(重点) 4协程 生成器 Greenlet模块 Gevent模块(重点) 今日内容回顾: 线程的其他方法: Threading.current_thread() #当前线程对象 GetName() 获取线程名 Ident 获取线程id 阅读全文

posted @ 2019-01-14 15:48 =.=== 阅读(140) 评论(0) 推荐(0)

12 子进程不能input
摘要:from threading import Thread from multiprocessing import Process def f1(): name = input('请输入名字') #EOFError: EOF when reading a line # print(name) # if __name__ == '__main__': # inpu... 阅读全文

posted @ 2019-01-14 15:47 =.=== 阅读(210) 评论(0) 推荐(0)

13 事件
摘要:import time from threading import Thread,Semaphore,Event # def func(): # sm.acquire() # print('get sm') # time.sleep(1) # sm.release() # if __name__ == '__main__': # # sm=Semapho... 阅读全文

posted @ 2019-01-14 15:47 =.=== 阅读(83) 评论(0) 推荐(0)

10 gil解释
摘要:import time time.sleep(100) 阅读全文

posted @ 2019-01-14 15:46 =.=== 阅读(133) 评论(0) 推荐(0)

08 多线程的程序不结束多进程的程序不结束的区别
摘要:import time from threading import Thread from multiprocessing import Process #守护进程:主进程代码执行运行结束,守护进程随之结束 #守护线程:守护线程会等待所有非守护线程运行结束才结束 def f1(): time.sleep(2) print('1号线程') def f2(): tim... 阅读全文

posted @ 2019-01-14 15:45 =.=== 阅读(243) 评论(0) 推荐(0)

08 守护线程
摘要:import time from threading import Thread from multiprocessing import Process #守护进程:主进程代码执行运行结束,守护进程随之结束 #守护线程:守护线程会等待所有非守护线程运行结束才结束 def f1(): time.sleep(2) print('1号线程') def f2(): time... 阅读全文

posted @ 2019-01-14 15:45 =.=== 阅读(99) 评论(0) 推荐(0)

06 死锁现象
摘要:import time from threading import Thread,Lock,RLock def f1(locA,locB): locA.acquire() print('f1>>1号抢到了A锁') time.sleep(1) locB.acquire() print('f1>>1号抢到了B锁') locB.release() ... 阅读全文

posted @ 2019-01-14 15:44 =.=== 阅读(71) 评论(0) 推荐(0)

07 递归锁
摘要:import time from threading import Thread, Lock, RLock def f1(locA, locB): # print('xxxx') # time.sleep(0.1) locA.acquire() print('f1>>1号抢到了A锁') time.sleep(1) locB.acquire() ... 阅读全文

posted @ 2019-01-14 15:44 =.=== 阅读(95) 评论(0) 推荐(0)

05 锁 同步 互斥锁
摘要:from multiprocessing import Queue import queue import time from threading import Lock,Thread num = 100 def f1(loc): # num -= 1 loc.acquire() global num # num -= 1 tmp = num t... 阅读全文

posted @ 2019-01-14 15:44 =.=== 阅读(114) 评论(0) 推荐(0)

04 多进程和多线程的效率对比
摘要:import time from threading import Thread from multiprocessing import Process def f1(): # time.sleep(1) #io密集型 # 计算型: n = 10 for i in range(10000000): n = n + i if __name__... 阅读全文

posted @ 2019-01-14 15:43 =.=== 阅读(401) 评论(0) 推荐(0)

02 查看线程的进程id
摘要:import os from threading import Thread # from multiprocessing import Process def f1(n): print('1号',os.getpid()) print('%s号线程任务'%n) def f2(n): print('2号',os.getpid()) print('%s号线程任务'%n... 阅读全文

posted @ 2019-01-14 15:42 =.=== 阅读(214) 评论(0) 推荐(0)

03 验证线程是数据共享的
摘要:import os import time from threading import Thread # from multiprocessing import Process #通过对全局变量的修改来验证线程之间是数据共享的,共享同一进程中的数据 num = 100 def f1(n): # time.sleep(3) global num num = 3 p... 阅读全文

posted @ 2019-01-14 15:42 =.=== 阅读(90) 评论(0) 推荐(0)

01 线程的两种创建方式
摘要:from threading import Thread # from multiprocessing import Process # def f1(n): # print('%s号线程任务'%n) # def f2(n): # print('%s号线程任务'%n) # if __name__ == '__main__': # t1 = Thread(target=f1... 阅读全文

posted @ 2019-01-14 15:41 =.=== 阅读(104) 评论(0) 推荐(0)

33 线程的创建 验证线程之间数据共享 守护线程
摘要:今日内容 线程理论 什么是线程 线程的两种创建方式(重点) 查看线程的pid 计算密集型和io密集型 线程与进程的效率对比 线程空间不是隔离的 守护线程(**) 锁(重点) 死锁现象(重点) 递归锁(重点) 以后用递归锁 子进程不能input 线程不需要main GIL锁(重点) 今日内容回顾: 线 阅读全文

posted @ 2019-01-14 15:39 =.=== 阅读(83) 评论(0) 推荐(0)

10 进程池的回调函数
摘要:import os from multiprocessing import Pool,Process def f1(n): print('进程池里面的进程id',os.getpid()) print('>>>>',n) return n*n def call_back_func(asdf): print('>>>>>>>>>>>>>',os.getpid())... 阅读全文

posted @ 2019-01-14 15:36 =.=== 阅读(120) 评论(0) 推荐(0)

09 进程池的异步方法
摘要:import time from multiprocessing import Process,Pool def f1(n): time.sleep(0.5) # print(n) return n*n if __name__ == '__main__': pool = Pool(4) res_list = [] for i in ran... 阅读全文

posted @ 2019-01-14 15:35 =.=== 阅读(172) 评论(0) 推荐(0)

07 进程池的同步方法和异步方法
摘要:import time from multiprocessing import Process,Pool def f1(n): time.sleep(0.5) # print(n) return n*n if __name__ == '__main__': pool = Pool(4) # pool.apply(f1,args=(2,)) #同步方法 ... 阅读全文

posted @ 2019-01-14 15:34 =.=== 阅读(190) 评论(0) 推荐(0)

08 进程池同步方法
摘要:import time from multiprocessing import Process,Pool def f1(n): time.sleep(1) # print(n) return n*n if __name__ == '__main__': pool = Pool(4) for i in range(10): prin... 阅读全文

posted @ 2019-01-14 15:34 =.=== 阅读(82) 评论(0) 推荐(0)

05 进程池map方法
摘要:import time from multiprocessing import Process,Pool # def f1(n): # time.sleep(1) # print(n) #对比多进程和进程池的效率 def f1(n): for i in range(5): n = n + i if __name__ == '__main__': ... 阅读全文

posted @ 2019-01-14 15:33 =.=== 阅读(438) 评论(0) 推荐(0)

06 测试多进程的时间
摘要:import time from multiprocessing import Process def f1(): time.sleep(2) print('子进程1号') def f2(): time.sleep(3) print('子进程2号') if __name__ == '__main__': s = time.time() p ... 阅读全文

posted @ 2019-01-14 15:33 =.=== 阅读(103) 评论(0) 推荐(0)

03 基于事件的进程通信
摘要:import time from multiprocessing import Process,Event def f1(e): time.sleep(2) n = 100 print('子进程计算结果为',n) e.set() if __name__ == '__main__': e = Event() p = Process(targ... 阅读全文

posted @ 2019-01-14 15:32 =.=== 阅读(145) 评论(0) 推荐(0)

04 信号量
摘要:import time import random from multiprocessing import Process,Semaphore def f1(i,s): s.acquire() print('%s男嘉宾到了'%i) time.sleep(random.randint(1,3)) s.release() if __name__ == '__ma... 阅读全文

posted @ 2019-01-14 15:32 =.=== 阅读(79) 评论(0) 推荐(0)

02 事件
摘要:from multiprocessing import Process,Event e = Event() #创建事件对象,这个对象的初识状态为False print('e的状态是:',e.is_set()) print('进程运行到这里了') e.set() #将e的状态改为True print('e的状态是:',e.is_set()) e.clear() #将e的状态改为Fals... 阅读全文

posted @ 2019-01-14 15:31 =.=== 阅读(139) 评论(0) 推荐(0)

01 管道
摘要:from multiprocessing import Process,Pipe def f1(conn): from_zhujincheng = conn.recv() print('我是子进程') print('来自主进程的消息:',from_zhujincheng) if __name__ == '__main__': conn1,conn2 =... 阅读全文

posted @ 2019-01-14 15:30 =.=== 阅读(74) 评论(0) 推荐(0)

32 管道 事件 信号量 进程池 线程的创建
摘要:今日内容 管道:了解 事件:了解 信号量:了解 进程池:(重点) 线程理论 (知道什么是线程,为什么要有线程) 线程的两种创建方式(重点) 今日内容回顾: 管道: Conn1,conn2 = Pipe() Conn1.recv() Conn1.send() 数据接收一次就没有了 事件: E = Ev 阅读全文

posted @ 2019-01-14 15:27 =.=== 阅读(124) 评论(0) 推荐(0)

02 验证进程之间是空间隔离的
摘要:from multiprocessing import Process num = 100 def f1(): global num num = 3 print('子进程中的num',num) print('>>>>>',num) if __name__ == '__main__': p = Process(target=f1,) p.start()... 阅读全文

posted @ 2019-01-14 15:23 =.=== 阅读(71) 评论(0) 推荐(0)

01 进程的其他方法
摘要:import time import os from multiprocessing import Process # def f1(): # print('子进程的pid',os.getpid()) # print('子进程的父进程的pid',os.getppid()) # print('aaa') # # def f2(): # print('bbb') #... 阅读全文

posted @ 2019-01-14 15:23 =.=== 阅读(95) 评论(0) 推荐(0)

4,5 04 互斥锁 抢票程序
摘要:# 互斥锁/进程锁/同步锁 # import json import time from multiprocessing import Process,Lock def show_t(i): with open('ticket','r',encoding='utf-8') as f: ticket_data = f.read() # print(ticket_... 阅读全文

posted @ 2019-01-14 15:22 =.=== 阅读(159) 评论(0) 推荐(0)

03 守护进程
摘要:import time from multiprocessing import Process def f1(): time.sleep(3) print('xxxx') def f2(): time.sleep(5) print('普通子进程的代码') if __name__ == '__main__': p = Process(target=f1,... 阅读全文

posted @ 2019-01-14 15:22 =.=== 阅读(84) 评论(0) 推荐(0)

07 for 循环 创建进程
摘要:import time from multiprocessing import Process def f1(): time.sleep(0.5) print('xxx') if __name__ == '__main__': p_list = [] #for循环创建子进程,并且完成主进程等待所有子进程执行结束,才继续执行 for i in rang... 阅读全文

posted @ 2019-01-14 15:20 =.=== 阅读(157) 评论(0) 推荐(0)

06 数据共享
摘要:import time from multiprocessing import Process,Manager,Lock # a = 10 # # tmp = a # # tmp -= 1 # # a = tmp # a -= 1 # a = a - 1 def f1(m_d,l2): # m_d['num'] -= 1 # with l2: # l2.a... 阅读全文

posted @ 2019-01-14 15:20 =.=== 阅读(78) 评论(0) 推荐(0)

08 队列
摘要:from multiprocessing import Process,Queue q = Queue(3) #创建一个队列对象,队列长度为3,先进先出 q.put(1) # print('>>>>>',q.qsize()) #返回当前队列的内容长度 print(q.full()) q.put(2) # print('>>>>>',q.qsize()) q.put(3) print(q.ful... 阅读全文

posted @ 2019-01-14 15:19 =.=== 阅读(79) 评论(0) 推荐(0)

09 基于队列的进程通信
摘要:from multiprocessing import Process,Queue def f1(q): q.put('约吗?') if __name__ == '__main__': q = Queue(3) p = Process(target=f1,args=(q,)) p.start() son_p_msg = q.get() p... 阅读全文

posted @ 2019-01-14 15:18 =.=== 阅读(70) 评论(0) 推荐(0)

10 通过队列实现一个生产者消费者模型
摘要:import time from multiprocessing import Process,Queue #生产者 def producer(q): for i in range(10): time.sleep(0.7) s = '大包子%s号'%i print(s+'新鲜出炉,拿去用') q.put(s) def c... 阅读全文

posted @ 2019-01-14 15:17 =.=== 阅读(152) 评论(0) 推荐(0)

11 改进版通过队列实现一个生产者消费者模型
摘要:import time from multiprocessing import Process,Queue #生产者 def producer(q): for i in range(10): time.sleep(0.7) s = '大包子%s号'%i print(s+'新鲜出炉,拿去用') q.put(s) def c... 阅读全文

posted @ 2019-01-14 15:16 =.=== 阅读(113) 评论(0) 推荐(0)

12 再次改进版通过队列实现一个生产者消费者模型
摘要:import time from multiprocessing import Process,Queue #生产者 def producer(q): for i in range(10): time.sleep(0.2) s = '大包子%s号'%i print(s+'新鲜出炉,拿去用') q.put(s) q.p... 阅读全文

posted @ 2019-01-14 15:15 =.=== 阅读(136) 评论(0) 推荐(0)

13 精进版SVIP版通过队列实现一个生产者消费者模型
摘要:import time from multiprocessing import Process,Queue,JoinableQueue #生产者 def producer(q): for i in range(10): time.sleep(0.2) s = '大包子%s号'%i print(s+'新鲜出炉,拿去用') q.... 阅读全文

posted @ 2019-01-14 15:15 =.=== 阅读(102) 评论(0) 推荐(0)

31 进程
摘要:今日内容 操作系统简单介绍 多道技术:(重点) 空间复用 时间复用 进程之间是空间隔离的 分时系统 实时系统 通用操作系统 并发:伪并行,看着像同时运行,其实是任务之间的切换(遇到io切换的会提高代码效率) ,任务切换+保存状态(保存现场) 并行:真正的同时在运行,应用的是多核技术(多个cpu) 进 阅读全文

posted @ 2019-01-14 15:10 =.=== 阅读(110) 评论(0) 推荐(0)

30 进程 线程
摘要:01 multiprocessing模块简单应用 02 for循环创建进程 03 进程传参方式和创建方式2 04 join方法 详细:https://www.cnblogs.com/clschao/articles/9629392.html 阅读全文

posted @ 2019-01-08 15:19 =.=== 阅读(137) 评论(0) 推荐(0)

join方法
摘要:import time from multiprocessing import Process def f1(): time.sleep(2) print('xxxx') def f2(): time.sleep(2) print('ssss') # f1() # f2() if __name__ == '__main__': p1 = Proce... 阅读全文

posted @ 2019-01-08 15:19 =.=== 阅读(180) 评论(0) 推荐(0)

进程传参方式和创建方式2
摘要:from multiprocessing import Process #演示两种传参方式 # def f1(n): # print(n) # # # if __name__ == '__main__': # # p1 = Process(target=f1,args=('大力与奇迹',)) #创建进程对象 # p1 = Process(target=f1,kwargs... 阅读全文

posted @ 2019-01-08 15:18 =.=== 阅读(257) 评论(0) 推荐(0)

multiprocessing模块简单应用
摘要:import time from multiprocessing import Process def f1(): time.sleep(3) print('xxxx') def f2(): time.sleep(3) print('ssss') # f1() # f2() #windows系统下必须写main,因为windows系统创建子进程的方式决定... 阅读全文

posted @ 2019-01-08 15:17 =.=== 阅读(124) 评论(0) 推荐(0)

02 for循环创建进程
摘要:import time from multiprocessing import Process def f1(i): time.sleep(3) print(i) if __name__ == '__main__': for i in range(20): p1 = Process(target=f1,args=(i,)) p1.st... 阅读全文

posted @ 2019-01-08 15:17 =.=== 阅读(141) 评论(0) 推荐(0)

03 验证合法性连接的服务端
摘要:from socket import * import hmac,os secret_key=b'Jedan has a big key!' def conn_auth(conn): ''' 认证客户端链接 :param conn: :return: ''' print('开始验证新链接的合法性') msg=os.urandom(32)#... 阅读全文

posted @ 2019-01-07 21:51 =.=== 阅读(141) 评论(0) 推荐(0)

02 socketserver服务端
摘要:import socketserver class Myserver(socketserver.BaseRequestHandler): def handle(self): while 1: from_client_msg = self.request.recv(1024) # self.request = conn ... 阅读全文

posted @ 2019-01-07 21:50 =.=== 阅读(122) 评论(0) 推荐(0)

03 验证合法性连接的客户端
摘要:from socket import * import hmac,os secret_key=b'Jedan has a big key!' def conn_auth(conn): ''' 验证客户端到服务器的链接 :param conn: :return: ''' msg=conn.recv(32) h=hmac.new(secret... 阅读全文

posted @ 2019-01-07 21:50 =.=== 阅读(128) 评论(0) 推荐(0)

02 socketserver客户端
摘要:import socket client = socket.socket() client.connect(('127.0.0.1',8001)) while 1: msg = input('客户端说>>>') client.send(msg.encode('utf-8')) from_server_msg = client.recv(1024) print... 阅读全文

posted @ 2019-01-07 21:49 =.=== 阅读(140) 评论(0) 推荐(0)

01 ftp上传简单示例服务端
摘要:import json import socket import struct server = socket.socket() server.bind(('127.0.0.1',8001)) server.listen() conn,addr = server.accept() #首先接收文件的描述信息的长度 struct_data_len = conn.recv(4) data_len ... 阅读全文

posted @ 2019-01-07 21:49 =.=== 阅读(198) 评论(0) 推荐(0)

01 ftp上传简单示例客户端
摘要:import os import socket import json import struct client = socket.socket() client.connect(('127.0.0.1',8001)) #统计文件大小 file_size = os.path.getsize(r'D:\python_workspace_s18\day029\aaa.mp4') #统计文件描述... 阅读全文

posted @ 2019-01-07 21:48 =.=== 阅读(136) 评论(0) 推荐(0)

29 上传下载 socketserve
摘要:FTP上传下载文件的代码(简易版) import socket import struct import json sk = socket.socket() # buffer = 4096 # 当双方的这个接收发送的大小比较大的时候,就像这个4096,就会丢数据,这个等我查一下再告诉大家,改小了就o 阅读全文

posted @ 2019-01-07 19:11 =.=== 阅读(175) 评论(0) 推荐(0)

28 黏包现象 缓冲区 黏包方案解决方案
摘要:九 粘包现象 说粘包之前,我们先说两个内容,1.缓冲区、2.windows下cmd窗口调用系统指令 9.1 缓冲区(下面粘包现象的图里面还有关于缓冲区的解释) 每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。 write()/send() 并不立即向网络中传输数据,而是先将 阅读全文

posted @ 2019-01-04 17:20 =.=== 阅读(331) 评论(0) 推荐(0)

27 网络通信协议 udp tcp
摘要:四 网络通信协议(互联网协议) 四 网络通信协议(互联网协议) 第二天再讲这里,大家第二天再看这里把~~~ 网络通信协议是网络传输的灵魂,非常重要,协议即准则,准则是传输消息的格式要求,那么我们从电脑上发出一个消息,到底是以什么样的消息格式发到了对方的手上呢,来看一看这里>>>,网络通信协议 第二天 阅读全文

posted @ 2019-01-03 20:12 =.=== 阅读(274) 评论(0) 推荐(0)

26 socket简单操作
摘要:一.服务端:(互相传) 客户端: 二.服务端(传给服务端) 客户端: 阅读全文

posted @ 2019-01-02 17:12 =.=== 阅读(155) 评论(0) 推荐(0)

26 socket简单操作
摘要:一 为什么要学习socket 一 为什么要学习socket 首先我们python基础部分已经学完了,而socket是我们基础进阶的课程,也就是说,你自己现在完全可以写一些小程序了,但是前面的学习和练习,我们写的代码都是在自己的电脑上运行的,虽然我们学过了模块引入,文件引入import等等,我可以在程 阅读全文

posted @ 2019-01-02 16:44 =.=== 阅读(176) 评论(0) 推荐(0)

14 内置函数 递归 二分法查找
摘要:今日主要内容 1. 昨日补充 repr() 显示出字符串的官方表示形式 chr() ord() 2. 递归 自己调用自己 递归的入口(参数) 和 出口(return) 树形结构的遍历 3. 二分法 掐头结尾取中间 查找效率非常的高1.递归2.二分法查找 阅读全文

posted @ 2019-01-02 16:18 =.=== 阅读(112) 评论(0) 推荐(0)

15 装饰器 开闭原则 代参装饰器 多个装饰器同一函数应用
摘要:今日主要内容 关于函数的装饰器. 1. 装饰器(重点, 难点) 开闭原则: 对功能的扩展开放 对代码的修改是封闭 通用装饰器语法: def wrapper(fn): def inner(*args, **kwargs): # 聚合 在目标函数之前 ret = fn(*arg, **kwargs) # 阅读全文

posted @ 2019-01-02 16:18 =.=== 阅读(116) 评论(0) 推荐(0)

12 生成器和生成器函数以及各种推导式
摘要:今日主要内容 1. 生成器 本质就是迭代器. 一个一个的创建对象 创建生成器的方式: 1. 生成器函数 2. 通过生成器表达式来获取生成器 3. 类型转换(看不到) 2. 生成器函数 (重点) 生成器函数中包含 yield , 返回数据和return差不多. return会立即结束这个函数的执行 y 阅读全文

posted @ 2019-01-02 16:16 =.=== 阅读(112) 评论(0) 推荐(0)

13 内置函数 匿名函数 eval,exec,compile
摘要:今日主要内容 内置函数 https://www.cnblogs.com/sesshoumaru/p/6140987.html#3881959内置函数分类图 匿名函数eval,exec,compile sorted map filter 阅读全文

posted @ 2019-01-02 16:16 =.=== 阅读(86) 评论(0) 推荐(0)

10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量
摘要:今日主要内容 1. 动态传参(重点) *, ** *, ** : 形参: 聚合 位置参数* -> 元组 关键字** -> 字典 实参: 打散 列表, 字符串, 元素 -> * 字典 -> ** 形参顺序(重点): 位置, *args, 默认值, **kwargs 无敌传参 def func(*arg 阅读全文

posted @ 2019-01-02 16:14 =.=== 阅读(110) 评论(0) 推荐(0)

11 第一类对象 闭包 迭代器
摘要:今日主要内容 第一类对象-> 函数名 -> 变量名 函数对象对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 可以作为返回值返回 可以作为参数进行传递 闭包 -> 函数的嵌套 内层函数对外层函数中的变量的使用 好处: 1. 保护变量不被侵害 2. 让一个变量常驻内存 如何通过代码查看一个闭包 阅读全文

posted @ 2019-01-02 16:14 =.=== 阅读(65) 评论(0) 推荐(0)

09 初识函数
摘要:今日主要内容(重点) 1. 什么是函数? f(x) = x + 1 y = x + 1 函数是对功能或者动作的封装 2. 函数的语法和定义 def 函数名(): 函数体 调用: 函数名() 3. 关于函数的返回值 return : 返回 1. 当程序没写过return, 不返回任何结果. 如果你非要 阅读全文

posted @ 2019-01-02 16:13 =.=== 阅读(95) 评论(0) 推荐(0)

08 文件操作
摘要:今日主要内容 1. 文件操作 open 打开 f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes 打开一个文件的时候获取到的是一个文件句柄. 绝对路径 从磁盘根目录开始寻找 相对路径 相对于当前程序所在的文件夹 ../ 上一层文件 文件 阅读全文

posted @ 2019-01-02 16:12 =.=== 阅读(114) 评论(0) 推荐(0)

06 小数据池 is 和 = = 再谈编码 id() decode和encode
摘要:今日主要内容 1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 2. is和==的区别 is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True 阅读全文

posted @ 2019-01-02 16:11 =.=== 阅读(135) 评论(0) 推荐(0)

07 深浅拷贝 join() fromkeys()
摘要:今日主要内容 1. 基础数据类型补充 大多数的基本数据类型的知识.已经学完了 join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到的是字符串 split() 切割. 切割的结果是列表 列表和字典: 都不能在循环的时候直接 阅读全文

posted @ 2019-01-02 16:11 =.=== 阅读(84) 评论(0) 推荐(0)

04 列表和元组 range()
摘要:今日主要内容: 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操作(重点) 添加: 1. append() 追加 2. insert(位置, 元素) 插入指定元素 阅读全文

posted @ 2019-01-02 16:10 =.=== 阅读(99) 评论(0) 推荐(0)

05 字典 增删改查 嵌套 遍历
摘要:1. 什么是字典 字典是以key:value的形式来保存数据 用{}表示. 存储的是key:value2. 字典的增删改查(重点) 1. 添加 dic[新key] = 值 setdefault() 2. 删除 pop(key) 3. 修改 dic[老key] = 值 update() 跟新字典 4. 阅读全文

posted @ 2019-01-02 16:10 =.=== 阅读(102) 评论(0) 推荐(0)

03 字符串相关操作 bool int操作
摘要:1.int操作 2.bool 3.str 4.字符串相关操作 阅读全文

posted @ 2019-01-02 16:09 =.=== 阅读(83) 评论(0) 推荐(0)

02 运算符and or not 和 编码 gbk unicode utf-8 , while循环 ,格式化输出 %s %d
摘要:一. 内容大纲 阅读全文

posted @ 2019-01-02 16:08 =.=== 阅读(116) 评论(0) 推荐(0)

01 python 学习第一天
摘要:大纲 1. 认识计算机 CPU(大脑) 3GHZ + 内存(DDR4) + 主板 + 电源(心脏)+ 显示器 + 键盘 +鼠标+ 显卡 + 硬盘 80MB/s操作系统windows 家用linux 服务器macOS 家用+服务器计算机是一个高度集成的电子电路高低电平. 二进制 二进制没有2 -> 0 阅读全文

posted @ 2019-01-02 16:07 =.=== 阅读(184) 评论(0) 推荐(0)

导航

点击右上角即可分享
微信分享提示