Python基础语法

为什么学习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),

    print


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 数据类型转换(列表与字典相互转换)