python 之路-语法(一)

2023-01-31 02:01:08 python 之路

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 之路-语法(二)-----------------------


相关文章