前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 之路-语法(一)

python 之路-语法(一)

作者头像
py3study
发布2020-01-13 15:28:23
5600
发布2020-01-13 15:28:23
举报
文章被收录于专栏:python3python3

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档