![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础
没枕头我咋睡觉
邮箱 pillowsleep@163.com
展开
-
【Python】通过socket套接字实现对象传输代码demo
一、脚本运行环境 系统:ubantu16.04 语言:python3.6二、创建UDP服务端# coding=UTF-8import socketimport picklefrom myobj import Myobjdef main(): """ # 创建一个套接字接收数据 :return: """ # 创建一个套接字 receive_socket = socket.socket(socket.AF_...原创 2021-01-14 23:13:18 · 856 阅读 · 1 评论 -
【Python】python读取excel超链接
前言: 表格存在两种格式 .xls 和 .xlsx,所以python存在两种库分别读取这两种格式表格超链接。openpyl针对.xlsx格式,xlrd针对.xls文件。 示例如下: 1 openpyl # coding=utf-8import openpyxlwb = openpyxl.load_workbook("excel_test.xlsx")sheet = wb.activeprint(sheet.cell(1, 1)....原创 2020-11-05 09:33:15 · 8285 阅读 · 0 评论 -
【Python】 virtualenv模块安装与使用
在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰,原创 2020-05-31 11:34:58 · 433 阅读 · 0 评论 -
Python 多线程
demoimport timeimport threadingdef sing(): """ 测试多线程定义的第一个函数 :return: """ for i in range(5): print("=========sing======%d " % i) num = len(threading.enume...原创 2019-05-27 22:04:10 · 92 阅读 · 0 评论 -
Python 多线程资源竞争及互斥锁
demoimport threadingimport timeg_num = 0def fun_add_01(num): global g_num for i in range(num): g_num += 1 print(g_num)def fun_add_02(num): global g_num for i in r...原创 2019-05-27 23:11:56 · 738 阅读 · 0 评论 -
Python 赋值、浅拷贝与深拷贝
在分析这三个概念之前,我们先弄明白python中数据的可变类型与不可变类型 可变类型:列表和字典 不可变类型:数字、元组、字符串 在可变类型中,我们可以修改变量的赋值而不改变数据的内存地址,而在不可变类型中,我们想要修改变量的赋值,必须重新赋值,如以下demo字符串:>>> str = "1234">>> str_01...原创 2019-05-30 22:42:13 · 145 阅读 · 0 评论 -
Python 进程的与与线程的区别
原博客地址:https://www.cnblogs.com/microfan/p/5294250.html引入进程和线程的概念及区别1、线程的基本概念概念线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线...转载 2019-05-28 20:24:55 · 109 阅读 · 0 评论 -
Python 闭包与装饰器
闭包: 在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,且外部函数的返回值是内部函数的引用。那么将这个 函数以及用到的一些变量称之为闭包。def line(k, b): def create_y(x): print(k*x+b) return create_y装饰器: 装饰器本质上是一个Python函...原创 2019-06-12 22:56:03 · 109 阅读 · 0 评论 -
Python 调试器pdb模块
本文demo文件名为test_pdb.py 启动调试的两种方法 1、在文件中导入pdb模块 并在需要处打断点 pdb.set_trace() 2、运行文件时候命令为python -m pdbtest_pdb.py 本文测试文件代码如下list = [11,22,33,44]for i in list: print...原创 2019-05-29 21:26:19 · 207 阅读 · 0 评论 -
Python 全局解释器锁
GIL:Global Interpreter Lock,意思就是全局解释器锁,这个不是python语言的特征,而是Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython,Pypy为什么会有gil?:随着电脑多核cpu的出现核cpu频率的提升,为了充分利用多核处理器,进行多线程的编程方式更为普及,随之而来的困难是线...转载 2019-06-09 16:43:38 · 188 阅读 · 0 评论 -
解释性语言与编译性语言
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。解释性语言在运行程序的时候才会进行翻译。编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)。...原创 2019-06-03 21:59:18 · 107 阅读 · 0 评论 -
Python 中关键字,函数与方法的区别
关键字: 是Python内置的,具有特殊意义的标识符 如何查看Python的关键字import keywordprint(keyword.kwlist)函数: 封装有独立的功能,可以直接调用。后面需要跟()方法: 通过对象调用,主要针对这个对象进行的操作,后面也需要跟()...原创 2019-05-22 22:42:25 · 615 阅读 · 0 评论 -
Python 两个变量的值互换
第一种:c = aa = bb = c第二种a = a + bb = a - ba = a - b第三种a,b = (b,a)括号可以省略原创 2019-05-21 21:17:18 · 720 阅读 · 0 评论 -
Python 变量与引用
一、变量的引用 1、在python中,变量和引用都保存在内存中 2、在python中,函数的传递以及返回值都是靠引用传递的二、引用的概念 1、在python中,变量和数据是分开存储的 2、数据保存在内存中一个位置 3、变量中保存着数据在内存中的地址 4、变量中记录数据的地址,就叫做引用 * 如果变量已经定义,当给一个变量...原创 2019-05-25 04:42:52 · 493 阅读 · 0 评论 -
python lambda匿名函数拓展
可以认为lambda是一个已经定义好的匿名函数,:前面的 x作为入口参数,:后面的作为函数体。在这里 lambda 简化了函数的步骤,使书写代码更为简洁,直观。举例如下:拓展 1 filter () 2 map () 3 reduce()注意 :在python3版本中 ,reduce 归于functools模块时,如需调用r...原创 2018-04-26 20:16:07 · 155 阅读 · 0 评论 -
Linux环境下python下载安装压缩包
用 安装pip举例1 wget 安装包网址 wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate 2 解压 tar xvf pip-1.3.1.tar.gz 3 安装 python pip-1.3.1/setup.py install ...原创 2018-08-09 09:55:47 · 1284 阅读 · 0 评论 -
单例模式
单例模式:单例模式是一种常用的设计模式,该模式设计的目的就是确保一个类只能有一个实例对象存在。单例模式举例代码如下:1 使用类定义单例模式class A(object) __instance = None def __new__(self,*args,**kwargs): if cls.__instance is None: ...原创 2018-08-14 09:00:23 · 101 阅读 · 0 评论 -
闭包与装饰器
闭包:在函数内部再定义一个函数,并且这个函数用到了外部函数的一些变量,这个函数以及用到的外部的一些变量合称为闭包。装饰器:装饰器本身也是一个函数,该函数内部再定义一个函数,并且外部函数的返回值是里面定义的这个函数的引用。闭包demodef line_conf(a, b): def line(x): return a*x + b return line...原创 2018-08-14 09:57:11 · 138 阅读 · 0 评论 -
python内存管理机制
内存管理机制:1 :引用计数 2:垃圾回收 3 进程池引用计数: 引用计数是一种非常高效的内存管理手段,一个python对象被引用时其引用数量加1,当其不在被一个变量引用时其引用数量减1,当一个对象引用数量为0时,则该对象会被删除。垃圾回收:1. 引用计数 计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Pyth...转载 2018-08-14 10:51:58 · 189 阅读 · 0 评论 -
提高Python程序性能的七个习惯
Python在性能方面不卓越,但是使用一些小技巧,可以提高Python程序的性能,避免不必要的资源浪费。1. 使用局部变量尽可能使用局部变量替代全局变量,可以是程序易于维护并且有助于提高性能节约成本。在模块命名空间中将变量替换为局部变量,例如ls = os.linesep。一方面,可以提高程序性能,因为局部变量的搜素速度更快;另一方面,用短标识替换长模块变量,提高可阅读性。2. 减...转载 2018-08-11 19:39:08 · 144 阅读 · 0 评论 -
个人理解的python中生成器与迭代器
概念可迭代对象:在python中,列表,元组,字典,字符串这些可以用for循环遍历的对象称为可迭代对象。迭代器:我们创建一个容器,该容器中可以生成一些数据,这些数据可以遍历,该容器被我们称为迭代器。生成器:生成器为迭代器的一种,使用yield返回函数,每次调用yield函数程序都会暂停,使用next()或send()函数恢复程序进行。为什么要创建迭代器:通过列表等python一...原创 2018-08-12 12:53:09 · 142 阅读 · 0 评论 -
python中is与==的详解
python中, is 是变量指向对象的比较,而==是变量的值的比较看下面两个demo:在 上图中 a 与 b 的值是相同的 ,但他们属于两个对象 ,所以会出现上述结果。在上图中 a 与 b 两个变量指向同一个地址,所以出现上述结果。但是,下面两个则有些不一样此时 a 与 b 都是我们自己创建出来的对象 ,但他们为什么是一样的呢?再看下面一个demo通过...原创 2018-08-08 23:42:01 · 402 阅读 · 0 评论 -
python xlwt模块学习笔记
xlwt模块 1 该模块只是用于新建表格,不能用于修改表格2 使用示例2.1 设置文本样式import xlwt# 使用Workbook创建一个表格wbk = xlwt.Workbook()# add_sheet添加工作表sheet = wbk.add_sheet("sheet")# 设置样式,初始化样式style = xlwt.XFStyle()#设置字体f...原创 2018-09-10 23:19:25 · 1502 阅读 · 0 评论 -
Python 全局变量与局部变量
* 全局变量:在函数外部定义的变量,所有的函数都可以使用这个变量* 局部变量:在函数内部定义的变量,只能在函数内部使用在函数内部修改全局变量,使用关键字globalnum = 1def demo(): global num num = 2 print(num)demo()变量定义位置变量定义的位置,应在调用之前进行设置,如下面的demo,nu...原创 2019-05-20 23:36:46 · 153 阅读 · 0 评论 -
window下修改MySQL服务器密码
1 在window终端下 输入 mysqld --skip-grant-tables;2 在任务管理器中关闭MySQL程序3 再打开一个window终端,然后输入mysql 此时可以免密码登录4 登录mysql后 输入命令 use mysql 进入mysql数据库5 输入命令 update user set authentication_string=password('密码') where u...原创 2018-05-02 23:28:54 · 182 阅读 · 0 评论