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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 3-4Python中什么是变量

    在Python中,变量的概念基本上和初中代数的方程变量是一致的。

    例如,对于方程式 y=x*x x就是变量。当x=2时,计算结果是4,当x=5时,计算结果是25

    只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

    在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头,比如:

    a = 1

    变量a是一个整数。

    t_007 = 'T007'

    变量t_007是一个字符串。

    在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:

    a = 123    # a是整数 print a a = 'imooc'   # a变为字符串 print a

    这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。

    静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(// 表示注释):

    int a = 123; // a是整数类型变量 a = "mooc"; // 错误:不能把字符串赋给整型变量

    和静态语言相比,动态语言更灵活,就是这个原因。

    请不要把赋值语句的等号等同于数学的等号。比如下面的代码:

    x = 10 x = x + 2

    如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12。

    最后,理解变量在计算机内存中的表示也非常重要。当我们写:a = 'ABC'时,Python解释器干了两件事情:

    1. 在内存中创建了一个'ABC'的字符串;

    2. 在内存中创建了一个名为a的变量,并把它指向'ABC'

    也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:

    a = 'ABC' b = a a = 'XYZ' print b

    最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:

    执行a = 'ABC',解释器创建了字符串  'ABC'和变量 a,并把a指向 'ABC':

    执行b = a,解释器创建了变量 b,并把b指向 a 指向的字符串'ABC':

    执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

    所以,最后打印变量b的结果自然是'ABC'了。

    任务

    等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用变量 x1 表示等差数列的第一项,用 d 表示公差,请计算数列

    1 4 7 10 13 16 19 ...

    前 100 项的和。

    注意: ???表示任务,以后章节同理,不再做提示。

    • ?不会了怎么办

    • 可以用变量

      x1 = 1 表示第一项的值
      d = 3  表示公差
      n = 100 表示前100项
      x100 表示第100项的值

      首先计算第N项的值:

      x100 = x1 + (n - 1) * d

      再根据公式

      求和 s = (x1 + x100) * n / 2

      print可以把变量的值打印出来。

      参考代码:

      x1 = 1 d = 3 n = 100 x100 = x1 + (n - 1) * d s = (x1 + x100) * n / 2 print s

       


    查看全部
  • 3-3Python的注释

    任何时候,我们都可以给程序加上注释。注释是用来说明代码的,给自己或别人看,而程序运行的时候,Python解释器会直接忽略掉注释,所以,有没有注释不影响程序的执行结果,但是影响到别人能不能看懂你的代码。

    Python的注释以 # 开头,后面的文字直到行尾都算注释

    # 这一行全部都是注释... print 'hello' # 这也是注释

    注释还有一个巧妙的用途,就是一些代码我们不想运行,但又不想删除,就可以用注释暂时屏蔽掉:

    # 暂时不想运行下面一行代码: # print 'hello, python.'

                                                 

    任务

    将代码编辑器中的 "print 'hello'" 语句修改成注释语句

    • ?不会了怎么办

    • 在 print 'hello'语句前加 #


    查看全部
    0 采集 收起 来源:Python的注释

    2018-10-10

  • 3-2Python之print语句

    print语句可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:

    >>> print 'hello, world'

    注意:

    1.当我们在Python交互式环境下编写代码时,>>>是Python解释器的提示符,不是代码的一部分。

    2.当我们在文本编辑器中编写代码时,千万不要自己添加 >>>。

    print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出:

    >>> print 'The quick brown fox', 'jumps over', 'the lazy dog' The quick brown fox jumps over the lazy dog

    print会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的:

    print也可以打印整数,或者计算结果:

    >>> print 300 300    #运行结果 >>> print 100 + 200 300    #运行结果

    因此,我们可以把计算100 + 200的结果打印得更漂亮一点:

    >>> print '100 + 200 =', 100 + 200 100 + 200 = 300     #运行结果

    注意: 对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。

     

    任务

    请用两种方式打印出 hello, python.

    • ?不会了怎么办

    • 可以把 hello, python 视为一个字符串 'hello, python',

      也可以把它视为两个字符串 'hello,' 'python'

      参考代码:

      print 'hello, python'

      print 'hello,', 'python'


    查看全部
  • 注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括:
    1. 有序集合:list,tuple,str和unicode;
    2. 无序集合:set
    3. 无序集合并且具有 key-value 对:dict


    查看全部
    0 采集 收起 来源:什么是迭代

    2018-10-10

  • Python 适合的的领域

        Web网站和各种网络服务

        系统工具和脚本

        作为“胶水”语言把其他语言开发的模        块包装起来方便使用

    Python不适合的领域

        贴近硬件的代码(首选C)

        移动开发:IOS/Android有各自的开发语言(ObjC,Swift/java)

        游戏开发:C/C++

    查看全部
  • 可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。

    查看全部
  • 12345https://img1.sycdn.imooc.com//5bbd77a00001e65f03790315.jpg

    查看全部
  • 汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数。

    我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为:

    如果a只有一个圆盘,可以直接移动到c;

    如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个圆盘移动到c。


    查看全部
  • dict内部是无序的,不能用dict存储有序的集合。


    dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。

    查看全部
  • 使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。可以试试计算 fact(10000)。

    查看全部
  • 但其实这只是一种假象,Python函数返回的仍然是单一值:

    >>> r = move(100, 100, 60, math.pi / 6)
    >>> print r
    (151.96152422706632, 70.0)

    用print打印返回结果,原来返回值是一个tuple!

    但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。


    查看全部
  • d = {

        'Adam': 95,

        'Lisa': 85,

        'Bart': 59

    }

    for key in d:

        print key,":",d[key]


    查看全部
    0 采集 收起 来源:Python之访问dict

    2018-10-10

  • 使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

    >>> print d.get('Bart')
    59
    >>> print d.get('Paul')
    None


    查看全部
    0 采集 收起 来源:Python之访问dict

    2018-10-10

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

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

    print u'中文'
    中文

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

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

    转义:

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

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

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


    查看全部

举报

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

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