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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • dict特点:

    1、dict查找速度快,缺点是占用内存大,会浪费很多内容,list相反。

    2、dict是无序的.

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

    查看全部
  • Python之 while循环

    和 for 循环不同的另一种循环是 while 循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。

    比如要从 0 开始打印不大于 N 的整数:

    N = 10 x = 0 while x < N:     print x     x = x + 1

    while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。

    在循环体内,x = x + 1 会让 x 不断增加,最终因为 x < N 不成立而退出循环。

    如果没有这一个语句,while循环在判断 x < N 时总是为True,就会无限循环下去,变成死循环,所以要特别留意while循环的退出条件。

    任务

    利用while循环计算100以内奇数的和。


    查看全部
  • Python之 for循环

    list或tuple可以表示一个有序集合。如果我们想依次访问一个list中的每一个元素呢?比如 list:

    L = ['Adam', 'Lisa', 'Bart'] print L[0] print L[1] print L[2]

    如果list只包含几个元素,这样写还行,如果list包含1万个元素,我们就不可能写1万行print。

    这时,循环就派上用场了。

    Python的 for 循环就可以依次把list或tuple的每个元素迭代出来:

    L = ['Adam', 'Lisa', 'Bart'] for name in L:     print name

    注意:  name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)。

    这样一来,遍历一个list或tuple就非常容易了。

    任务

    班里考试后,老师要统计平均成绩,已知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循环

    2019-04-03

  • 可以直接从Python的官方网站查看函数文档:
    http://docs.python.org/2/library/functions.html#abs


    查看全部
  • 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如: a = 123 # a是整数 print a a = 'imooc' # a变为字符串 print a 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
    查看全部
  • Python之 if-elif-else

    有的时候,一个 if ... else ... 还不够用。比如,根据年龄的划分:

    条件1:18岁或以上:adult 条件2:6岁或以上:teenager 条件3:6岁以下:kid

    我们可以用一个 if age >= 18 判断是否符合条件1,如果不符合,再通过一个 if 判断 age >= 6 来判断是否符合条件2,否则,执行条件3:

    if age >= 18:     print 'adult' else:     if age >= 6:         print 'teenager'     else:         print 'kid'

    这样写出来,我们就得到了一个两层嵌套的 if ... else ... 语句。这个逻辑没有问题,但是,如果继续增加条件,比如3岁以下是 baby:

    if age >= 18:     print 'adult' else:     if age >= 6:         print 'teenager'     else:         if age >= 3:             print 'kid'         else:             print 'baby'

    这种缩进只会越来越多,代码也会越来越难看。

    要避免嵌套结构的 if ... else ...,我们可以用 if ... 多个elif ... else ...的结构,一次写完所有的规则:

    if age >= 18:     print 'adult' elif age >= 6:     print 'teenager' elif age >= 3:     print 'kid' else:     print 'baby'

    elif 意思就是 else if。这样一来,我们就写出了结构非常清晰的一系列条件判断。

    特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。

    请思考下面的代码:

    age = 8 if age >= 6:     print 'teenager' elif age >= 18:     print 'adult' else:     print 'kid'

    当 age = 8 时,结果正确,但 age = 20 时,为什么没有打印出 adult?

    如果要修复,应该如何修复?

    任务

    如果按照分数划定结果:

        90分或以上:excellent

        80分或以上:good

        60分或以上:passed

        60分以下:failed

    请编写程序根据分数打印结果。

    • ?不会了怎么办

    • 多个条件判断需要使用多个elif。

      参考代码:

      score = 85 if score >= 90:     print 'excellent' elif score >= 80:     print 'good' elif score >= 60:     print 'passed' else:     print 'failed'


    查看全部
  • Python之 if-else

    当 if 语句判断表达式的结果为 True 时,就会执行 if 包含的代码块:

    if age >= 18:     print 'adult'

    如果我们想判断年龄在18岁以下时,打印出 'teenager',怎么办?

    方法是再写一个 if:

    if age < 18:     print 'teenager'

    或者用 not 运算:

    if not age >= 18:     print 'teenager'

    细心的同学可以发现,这两种条件判断是“非此即彼”的,要么符合条件1,要么符合条件2,因此,完全可以用一个 if ... else ... 语句把它们统一起来:

    if age >= 18:     print 'adult' else:     print 'teenager'

    利用 if ... else ... 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。

    注意: else 后面有个“:”。

    任务

    如果成绩达到60分或以上,视为passed,否则视为failed。

    假设Bart同学的分数是55,请用if语句打印出 passed 或者 failed:

    不符合条件(大于等于60)将执行 else 代码块。

    参考代码:

    score = 55
    if score >= 60:
        print 'passed'
    else:
        print 'failed'


    查看全部
    0 采集 收起 来源:Python之 if-else

    2019-04-03

  • Python之if语句

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

    比如,输入用户年龄,根据年龄打印不同的内容,在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语句

    2019-04-03

  • 索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。

    查看全部
    0 采集 收起 来源:索引迭代

    2019-04-03

  • 1. 有序集合:list,tuple,str和unicode;
    2. 无序集合:set
    3. 无序集合并且具有 key-value 对:dict


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

    2019-04-03

  • for 与list搭配使用,是非常给力的运算方式,可以将list里面的元素,都赋值给for的调用x

    查看全部
  • Python之“可变”的tuple

    前面我们看到了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个元素:

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

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

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

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

    任务

    定义了tuple:

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

    由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变?

    • ?不会了怎么办

    • ['A', 'B']是list,因此内容可变,但('A', 'B')的内容是不可变的。

      参考代码:

      t = ('a', 'b', ('A', 'B')) print t


    查看全部
  • 对于List而言,可以直接使用求和,不需要每个都调用出来

    查看全部
  • Python之创建单元素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 加不加这个额外的“,”效果是一样的:

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

    任务

    请指出右边编辑器中代码为什么没有创建出包含一个学生的 tuple:

    t = ('Adam')

    print t

    请修改代码,确保 t 是一个tuple。

    单元素tuple必须加上额外的逗号。

    参考代码:

    t = ('Adam',)
    print t


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

    同样是表示班里同学的名称,用tuple表示如下:

    >>> t = ('Adam', 'Lisa', 'Bart')

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

    现在,这个 t 就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。

    获取 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

    任务

    创建一个tuple,顺序包含0 - 9这10个数。

    t = (0,1,2,3,4,5,6,7,8,9)

    print t


    查看全部

举报

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

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