为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
初识Python_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现:

    age = 20
    if age >= 18:
        print 'your age is', age
        print 'adult'
    print 'END'

    注意: Python代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为 True,就会执行这个代码块。

    缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

    注意: if 语句后接表达式,然后用:表示代码块开始。

    如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:

    >>> age = 20
    >>> if age >= 18:
    ...     print 'your age is', age
    ...     print 'adult'
    ...
    your age is 20
    adult


    查看全部
    0 采集 收起 来源:Python之if语句

    2018-06-15

  • 前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:

    >>> t = ('a', 'b', ['A', 'B'])

    注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:

    >>> L = t[2]

    然后,我们把list的两个元素改一改:

    >>> L[0] = 'X'
    >>> L[1] = 'Y'

    再看看tuple的内容:

    >>> print t
    ('a', 'b', ['X', 'Y'])

    不是说tuple一旦定义后就不可变了吗?怎么现在又变了?

    别急,我们先看看定义的时候tuple包含的3个元素:

    540538d400010f4603500260.jpg

    当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:

    540538e9000110c003500260.jpg

    表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。

    tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

    理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。


    查看全部
  • tuple和list一样,可以包含 0 个、1个和任意多个元素。

    包含多个元素的 tuple,前面我们已经创建过了。

    包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

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

    创建包含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是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。

    创建tuple和创建list唯一不同之处是用( )替代了[ ]

    获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素,不信可以试试:

    >>> t[0] = 'Paul'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: 'tuple' object does not support item assignment


    查看全部
  •  L[2] = 'Paul'

    对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。

    查看全部
  • Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢?

    如果Paul同学排在最后一个,我们可以用list的pop()方法删除:pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)把Paul删掉:



    查看全部
  • 今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢?

    第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:

    append()总是把新的元素添加到 list 的尾部。

    如果 Paul 同学表示自己总是考满分,要求添加到第一的位置,怎么办?

    方法是用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

    L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。

    查看全部
  • 需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。

    因此,要打印第一名同学的名字,用 L[0]:


    查看全部
  • Python把0空字符串''None看成 False,其他数值和非空字符串都看成 True.

    要解释上述结果,又涉及到 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解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。


    查看全部
  • (1+2)*3  #==>9括号可以提升优先级

    1+2  #==>整数3  1.0+2.0  #==>3.0整数运算结果仍然是整数,浮点数运算结果仍然是浮点数

    为什么要区分整数运算和浮点数运算呢?这是因为整数运算的结果永远是精确的,而浮点数运算的结果不一定精确,因为计算机内存再大,也无法精确表示出无限循环小数,比如 0.1 换成二进制表示就是无限循环小数。

    11/4  #==>2  11%4 #==>3 11.0/4  #==>2.75


    查看全部
  • #赋值不为空,则为真,即a=T。所以左边的a为主导,输出python

    #赋值为空,则为假,即b=F。所以右边的'world'主导,输出world


    查看全部
  •  t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到

    L = t[2]

    然后,我们把list的两个元素改一改:

    L[0] = 'X'

    L[1] = 'Y'

    >>> print t
    ('a', 'b', ['X', 'Y'])

    https://img1.sycdn.imooc.com//5b2239cc0001275f03720084.jpg

    查看全部
  • tuple和list一样,可以包含 0 个、1个和任意多个元素。

    包含多个元素的 tuple,前面我们已经创建过了。

    包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示。

    单元素 tuple 要多加一个逗号“,”,这样就避免了歧义。

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

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

    https://img1.sycdn.imooc.com//5b223909000160a701760073.jpg


    查看全部
  • tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

    https://img1.sycdn.imooc.com//5b22386100015fa902960103.jpg

    查看全部
  • 对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。

    L[-1] = 'adc'------形式

    https://img1.sycdn.imooc.com//5b2237ea000198dd09350166.jpg


    查看全部

举报

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

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