为什么学习python
http://www.apelearn.com/bbs/thread-7739-1-1.html
Python的安装
getconf LONG_BIT 查看系统版本多少位
rpm -q python
uname -r
python -V
yum -y intall gcc*
yum -y install epel-release
yum -y install python-pip
pip install ipython 支持 2.7
pip install ipython==1.2.1 支持 2.6
1.3 Python的文件类型
python -O -m py_compile file.py
-O 优化成字节码
-m 表示把后面的模块当成脚本运行
-OO 表示优化的同时删除文档字符串
1.py pyc pyo
python -O -m py_compile 1.py
ls
python 1.pyo
Python的变量
vim 3.py
#!/usr/bin/python
num1 = input("Please a number:")
num2 = input("Please a number:")
print "%s + %s = %s" % (num1, num2, num1+num2)
print num1 - num2
print num1 * num2
print num1 / num2
Python的数值和字符串
''来定义
元组
()元组:b=(1,2,3,4,5)
列表
列表:a=['a', 1, 'c', 5]
[]
最大的区别在于列表可变,可以修改,但元组不可以。我们把列表和元组统称为序列,另外一种数据结构(字典)在后面内容中介绍
1.8 字典
http://www.apelearn.com/bbs/thread-7966-1-1.html
列表可以通过数字来编号来获取某个元素,而字典是通过名字来获取某个元素。字典是唯一内建的映射类型
典的结构:
{'1':'a', 2:'b', 3:'c'}
由花括号引起来,里面由逗号分隔一对一对的元素,每一对冒号左边叫做键,右边叫做值,其中键是唯一的,值可以不唯一。
字典的键值对是可以更改的:
>>> dic2['1']='aming'
>>> dic2
{'1': 'aming', '3': 'c'}
不仅可以更改某个键的值,也可以增加或删除键值对。
另外,字典也支持成员资格:
这里只能用键,而不能用值。当dic2字典中包含'ab'这个键的时候,返回True。
>>> 'ab' in dic2
True
>>> '2' in dic2
False
这里只能用键,而不能用值。当dic2字典中包含'ab'这个键的时候,返回True。
定义空字典后,我们还可以给他赋值键值对
下面我来定义一个空字典:
>>> dic3={}
>>> dic3
{}
>>> dic3['aming']=100
>>> dic3
{'aming': 100}
>>> dic3['linux']=99
>>> dic3
copy 拷贝
>>> a={1:'abc', 2:'def'}
>>> b=a.copy()
>>> b
{1: 'abc', 2: 'def'}
>>> a={1:'abc', 2:['d','e','f']}
{'linux': 99, 'aming': 100
(1) clear 清空一个字典内容
>>> a={1:'abc', 2:'def'}
>>> a.clear()
>>> a
{}>>> b=a.copy()
>>> b
{1: 'abc', 2: ['d', 'e', 'f']}
>>> b[2].remove('e')
>>> b
{1: 'abc', 2: ['d', 'f']}
>>> a
{1: 'abc', 2: ['d', 'f']}
所以,这时候就需要用另外一种方法deepcopy
>>> from copy import deepcopy
>>> a={1:'abc', 2:['d','e','f']}
>>> c=deepcopy(a)
>>> c
{1: 'abc', 2: ['d', 'e', 'f']}
>>> c[2].remove('d')
>>> c
{1: 'abc', 2: ['e', 'f']}
>>> a
{1: 'abc', 2: ['d', 'e', 'f']}
items 可以把字典直接用列表的形式展示
>>> a={1:'a', 2:'b', 3:'c'}
>>> a
{1: 'a', 2: 'b', 3: 'c'}
>>> a.items()
[(1, 'a'), (2, 'b'), (3, 'c')]
(6) keys将键以列表的形式返回,values将值以列表的形式返回
>>> a={1:'a', 2:'b', 3:'c'}
>>> a.keys()
[1, 2, 3]
>>> a.values()
['a', 'b', 'c']
1.9 字典练习
流程控制--if条件(一)
if 10<2:
print 'hello python'
print 'True'
elif 'a':
print 'a'
else:
print 'ha'
print 'main'
流程控制--if条件(二)
if else
vim 5.py
#!/usr/bin/python
yn = raw_input("Please input {Yes/No]:")
if yn == 'y' or yn == 'yes':
print "programe is runing..."
elif yn == 'n' or yn == 'no':
print "prongrame is exit"
else:
print "plese input {Yes/No]:"
2.2 流程控制--for序列
for循环
2.3 流程控制--for字典
#!/usr/bin/python
for i in xrange(1,10):
for j in xrange(1,i+1):
print "%sx%s=%s" % (j, i, j*i),
2.4 循环退出
2.5 流程控制--while
while 用在有条件的控制上
2.6 使用for循环遍历文件
使用while循环遍历文件
#!/usr/bin/python
with open('/tmp/tmp.txt') as fd:
while True:
line = fd.readline()
if not line:
break
print line,
2.8 统计系统剩余的内存
#!/usr/bin/python
with open('/proc/meminfo') as fd:
for line in fd:
if line.startswith('MemTotal'):
total = line.split()[1]
continue
if line.startswith('MemFree'):
free = line.split()[1]
break
print total,free
2.9 数据类型转换(计算mac地址)
3.0 数据类型转换(列表与字典相互转换)