一些python的记录

  • 安装pip3
  • pip更新到最新版本ImportError: cannot import name 'main'
  • setup.py的编译安装
    • linux的编译安装
  • 虚拟环境
    • linux下载
    • 创建
    • 环境变量
    • 进出、删除、查看
  • 在linux中查找python安装包的路径
  • 统计list中各个元素出现的次数
  • 实现栈、队列
  • 时间类型转换

安装pip3

sudo apt update
sudo apt install python3-pip

pip更新到最新版本ImportError: cannot import name ‘main’

/usr/bin/pip改为

from pip._internal import main

setup.py的编译安装

python setup.py build
python setup.py install

linux的编译安装

linux编译安装中configure、make和make install各自的作用

  • ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
  • make是用来编译的,它从Makefile中读取指令,然后编译。
  • make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

虚拟环境

linux下载

sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper

或者

sudo pip install virtualenv
sudo pip install virtualenvwrapper

创建

mkvirtualenv 虚拟环境名称mkvirtualenv -p python路径 虚拟环境名称

whereis python3来确认python路径

环境变量

# 方法一临时使用
# 找到virtualenvwrapper的脚本文件
whereis virtualenvwrapper
# 进入该目录
cd /usr/local/python3/bin
# 执行脚本文件激活virtualenvwrapper
source virtualenvwrapper.sh
# 可以正常使用命令了
# 方法二添加至环境变量
# 方法一每次重启后都需要手动激活,不方便,将命令添加到环境变量
sudo vi ~/.bashrc
# 在末尾添加一行
source /usr/local/python3/bin/virtualenvwrapper.sh
# 保存后执行
source ~/.bashrc
# 现在可以正常使用命令了,且每次重启主机自动加载命令

进出、删除、查看

# 进入虚拟环境
workon [虚拟环境名称]
# 退出
deactivate
# 删除
rmvirtualenv [虚拟环境名称]
# 虚拟环境列表
pip list
pip freeze

在linux中查找python安装包的路径

~$ python -c "import pip;print(pip)"
<module 'pip' from '/usr/local/lib/python2.7/dist-packages/pip/__init__.pyc'>

统计list中各个元素出现的次数

a = [1, 2, 3, 1, 1, 2]
dict = {}
for key in a:dict[key] = dict.get(key, 0) + 1
print dict

实现栈、队列

# 后进先出
class Stack():def __init__(self,size):self.size=sizeself.stack=[]self.top=-1def push(self,x):  # 入栈之前检查栈是否已满if self.isfull():raise exception("stack is full")else:self.stack.append(x)self.top=self.top+1def pop(self):  # 出栈之前检查栈是否为空if self.isempty():raise exception("stack is empty")else:self.top=self.top-1self.stack.pop()def isfull(self):return self.top+1 == self.sizedef isempty(self):return self.top == '-1'def showStack(self):print(self.stack)s=Stack(10)
for i in range(6):s.push(i)
s.showStack()
for i in range(3):s.pop()
s.showStack()"""
类中有top属性,用来指示栈的存储情况,初始值为1,一旦插入一个元素,其值加1,利用top的值乐意判定栈是空还是满。
执行时先将0,1,2,3,4,5依次入栈,然后删除栈顶的前三个元素
"""

队列

# 先进先出
class Queue():def __init__(self,size):self.size=sizeself.front=-1self.rear=-1self.queue=[]def enqueue(self,ele):  # 入队操作if self.isfull():raise exception("queue is full")else:self.queue.append(ele)self.rear=self.rear+1def dequeue(self):  # 出队操作if self.isempty():raise exception("queue is empty")else:self.queue.pop(0)self.front=self.front+1def isfull(self):return self.rear-self.front+1 == self.sizedef isempty(self):return self.front == self.reardef showQueue(self):print(self.queue)q=Queue(10)
for i in range(6):q.enqueue(i)
q.showQueue()
for i in range(3):q.dequeue()
q.showQueue()
print(q.isempty())"""
类中设置两个属性分别为front和rear来模拟队列的头尾指针,通过它们值的关系可以判定队列是空还是满
"""

时间类型转换

导图:幕布思维导图

一些python的记录相关推荐

  1. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  2. python进阶记录之基础篇二十六_Python进阶记录之基础篇(十六)

    回顾 在Python进阶记录之基础篇(十五)中,我们介绍了面向对象的基本概念以及Python中类和对象的基础知识,需要重点掌握类的创建和对象的使用.今天我们继续讲一下Python中面向对象的相关知识点 ...

  3. python日志记录_Python日志记录

    python日志记录 To start, logging is a way of tracking events in a program when it runs and is in executi ...

  4. 【Python学习记录】Numpy广播机制(broadcast)

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...

  5. Python学习记录——英文名修改成标准格式

    Python学习记录--英文名修改成标准格式 功能需求 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', ...

  6. python学习记录——容器篇

    容器 字符串 下标(索引) # 下表也称为是索引,是一个整型数字,可以是正数,也可以是负数 # 正数下标是从0开始的,表示第一个字符,-1表示最后一个字符 my_str = 'hello'h e l ...

  7. Python学习记录day6-反射、常用模块

    Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...

  8. Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)

    一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...

  9. 蜗牛一步一步地往上爬的Python学习记录

    Python学习记录 前言 简介 基础知识 类型变量 高级特性 函数式编程 高阶函数 偏函数 装饰器decorator 匿名函数 前言 第一,绝对不断更: 第二,绝对认真写: 第三,绝对撰写的公正漂亮 ...

  10. Python学习记录:shapefile.Writer报错

    Python学习记录 shapefile.Writer报错 w=shapefile.Writer(r.shapeType)使用时报错 Exception: The target filepath 5 ...

最新文章

  1. php 编译安装降解,对php编译安装的修正
  2. 工程师如何从技术转型做管理?
  3. 数据分析 python 用途-用Python进行数据分析-2
  4. Matplotlib实例教程 | 句子长度累积分布函数图
  5. 监控操作系统和服务器,LoadRunner如何监控不同操作系统的服务器?
  6. 2012 Java陷阱
  7. setTimeout(fn,0)
  8. 月薪23333元!淘宝招募“首席鉴雕官”,只需天天哈哈哈哈哈
  9. [Linux系统] VMware克隆CentOS7,解决网络配置问题
  10. 常用的Regex验证方法
  11. 卡巴斯基2014/10.0 KEY文件下载 - KES 10.0下载
  12. Hbase 命令及配置文件
  13. hmcl启动器安装游戏版本失败_HMCL 启动器教程 #2 安装游戏版本、模组加载器与高清修复...
  14. Calendar类、自定义实现日历控件
  15. matlab仿真下载,MATLAB仿真 关于MATLAB建模仿真源程序 - 下载 - 搜珍网
  16. 区间多目标优化算法IP-MOEA
  17. 延迟队列DelayQueue研究
  18. Halcon学习---毛刺凸点检测
  19. 「Remmina」- 远程桌面客户端(SSH、SFTP、VNC、Windows Remote Desktop、...) @20210402
  20. android逆向学习路线

热门文章

  1. Android中notification通知的Demo——震动,铃声,Led灯闪烁
  2. 轨道交通信号系统的可靠性与安全性
  3. C 使用fread读取文件
  4. 使用c#的正则表达式验证中文字符
  5. 2022年监理工程师案例分析考试每日一练及答案
  6. ubuntu下安装gitbook并生成电子书
  7. 参观微信总部的一些分享
  8. zzulioj 1006: 求等差数列的和
  9. 【优化算法】蚁狮优化算法(ALO)【含Matlab源码 1307期】
  10. Android 悬浮窗,绝对是目前相关悬浮窗开源库最完美的适配方案