python 之路-语法(一)

发布时间:2019-08-13 07:37:10编辑:auto阅读(1409)

    python 之路-语法(一)

        

         Python 是一种面向对象、解释型计算机程序语言,语法简洁清晰,特色之一是强制用空白符

         作为语句缩进,既支持面向过程编程也支持面向对象编程。

         

         Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的

         标点符号和英文单字,让代码看起来更加整洁美观。

         

         Python是一种高级语言,使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层

         细节Python 可以直接从源代码运行,在计算机内部python解释器把源代码转换成字节码的中

         间形式,然后在把它编译成计算机使用的机器语言。

         

         Python 具有丰富和强大的库,它常被称为‘胶水语言’,能把用其他语言制作的各种模块

        (尤其是C/C++)很轻松地连结在一起。python的标准库很庞大,它可以帮助你处理各种工作,

         包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮

         件、XML、HTML、WAV文件、密码系统、GUI(图形用户界面)、TK和其他与系统有关的操作。


    一、 python 基础    


        1. python 数据类型有整数、长整数、浮点数、复数和布尔型。

        

             整  型(int)       python自动识别数字类型,如果输入的类型是整型就会存储整型

             长整型(long)      如果整数发生溢出python会自动将整数转换为长整型(或有字母L)                浮点型(float)     用来处理实数,既带有小数的数字 例:3.21 和 3.3E-1

             复数型(complex)   如 1 + 2j 2.2 + 1.1j

             布尔型(bool)      1 或 0 对应 Ture 或 False 


        2.字符串

             python中可用单引号或双引号来表示字符串;

             python使用三引号(''' 或 """) 来表示多行字符串,通过'\'转义;

             通过r 进行反转义-既原样显示,通常r'\n' 就会显示\n而不是换行;

             python允许处理unicode字符串,前面加u  ,例:u'shuoming u'。

                

        3.变量命名原则

             a. 大小写字母、数字或下划线组成;

             b. 数字不能为第一位;

             c. 不能与关键字重复;

             注:以下关键字不能声明为变量名;

            ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',                 'else','except', 'exec', 'finally', 'for', 'from', 'global', 'if','import',

              'in', 'is','lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try'

              , 'while', 'with','yield']

     

            变量在内存中的变化机制--变量赋值

            变量中如果修改字符串就会重新开辟空间,C语言中没有字符串的概念只有字符概念,

            所有字符集合组成字符串的概念

            

    wKiom1aLjMKiKFA9AAAjGTnC_cs664.png

            name1 = 'apache'

            name2 = name1

            如果变量name1再次被赋值后,变量name2的值不会改变:由于变量name1赋值给变量

            name2时只是将其信息保留在变量name2中,并没有将'apache'赋值给name2;


        4.输入输出

           

            >>> name = input('请输入用户名:')   #将输入的用户名赋值给变量name

            请输入用户名:shuoming

            >>> print(name)                      #输出变量name信息

            shuoming


        5.运算符及优先级

          

           (1)运算符

            算数运算符    :  +  -    *   /    %(商取余)  **(幂运算)  // (商取整)

            比较运算符    :  ==   !=   <> >  <   >=  <=   is    

            赋值运算符    :  =   +=  -=    *=   /=   %=  **=    //=

                    *= 乘法赋值运算符  c *= a 等效于 c = c * a

                    /= 除法赋值运算符  c /= a 等效于 c = c / a

                    %= 取模赋值运算符  c %= a 等效于 c = c % a

                    **= 幂赋值运算符   c **= a 等效于 c = c ** a

                    //= 取整除赋值运算符  c //= a 等效于 c = c // a

            位运算符      :  & | ^ ~ << >>

            逻辑运算符    :  and     or     not

            成员运算符    :  in      not in

            身份运算符    :  is      not  is

            #  "+"  两个对象相加 ,数字 或 字符串

            # “-” 去一个数字的相反数或者实现两个数字相减

            #  "*"  两个数的相乘或者字符串重复

            # < > != <= >= == 小于、大于、不等于、小于等于、大于等于、等于号 ,返回一个bool值

            # 与运算两个1为1,其他为0

            # 或运算两个0为0,其他为1

            # 异或运算两个1  、0 为0,其他为1

            # 左移一个单位相当于乘2,左移两个单位相当于乘4,左移n个单位相当于乘2的n次幂。

            # is 判断其中”==“ 表示值相等,而 ”is“ 表示同一对象。

           

           (2)优先级

           
            # 优先级排名第一名---函数调用、寻址、下标

            # 优先级排名第二名---幂运算 **

            # 优先级排名第三名---翻转运算~

            # 优先级排名第四名---正负号

            正负号的使用方法紧挨着操作数的,否则会出错,这就说明正负号的优先级优于加减乘除运算

            # 优先级排名第五名---*  /  %   

            # 优先级排名第六名---+   -

            # 优先级排名第七名--- <<  >>

            # 优先级排名第八名---按位 &  ^   | 

            # 优先级排名第九名---比较运算符

            # 优先级排名第十名---逻辑 not and or

            # 优先级排名十一名---lambda 表达式


    二、数据结构

        python 中有三种内建的数据结构:列表、元祖、字典。

        

        1.列表

            定义--list 是处理一组元素的集合容器,列表是可变得数据结构,例如:[1,2,'str'] []

            方法-- in:判断列表是否包含某项用in;支持索引和切片;使用len() 查看长度;使用del 

                       删除列表中的项

                # in

                >>> print students

                ['zhao', 'wang', 'zhang', 'liu']

                >>> "wang" in students                

                True

                >>> "lihongye" in students

                False

                >>> 

                # len

                >>> test_list

                ['shuoming', 'python', 'search', 'python', 'automatic', 1, 2]

                >>> len(test_list)

                7

                # del

                >>> test_list

                ['shuoming', 'python', 'search', 'python', 'automatic', 1, 2]

                >>> del test_list[0]         # 删除第一个元素

                >>> test_list

                ['python', 'search', 'python', 'automatic', 1, 2]

                >>> del(test_list[2:4])      # 删除2,3两个元素,也可间隔元素删除

                >>> test_list

                ['python', 'search', 1, 2]   

                >>> del test_list              # 删除整个列表

                >>> test_list

                Traceback (most recent call last):

                  File "<stdin>", line 1, in <module>

                NameError: name 'test_list' is not defined

                >>> 

            list 常用函数:

            ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove',          'reverse', 'sort',‘clear’]

            pop    : 只删除列表最后一个值;

            remove :可以删除特定值  例:name_list.remove('python')

            insert :在固定位置插入  例:name_list.insert(3,"python")

            sort   :       排序后特殊字符在前  

            extend :       a+b   或 a.extend(b)

            copy   :       拷贝(深拷贝和浅拷贝)

            1)append

                >>> name_list.append("python")

                >>> name_list

                ['shuoming', 'python', 'search', 'python']

            2)index

                >>> name_list.index("python")

                1

            3)count

                >>> name_list.count("python")

                2

            4)insert

                >>> name_list.insert(3,"python")

                >>> name_list

                ['shuoming', 'python', 'search', 'python', 'python']

            5)pop()

                >>> name_list.pop()

                'python'

                >>> name_list

                ['shuoming', 'python', 'search', 'python']

            6)remove

                >>> name_list.remove('python')

                >>> name_list

                ['shuoming', 'search', 'python']

            7)reverse

                >>> name_list

                ['shuoming', 'search', 'python', '@', '$']

                >>> name_list.reverse()

                >>> name_list

                ['$', '@', 'python', 'search', 'shuoming']

            8)sort

                >>> name_list

                ['shuoming', 'search', 'python',  '@', '$']

                >>> name_list.sort()

                >>> print (name_list)

                ['$', '@', 'python', 'search', 'shuoming']

            9)clear

                >>> test_list

                ['shuoming', 'python', 'search', 'python', 'automatic', 1, 2]

                >>> test_list.clear()

                >>> test_list

                []

                >>>


        2.元祖

            元祖(tuple)是通过圆括号()其中用逗号分隔的项定义例如:(1,2,'str');与列表

            很相似,但元祖不能修改。

            由于元祖不能更改,因此数据更加安全;

            方法-- 可以使用 in 判断元素是否在tuple中,支持索引和切片;

            

            A : tuple与list可以互相转换,使用内置函数list()和tuple()。

            

                tuple_list = [1,2,'str']

                print(tuple_list)  # [1,2,'str']


                to_tuple = tuple(tuple_list)

                print(to_tuple)  # (1,2,'str')


                to_list = list(to_tuple)

                print(to_list)  # [1,2,'str']


            B : 元祖最常用法是打印语句

                

                name = 'Mr li'

                age = 25

                msg ='''

                name : %s

                age : %d

                ''' % (name,age)

                print(msg)


                name : shuoming

                age : 10

            

            元祖常用函数如下:

            

            count(value)     -- 返回元祖中值为values元素的个数

                num_tuple = (1,2,'str')

                num_ruple.count(2) # 1

            index(value,[start,[stop]])     -- 返回列表中出现的值第一个value的索引,

                                                如果没有则返回 ValueError

                t = (1, 2, 3, 1, 2, 'str')

                print(t.index(3))

                try:

                print(t.index(str))

                except ValueError:

                print("ValueError")  # ValueError

                

        3.字典

            字典是另一种可变容器模型,像其他容器模型一样可随意存储任一类型对象。

            字典由key和value组成键值对。字典也被称作关联数组或哈希表。

            每个键和值用冒号隔开(:),每对用逗号分开,整体放在花括号中{}例:

            dict = {'key1':'value1','key2':'value2','key3':'value3'}

                键必须唯一,值可以重复,值可取任意数据类型。


    三、控制流

        1.if 语句

            if 条件判断表达式

            if condition:

                action1     

            elif condition:

                action2

            else:

                action3

            # action 必须有缩进量 例如:

            a = 10

            if a>=80:

                print("优秀")

            elif a>=60:

                print("及格")

            else:

                print("不及格")

        

        2.while 语句

            while 循环为真时执行循环体

            while  条件为真:

                循环执行该部分语句

            else:

                条件为假,执行该部分语句

            例:

            i=5

            while i:

        print  "hello"

        i=i-1

            else:

                print "结束"

            

        3.for 语句

            a=range(1,5)

            print a

            range(1,5,2)     步长为2

            for   k  in range(0,3): (range函数 集合) 或者 [1,2,3,4,5] 等集合

                k in [1,2,3,4,5]

        k in (1,2,3,4,5)

        i=0

        print i

        i=i+1

        print i

            

            注: 当 循环字典的时候,需要两个变量

            k={"姓名":"calvin","籍贯":"state"}

            for ks,vs in k.items():

        print ks

        print vs


        4.break 语句

            break 语句是强制停止循环执行的意思,break语句用刚在循环语句中,出现break

            的地方直接停止本层循环执行。

            例:

            a=1

            while a:

        print a

        a=a+1

        if a==5:

                break


        5. continue 语句

            continue 语句的功能是强制停止循环中的这一次执行,直接跳到下一次执行。

            例:

            a=1

            while a<7:

        a=a+1

        if a==3:

                    continue

                print a









              -----------------------见续 python 之路-语法(二)-----------------------


关键字

上一篇: Python开发(一)

下一篇: python的学习之旅