2019独角兽企业重金招聘Python工程师标准>>>
一.Python2.7版
1.安装:
下载源码包Python-2.7.x.tar.gz
解压并进入源码包中
解决依赖关系
yum install zlib zlib-devel readline-devel openssl openssl-devel(所需依赖关系的包)
源码安装三部曲
./configura --prefix=/data/program/python27(给源码安装指定目录路径)
make
make install
2.安装pip和setuptools (pip和easy_install 为安装源码包 后面直接跟包名 格式为:/date/program/python/bin/pip install package_name 或者 /date/program/python/bin/easy_install package_name )
说明:安装pip之前必须安装setuptools
setuptools安装:
cd进入到解压的源码包中
/data/program/python27/bin/python setup.py install
安装完毕之后会生成一个easy_install的指令,这个指令在/data/program/python27 下面
安装pip
1.源码安装
与安装setuptools类似
/data/program/python27/bin/easy_install package_name
2.使用easy_install安装pip
/data/program/python27/bin/easy_install pip
注意:安装setuptools需要依赖zlib zlib-devel
安装readline-devel解决键盘删除移动等问题
安装完pip后使用pip install package_name的时候报错HTTPSHANDLER需要安装openssl openssl-devel
3. 可以给pip指定安装源
~/.pip/pip.conf
[global]
timeout=40
index-url= http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
二。ipython |bpython安装
直接用pip安装或者easy_install安装。
1.需要解决的依赖关系有:
enum34 'backports.shutil_get_terminal_size' pathlib2
2.安装ipython bpython
三.python基本使用方法。
常用内置函数:
type():显示数据类型type(123) type('123')
id():显示内存位置 id(a)
dir():显示模块下的所有函数 dir(__builtin__)查看系统所有可用内置的函数
help():显示函数的具体用法 help(platform.uname)
len():显示非数字的字符的长度 len('hello')
max()取最大值的函数
min()取最小的函数
sum()求和
set()集合:set([]|()|str) set(a) & set(b)交集,set(a) | set(b) 并集 set(a) - set(b) 差集
转换函数
int() 转换为整型
str() 转换为字符串型
list() 转换为列表
tuple() 转换为元组
dict() 转换为字典
chr() 依照ascii码规则将数字转为字符
ord() 依照ascii码规则将字符转为数字
hex() 10->16进制转换
bin() 10->2进制转换
oct() 10->8进制转换
序列:
列表list:
定义a=[1,2,3,4]
索引a[0],a[2]
切片a[0:4]从第一个元素开始到第四个元素
a[-1]
a[-1::-1]
列表下方法(函数):
a.append()在列表的最后加上以一个元素
a.insert(index,value)在列表中index索引处的前面加入value
a.pop()默认弹出列表的最后一个元素
a.pop(index)弹出列表的index索引处的元素
a.count(value)统计列表中出现value的次数
a.sort()给列表排序默认升序
a.sort(reverse=True)给列表降序排序
a.reverse()给列表降序排序
元组tuple
定义:a=(1,2,3,4)
索引:a[0]
切片:a[0:4] a[-1::-1]
元组下的方法(函数)
a.count(value)统计列表中出现value的次数
字典dict
定义:
a={'key1':value1,'key2':vaule2}
输出:
a['key1'] a['key2']
注意:key的值不要重复不然会造成字典的数据丢失
字符串操作:
a='hello'
大小写转换:
a.lower()把字符串中所有字符都变成小写
a.upper()把字符串中所有字符都变成大写
判断字符组成:
a.isalpha()判断字符串是否全部是由字符构成的
a.isdigit()判断字符串是否全部是由数字构成的
判断某字符在字符串中的索引位置
a.index('h')
判断某字符在字符串中的出现次数
a.count('l')
判断字符串是由那个字符开始或结尾的
a.startswith('h')
a.endswith('o')
替换字符串中的内容
a.replace('h','H')默认全部替换
a.replace('l','L',1)只替换一次满足替换需求的字符
字符串链接
','.join(a)把字符串以,链接起来h,e,l,l,o
'xxx'.join(a)把字符串以xxx链接起来hxxxexxxlxxxlxxxo
字符串分割
a = 'hello this is my python'
a.split() [hello this is my python]形成一个列表默认以空格分割
a.split(',')指定字符串以逗号分割
表达式操作符:
a*b
a+b
a-b
a/b
a%b
逻辑运算符
a and b
a or b
not a
not b
返回布尔值
成员运算符
1 in [1,2,3,4]
1 not in [1,2,3,4]
返回布尔值
比较运算符
a>b
a a>=b
a<&#61;b
a&#61;&#61;b
a!&#61;b
位运算符
a|b
a&b
a^b
a< a>>b
幂运算
a**b
索引切片
a[i]
a[1:]
a[-1]
a[-1::-1]
循环控制&#xff1a;
while 条件:
代码块
break跳出当前循环体
continue跳出本次循环进入下次循环
pass占位符
for 变量 in obj:
代码块
if bool_value:
代码块
elif bool_value:
代码块
else:
代码块
bool_value:
真&#xff1a;1,True,非空的变量(有元素的列表&#xff0c;元组&#xff0c;字典&#xff0c;字符)&#xff0c;特殊说明:a&#61;0 if判断的时候会把他当作bool值中0
假:0,False,None,[],(),{},a&#61;&#39;&#39;
注意&#xff1a;循环控制当中同等级别的代码必须需要有相同缩进
练习1:逐一显示列表中的元素
while和for都尝试以下
练习2&#xff1a;求100以内的所有的偶数和
练习3&#xff1a;逐一显示指定字典的所有键&#xff0c;并显示总键数
练习4&#xff1a;创建一个包含了100以内的所有的奇数
练习5&#xff1a;逆序显示一个列表当中的所有元素
练习6&#xff1a;l1&#61;[0,1,2,3,4,5,6]
l2&#61;[&#39;Sun&#39;,&#39;Mon&#39;,&#39;Tue&#39;,&#39;Wed&#39;,&#39;Thu&#39;,&#39;Fri&#39;,&#39;Sat&#39;]
左边的作为一个新字典的key
右边做为左边key的值
代码错误提示总结&#xff1a;
IndentationError:缩进错误
IndexError:索引错误
KeyError:字典的key错误
NameError:名字错误&#xff0c;一般都所未定义
SyntaxError:语法错误&#xff0c;关键字或关键符号错误
AttributeError:属性错误&#xff0c;一般都是没有这个属性
KeyboardInterrupt&#xff1a;程序中断
OSError:系统错误
输入输出总结&#xff1a;
输入raw_input
a &#61; raw_input(&#39;please input&#39;)
输入的值就赋值给变量a了
接收到值默认为字符串
输出print
print &#39;hello&#39; 输出一个字符串
print a 输出变量a的值
格式化输出&#xff1a;
print &#39;hello %s this is %s&#39; %(a,b)