环境搭建
Centos7默认自带了Python2.7版本,但是因为项目需要使用Python3.x你可以按照此文的三个方法进行安装.
注:本文示例安装版本为Python3.5,
一、Python源代码编译安装
安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository)
sudo yum install yum-utils
sudo yum-builddep python
$ curl -O https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
$ tar xf Python-3.5.0.tgz
$ cd Python-3.5.0
$ ./configure
$ make
$ sudo make install
如果你要使用Python3作为python的默认版本,你需要修改一下 bashrc 文件,增加一行alias参数
alias python='/usr/local/bin/python3.5'
二、从EPEL仓库安装
最新的EPEL 7仓库提供了Python3(python 3.4)的安装源,如果你使用CentOS7或更新的版本的系统你也可以按照下面的步骤很轻松的从EPEL仓库安装。
安装最新版本的EPEL
$ sudo yum install epel-release
$ sudo yum install python34
注意:上面的安装方法并未安装pip和setuptools,如果你要安装这两个库可以使用下面的命令:
1.yum安装
查找包含的pip
# yum search python pip
或
# yum list python\*pip
安装
yum install python34-pip
2.python脚本安装
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo /usr/bin/python3.4 get-pip.py
三、从SCL(Software Collections)仓库安装
最后一种方法是通过Software Collections (SCL) repository来安装,需要注意的是SCL仓库仅支持CentOS 6.5以上版本,最新版的SCL提供了Python3.3版本,具体安装步骤:
$ sudo yum install python33
从SCL中使用python3,你需要一行命令来启用Python3:
$ scl enable python33 <command>
您还可以使用Python编译器来调用一个bash shell:
$ scl enable python33 bash
Python 基础
pip使用
pip install -U pip
pip install SomePackage # 最新版本
pip install SomePackage==1.0.4 # 指定版本
pip install 'SomePackage>=1.0.4' # 最小版本
pip install --upgrade SomePackage
pip uninstall SomePackage
pip search SomePackage
pip show
pip list
pip list -o
变量
Python打包
npm install pyinstaller
pyinstaller -Fw main.py
-F 打包成单个exe文件
-w 取消控制台
python变量
2.1 说明
1. Python 里所有数据——布尔值、整数、浮点数、字符串,甚至大型数据结构、函数以及程序——都是以对象(object)的形式存在的。
2. 所有变量的赋值都是对一个变量的引用, 实际不分配内存只有在该表变量值得时候才分离和分配内存。
>>> a = 5;
>>> id(a)
8978048
>>> b = a;
>>> id(b)
8978048
>>> b = 4
>>> id(b)
8978016
3. 查看变量数据类型 type(a)查看a变量的数据类型
2.2 运算符
1. Python 本 身 支 持 整 数( 比 如 5 和 1000000000 ) 以 及 浮 点 数( 比 如 3.1416 、 14.99 和1.87e4
运算符
运算符 描述 实例 运算结果
+ 加法 1+2 3
- 减法 2-1 1
* 乘法 2*2 4
/ 浮点数除法 3/2 1.5
// 整数除法 3//2 1
% 求余 3%2 1
** 幂次方 3**3 27
2. 在 Python 中,除十进制外你还可以使用其他三种进制的数字:
• 0b 或 0B 代表二进制(以 2 为底)
• 0o 或 0O 代表八进制(以 8 为底)
• 0x 或 0X 代表十六进制(以 16 为底)
2.3 类型转换
1.整形转化 int()
int(True) == 1
int(98.6) == 98.6
int(1.0e4) == 10000
int('99') == 99
int('-23') == -23
int('+23') == 23
int('23') == 23
int('98.6')错误
int('1.0e4')错误
2. 浮点数转换float()
float(True) == 1.0
float(98.6) == 98.6
float('98.6') == 98.6
float(98) == 98.0
float('98') == 98.0
float('-1.5') == -1.5
float('1.0e4') == 10000.0
3. 字符串转换str()
str(True) == 'True'
str(98.6) == '98.6'
str(98) == '98'
str(1.0e4) == '10000.0'
2.3 字符串
1.python3支持unicode
2.定义字符串
= 定义 a = '123',a="123",a="""123""" a = '123'
+ 拼接 a = '123' + '456' a = '123456'
[] 提取 a = '123456' a[0] = '1', a[1] = '2', a[-1] = '6'
[start:end:step]
• [:] 提取从开头到结尾的整个字符串
• [start:] 从 start 提取到结尾
• [:end] 从开头提取到 end - 1
• [start:end] 从 start 提取到 end - 1
• [start:end:step] 从 start 提取到 end - 1 ,每 step 个字符提取一个
• 偏移量从左至右从 0、1 开始,依次增加;从右至左从 -1、-2 开始,依次减小。如果省略 start
,分片会默认使用偏移量 0(开头);如果省略 end ,分片会默认使用偏移量 -1(结尾)
• replace() 替换 'Henny'.replace('H', 'P') == 'Penny'替换第一次出现的
'HennH'.replace('H', 'P', 2) == 'PennP'
• len() 长度 len('123') 3
• split() 分割字符串 '1||2'.split('||') == [1, 2]
• join() 合并字符串 '||'.join('1||2') == '1||2'
• startswith() 判断以什么开头 poem.startswith('All') == True/ False
• endswith() 判断以什么结尾 poem.endswith('All') == True/ False
• find() 查找第一次出现位置 poem.find('All) 73
• rfing() 查找最后一次出现 poem.rfind('All) 73
• count() 在字符串中存在个数 poem.count('All) 25
• isalnum() 是否只包含字母数字 poem.isalnum() True
• strip() 删除结尾字符 'abc...'.strip('.') == 'abc'
• capitalize() 转换首字母大写 'abc'.capitalize
• title() 所有单词首字母大写 'are you ok'.title() == 'Are You Ok'
• upper() 所有字母变为大写 'abc'.upper() == "ABC"
• lower() 所有字母变为小写 'AbC'.lower() == 'abc'
• swapcase() 反转所有大小写 'AbC'.swapcase() == 'aBc'
• center() 字符串居中10字符串长度'abc'.center(10) == ' abc ';
• ljust() 左对齐10字符串长度 'abc'.ljust(10) == 'abc '
• rjust() 右对齐 10字符串长度 'abc'.rjust(10) == ' abc'