运维之python篇------1.Python 环境搭建、环境变量配置、数据类型

来源:互联网 发布:淘宝店铺新开0信誉排名 编辑:程序博客网 时间:2024/06/14 10:53

ONE DAY

Python[1]是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年

特点:简单;易学;速度快;免费、开源;高层语言;可移植性;解释性;面向对象可扩展性;可嵌入性;丰富的库

应用:图形处理;数学处理;文本处理;数据库编程;网络编程Web编程;多媒体应用;pymo引擎;黑客编程

1.Python 环境搭建

打开WEB浏览器访问http://www.python.org/download/

选择适用于Unix/Linux的源码压缩包。

下载及解压压缩包。

如果你需要自定义一些选项修改Modules/Setup 

执行 ./configure 脚本

Make

make install

Window 平台安装 Python:

以下为在 Window 平台上安装 Python 的简单步骤:打开WEB浏览器访问http://www.python.org/download/在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件 , XYZ 为你要安装的版本号。

要使用安装程序 python-XYZ.msi, Windows系统必须支持Microsoft Installer 2.0搭配使用。只要保存安装文件到本地计算机,然后运行它,看看你的机器支持MSIWindows XP和更高版本已经有MSI,很多老机器也可以安装MSI。 

下载后,双击下载包,进入Python安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。

2.环境变量配置

Linux/unix

·  在 csh shell: 输入 

setenv PATH "$PATH:/usr/local/bin/python"

·  , 按下"Enter"

·  在 bash shell (Linux): 输入 

export PATH="$PATH:/usr/local/bin/python" 

·  ,按下"Enter"

·  在 sh 或者 ksh shell: 输入 

PATH="$PATH:/usr/local/bin/python" 

编写自动补全脚本:

[root@py01 ~]#vim /usr/local/bin/tab.py

Import readline

Import rlcompleter

Readline.parse_and_bind(“tab:complete”)

[root@py01 ~]#vim ~/.bash_profile

PYTHONSTARTUP=/usr/local/bin/tab.py

export PYTHONSTARTUP

[root@py01 ~]# source ~/.bash_profile 

 

 

Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具

控制语句

if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。

for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。

while语句,当条件为真时,循环运行语句块。

try语句。与except,finally配合使用处理在程序运行中出现的异常情况。

class语句。用于定义类型

def语句。用于定义函数和类型的方法。

pass语句。表示此行为空,不运行任何操作。

assert语句。用于程序调试阶段时测试运行条件是否满足。

with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。

yield语句。在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。

raise语句。制造一个错误。

import语句。导入一个模块或包。

from import语句。从包导入模块或从模块导入某个对象。

import as语句。将导入的对象赋值给一个变量。

in语句。判断一个对象是否在一个字符串/列表/元组里

表达式

Python的表达式写法与C/C++类似。只是在某些写法有所差别。

主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。

Python使用and, or, not表示逻辑运算。

is, is not用于比较两个变量是否是同一个对象。in, not in用于判断一个对象是否属于另外一个对象。

Python支持“列表推导式”(list comprehension),比如计算0-9的平方和:

>>> sum(x * x for x in range(10))

案例1:程序输入输出

在python中,主要通过raw_input()获取用户输入信息:从用户那里得到数据输入的最容易的方法是使用raw_input()内建函数。它读取标准输入,并将读取到的数据赋值给指定的变量。需要注意的 是,raw_input()函数读入的数据全部是以字符串的方式存储的。如果用户输的是数字,那么python也将其保存为字符串,当将字符串与数字做数 学运算是将会出现TypeError的错误

 

使用print打印信息

编写login.py脚本,实现以下目标:

1.提示用户输入用户名 

[root@py01 bin]# vim login.py

#!/usr/bin/env python

username = raw_input('username: ')       #使用变量username接收用户输入的字符

print 'Welcome', username                 #输出欢迎信息,字符串和变量名之间用逗号

                                         #隔开,两者之间自动会加上空格

[root@py01 bin]# chmod +x login.py       #给脚本添加执行权限

[root@py01 bin]# login.py 

username: bob                              #输入用户名

Welcome bob

案例2:判断合法用户 

写脚本:

[root@py01 bin]# vim login2.py

#!/usr/bin/env python

username = raw_input('username: ')

password = getpass.getpass(password: ')     #密码隐藏

1if username == 'bob':                         #逻辑强

     if password == '123456':

        print 'Login successful'

else:

   print 'Login incorrect'

else:

  print 'Login incorrect'

2if username == 'bob' and password == '123456':    #简约

        print 'Login successful'

    else:

       print 'Login incorrect'

测试:

1. [root@py01 bin]# ./login2.py

2. username: bob

3. password: 123456

4. Login successful

5. [root@py01 bin]# ./login2.py

6. username: bob

7. password: abcd

8. Login incorrect

9. [root@py01 bin]# ./login2.py

10. username: tom

11. password: 123456

12. Login incorrect

 

案例3:编写判断成绩的程序 

如果成绩大分60分,输出及格” 

如果成绩大于70分,输出” 

如果成绩大于80分,输出” 

如果成绩大于90分,输出优秀” 

否则输出你要努力了” 

1.写脚本

1. [root@py01 bin]# vim score.py

2. 

3. #!/usr/bin/env python

4. #coding: utf8                               #为了程序可以支持中文,指定UTF8编码

5. 

6. score = int(raw_input('enter score: '))

7. 

8. if score > 90:

9.     print '优秀'

10. elif score > 80:

11.     print ''

12. elif score > 70:

13.     print ''

14. elif score > 60:

15.     print '及格'

16. else:

17.     print '你要努力了!'

1. [root@py01 bin]# ./score.py        #测试

2. enter score: 59

3. 你要努力了!

4. [root@py01 bin]# ./score.py

5. enter score: 88

6. 好

程序输入输出关键点:

1.注释;‘’‘ ’‘’ ;文档字符串(编写模块:注释+def;导入模块:import

2.变量(变量定义;变量赋值)

3.运算符(标准、比较、逻辑)

4.数据类型:

数字

int符号整数;long长整数;bool布尔值;float浮点数;complex复数)

python默认是十进制显示;0开头是八进制;0x0X开头是十六进制;0b0B开头是十二进制)

字符串

(引号之间的字符集合)

(字符串切片:索引运算符[]与切片运算符[:];[0]是第一个;[-1]是倒数第一个;切片包含起始字符无末尾字符)

>>>a=’python’------>>>a[0]------>>>a[-2]--------a=[2:]--------a[:4]

(字符串连接操作:+拼接;*重复)

>>>b=’python’----->>>c=’is cool’------->>>print a+’ ‘ +b-------->>>a*2

列表

>>>Alist=[1,”tom”,2,”alice”]------>>>alist[1]=’bob’-------->>>alist[2:]

Innot in 判断成员关系;append追加

>>>Alist=[1,”tom”,2,”alice”]------>>>’tom’ in alist-------->>>‘alice’ not in alist--->>>alist.append(3)

元组

(静态列表,定义不能更改)

字典

(由健-值(key-value)对构成的映射数据类型;通过键取值,不支持下标操作)

数据类型比较:

按照存储模型分类:标量类型:数值、字符串-----容器类型:列表、元组、字典

按更新模型分类:可变类型:列表、字典-------不可变类型:数字、字符串、元组

按照访问模型分类:直接访问:数字-----顺序访问:字符串、列表、元组-----映射访问:字典

If判断语句:

注意;swith/case替代品

(表达式数字为非零值为true;空字符串、空列表、空元组、空字典为false)

原创粉丝点击