为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
学习人数
综合评分9.43
3762人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • 空值None不是0
    查看全部
  •  dict中 获取value

        1.    values() 方法实际上把一个 dict 转换成了包含 value 的list。

        2.     但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。


    查看全部
    0 采集 收起 来源:迭代dict的value

    2020-03-26

  • 任务

    班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:

    L = [75, 92, 59, 68]

    请利用for循环计算出平均成绩。

    • ?不会了怎么办

    • 利用一个sum变量累加就可以计算出总成绩。

      参考代码:

      L = [75, 92, 59, 68]
      sum = 0.0
      for x in L:
          sum = sum + x
      print sum / 4


    查看全部
    0 采集 收起 来源:Python之 for循环

    2020-03-26

  • 创建包含1个元素的 tuple 呢?来试试:

    >>> t = (1)
    >>> print t
    1

    好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?

    因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。

    正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

    >>> t = (1,)
    >>> print t
    (1,)

    Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。

    多元素 tuple 加不加这个额外的“,”效果是一样的


    查看全部
  • 请用 for 循环遍历如下的dict,打印出 name: score 来。
    d= {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }
    for key in d:
        print key + ':', d[key]

    查看全部
  • Python中dict的特点

    dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样

    dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样:

    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }

    当我们试图打印这个dict时:

    >>> print d
    {'Lisa': 85, 'Adam': 95, 'Bart': 59}


    dict的第三个特点是作为 key 的元素必须不可变



    查看全部
  • Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

    比如,列出班里所有同学的名字,就可以用一个list表示:

    >>> ['Michael', 'Bob', 'Tracy']
    ['Michael', 'Bob', 'Tracy']

    list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。

    构造list非常简单,按照上面的代码,直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list:

    >>> classmates = ['Michael', 'Bob', 'Tracy']
    >>> classmates # 打印classmates变量的内容
    ['Michael', 'Bob', 'Tracy']

    由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:

    >>> L = ['Michael', 100, True]

    一个元素也没有的list,就是空list:

    >>> empty_list = []


    查看全部
    0 采集 收起 来源:Python创建list

    2020-03-26

  • 在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:

    a = True
    print a and 'a=T' or 'a=F'

    计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?

    因为Python把0空字符串''None看成 False,其他数值和非空字符串都看成 True,所以:

    True and 'a=T' 计算结果是 'a=T'
    继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'

    要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。

    1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

    2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

    所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。


    查看全部
  • 变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头

    查看全部
  • 字符串还有一个编码问题。

    因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。

    如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

    类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

    Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

    因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。

    Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:

    print u'中文'
    中文

    注意: 不加 u ,中文就不能正常显示。

    Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多行表示法仍然有效:

    转义:

    u'中文\n日文\n韩文'

    多行:

    u'''第一行
    第二行'''

    raw+多行:

    ur'''Python的Unicode字符串支持"中文",
    "日文",
    "韩文"等多种语言'''

    如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

    # -*- coding: utf-8 -*-

    目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。


    查看全部
  • 空值 none 默认为false
    查看全部
    0 采集 收起 来源:Python创建list

    2020-03-26

  • # -*- coding: utf-8 -*-

    如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释

    查看全部
  • 请把下面的字符串用r'''...'''的形式改写,并用print打印出来:

    '\"To be, or not to be\": that is the question.\nWhether it\'s nobler in the mind to suffer.'

    ----------------------

    print r'''"To be,or not to be":that is the question.

    Whether it's nobler in the mind to suffer.'''

    ----------------

    输完要检查,注意小符号

    查看全部
  • 元组的每个元素,指向永远不变,不能指向其他对象,但指向的对象,本身对象内部指向可以改变的

    查看全部
  • 但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串(为什么?)



    查看全部

举报

0/150
提交
取消
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!