Python基础篇-Python基础语法

发布时间:2019-08-22 08:04:31编辑:auto阅读(1858)

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
















关键字