Python基础(下)

阅读本文大概需要: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内置的函数做如下一些操作

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

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

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

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

    可参照下图:

  •         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')



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

    ©著作权归作者所有,转载或内容合作请联系作者
    • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
      沈念sama阅读 214,029评论 6 493
    • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
      沈念sama阅读 91,238评论 3 388
    • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
      开封第一讲书人阅读 159,576评论 0 349
    • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
      开封第一讲书人阅读 57,214评论 1 287
    • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
      茶点故事阅读 66,324评论 6 386
    • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
      开封第一讲书人阅读 50,392评论 1 292
    • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
      沈念sama阅读 39,416评论 3 412
    • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
      开封第一讲书人阅读 38,196评论 0 269
    • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
      沈念sama阅读 44,631评论 1 306
    • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
      茶点故事阅读 36,919评论 2 328
    • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
      茶点故事阅读 39,090评论 1 342
    • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
      沈念sama阅读 34,767评论 4 337
    • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
      茶点故事阅读 40,410评论 3 322
    • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
      开封第一讲书人阅读 31,090评论 0 21
    • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
      开封第一讲书人阅读 32,328评论 1 267
    • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
      沈念sama阅读 46,952评论 2 365
    • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
      茶点故事阅读 43,979评论 2 351

    推荐阅读更多精彩内容

    • 一、Python中数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但...
      大嘴蝸牛阅读 1,004评论 0 5
    • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
      绩重KF阅读 1,671评论 0 1
    • 与或运算 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此...
      张文靖同学阅读 312评论 0 1
    • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
      victorsungo阅读 1,674评论 0 5
    • 一张白纸被揉成一团, 再怎么展开都无法抚平。 相处三年多的舍友情, 也因为一个矛盾, 彼此心里留下疙瘩。 时间只能...
      一点小贤阅读 553评论 0 0