Python基础(下)

作者: Jarvis_Huang | 来源:发表于2018-06-29 10:38 被阅读9次

    阅读本文大概需要:8分钟


    一、Python交互界面

            在Python刚安装完的时候,有提供了一个Shell交互工具,在开始菜单里面可以找到。

    打开后的界面是这样的。

            这个界面可以在菜单栏中直接打开,也可以打开系统的命令提示符(开始 - 所有程序 - 附件 - 命令提示符)中输入python进入该界面。

    在这个界面里,可以直接输入代码执行,比如

           我们可以看到,它可以直接进行计算,也可以把数值赋值给a和b,再用a和b进行计算。而在进行比较的时候很明显a是小于b的,所有a>b的情况下会返回一个False,b>a则会返回一个True,这个就是布尔类型了。

            在进行条件判断时候,当一个条件返回True的时候,就算执行该条件下的代码,当返回False的时候,就会跳过该代码。比如:

            因为a=100,b=200,a>b是不成立的,根据之前讲的条件判断逻辑,所以跳过了第一个print,执行了第二个print。

            在接下去的学习中,大部分内容都可以直接在这个交互界面中练习。


    二、List和Tuple


    1、list

            List这是python内置的数据类型——列表。它是一种有序的集合。举个例子,列出几大球类名称,并赋值给balls。它的格式是这样子的


    balls= ['足球','篮球','羽毛球','排球']

           这里的变量balls就是一个集合,它包含了足球、篮球、羽毛球、排球这几个元素。在交互界面输入balls就会打印出它的元素来,如图:

            我们也可以直接根据参数的位置来打印参数(计算机中,是从零开始计数的,所以第一个位置都是0,第二个位置是1)如图:

    也可以倒数着来

    在Python中list是可变的有序集合,可以通过Python内置的函数做如下一些操作

  1. 在list后面添加元素(使用append函数);

  2. 删除指定位置的元素(使用pop函数);

  3. 替换指定位置的元素(直接指定list某个位置的元素进行替换);

  4. 添加元素到指定位置(insert函数)。

    可参照下图:

  5.         list很灵活,它的元素可以是多种类型(整型、字符串、布尔类型等等)的,甚至是另一个list。例如:

    灵活的list

    L=['b',123,True,['小明','小花']]

    2、tuple

            tuple也是有序的集合,基本和list相似,不同的是tuple是不可变的,一开始给定什么元素就是什么元素,无法像list那样进行操作。list是用[]括起来的,而tuple是用()括起来的。如

    tuple

    #tuple是用()的

    balls=('足球','篮球')

    #注:如果要定义只有一个元素的tuple,需要使用number2的写法。因为(1)在Python中就是1的意思,所有这里的number不是一个tuple,而是一个整数变量。

    number

    =(1)

    number2=(1,)

    #有一种定义可变的Tuple的方法,就是把Tuple的元素定义为list。这样只是list这个元素不能变,list自己的元素是可以变的。如:

    t

    =('a','b',['c','d'])

    t[2][0]='f'#前面说过,元素位置是从0开始的,所以这里的list位置是2,list中第一个元素位置是0

    t

    [2][1]='g'

    三、dict和set

    1、dict

            dict是dictionary的简称,字典的意思。是Python内置的,如果你了解过其他语言的话,它在其他语言中被称为map。是以(key-value)的形式保存数据的 ,查询的速度很快。

    代码示例

    #考试结束后,公布成绩,通过同学的名字查找对应的成绩,如果用list的话就需要两个list

    names = ['小明', '小花', '大伟']

    scores = [95, 75, 85]

    #用dict的话是这样的,注意大括号

    result = {'小明': 95, '小花': 75, '大伟': 85}

    #查询小明成绩

    result['小明']

            在dict中,一个key只对应一个value,也就是说小明对应的就是95分。如果把95改为85,那么小明对应的就是85分。这这和现实情况是一样的。

    新增一个key-value的话也很简单

    #这样就会存入一个key是小虎,value是110的元素了。

    result['小虎']=110

            如果key不存在的话,是查不到的。在程序中直接查询一个不存在的key会导致程序出错。在python中有两种方法来判断一个key是否存在于一个dict中。

    #有英语基础的话应该很好理解这个代码的含义,如果小明有在result中的话,程序会返回一个True,否则返回一个False

    '小明'

    inresult

    # 用get的话,如果没有设置一个返回参数,那么key不存在时,就会返回None,如果设置了返回参数,如-1,则会不存在时会返回-1.

    result

    .get('小明')

    result.get('小明',-1)

    删除一个dict中的元素和list有点类似

    #删除成功的话,会返回小明对应的value

    result.pop('小明')

    dict不是有序的,它存放元素的顺序和放入元素的顺序无关。

            跟list比起来它插入速度和查询速度很快,不会随着元素的增加而变慢,而list会随着元素的增加而越来越慢。再一个就是dict相对会比较占用资源。

    可以理解为,dict是用空间换取了时间。虽然占用更多内存资源,但是速度更快,节省了时间。



    2、set

            set和dict相似,区别在于它只有key,没有value。所以,它的key是不能有重复的。(在dict中输入同一个key,其实也是覆盖原有key的value),创建一个set,需要提供一个list为输入集合,如

    s = set([1,22,333])

             虽然传入的是一个list的元素,但是实际上它的长度是三个元素。如果传入的list有重复的元素,它会自动过滤掉重复的元素。

    添加元素的话是用add函数,它支持添加重复元素,不过不起效果。

    #添加4到s里

    s.add(4)

    删除元素是用remove函数。

    s.remove(4)

            set的元素也是无序的且没有重复。如果有两个set,我们也可以对它做交集、并集的操作进行元素过滤。如

    s1 = set([1,2,3,4])

    s2 = set([3,4,5,6])

    #&和数学中的交集含义相似

    s1 & s2

    # | 和数学中并集含义相似

    s1 | s2

    至于执行结果什么样,在交互界面打印一下就知道了。


    四、循环

    1、for和while

            在上面中,我们知道,如果直接输入balls会打印出balls中所有的元素。那么,如果我们想一个一个打印出来呢?那就得用到循环了。循环有两种写法:

    #用for来写循环

    balls=['a','b','c','d']

    for ball in balls:

        print(ball)

    #用while来写循环,计算1+2+3+4;n++是指n=n+1

    n=0

    sum=0

    whilen<5:

        sum=sum+n

        n++

    print(sum)


    2、break和continue

            在循环中添加break的话,是指直接结束循环;而添加continue的话是指跳过本次循环进入下一次循环。

    continue用法


    n=0

    whilen<10:

            n=n+1

            ifn%2==0:# 如果n是偶数,执行continue语句

                continue# continue语句会直接继续下一轮循环,后续的print()语句不会执行

        print(n)

    break用法


    n=1

    while  n<=100:

            ifn>10:# 当n = 11时,条件满足,执行break语句

                break# break语句会结束当前循环

            print(n)

            n=n+1

    print('END')

    长按下面按钮,关注本公众号,一起交流学习吧!

    相关文章

      网友评论

        本文标题:Python基础(下)

        本文链接:https://www.haomeiwen.com/subject/dbvnyftx.html