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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • 要避免嵌套结构的 if ... else ...,我们可以用 if ... 多个elif ... else ...的结构,elif 意思就是 else if



    查看全部
  • if 语句后接表达式,然后用:表示代码块开始。
    if age >= 18:
    ...     print 'your age is', age
    ...     print 'adult'

    与其他语言不一样

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

    2019-05-04

  • t 不是 tuple ,而是整数1。为什么呢?

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

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


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

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

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

    字符才用加引号,数字不用


    查看全部
  • pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'Paul'。

    要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)把Paul删掉:

    删除语句会影响下一条删除语句的参数变化 注意!

    查看全部
  • list 的 append() 方法,把新同学追加到 list 的末尾:

    ist的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:L.insert(0, 'Paul')

    查看全部
  • 十进制 二进制 十六进制的表示和换算
    查看全部
  • def move(n, a, b, c):

        if n == 1:   

            print a,'-->',c

            return

        move(n-1,a,c,b)  

        print a,'-->',c

        move(n-1,b,a,c)

    move(4, 'A', 'B', 'C')


    每次在这里改变了传入的值每次调用函数时abc对应的实参都不一样,但是只有传到等于一时才能够打印出来

    查看全部
  • 25、

    多层表达式

    for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。

    对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:

    >>> [m + n for m in 'ABC' for n in '123'] 
    ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']

    翻译成循环代码就像下面这样:

    L = [] 
    for m in 'ABC':     
        for n in '123':        
            L.append(m + n)

    任务

    利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。

    print [x*100+y*10+x   for x in range(1, 10)   for y in range(0,10) ]


    查看全部
    0 采集 收起 来源:多层表达式

    2019-05-04

  • 24、

    请编写一个函数,它接受一个 list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。

    提示:

    1. isinstance(x, str) 可以判断变量 x 是否是字符串;

    2. 字符串的 upper() 方法可以返回大写的字母。

    实现代码:

    def toUppers(L):

        return  [x.upper()  for x in L  if  isinstance(x, str)]

    print toUppers(['Hello', 'world', 101])


    查看全部
    0 采集 收起 来源:条件过滤

    2019-05-04

  • 23、

    列表生成式的 for 循环后面还可以加上 if 判断。例如:

    >>> [x * x for x in range(1, 11)]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    如果我们只想要偶数的平方,不改动 range()的情况下,可以加上 if 来筛选:

    >>> [x * x for x in range(1, 11) if x % 2 == 0]
    [4, 16, 36, 64, 100]

    有了 if 条件,只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中。

    查看全部
    0 采集 收起 来源:条件过滤

    2019-05-04

  • 22、

    注:

    (1)字符串可以通过 % 进行格式化,用指定的参数替代 %s。

    如:'hello %s world %s'  %('hello1', 'world1') 的结果为:'hello hello1 world world1'

    (2) 字符串的join()方法可以把一个 list 拼接成一个字符串。

    如:'~'.join( ['a', 'b', 'c'] )的结果为:'a~b~c',即用 ~ 拼接了list中的各个str

    查看全部
    1 采集 收起 来源:复杂表达式

    2019-05-04

  • 21、

    而列表生成式则可以用一行语句代替循环生成上面的list:

    >>> [x * x for x in range(1, 11)]
    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。


    查看全部
    0 采集 收起 来源:生成列表

    2019-05-04

  • 注意运算优先级 这个优先级由自己的需求决定

    import math


    def quadratic_equation(a, b, c):

        x1 = (-b+math.sqrt(b*b-4*a*c))/(2*a)

        x2 = (-b-math.sqrt(b*b-4*a*c))/(2*a)

        return x1,x2

    print quadratic_equation(2, 3, 0)

    print quadratic_equation(1, -6, 5)


    查看全部
  • 20、

    我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的。

    首先,我们看看 dict 对象的 items() 方法返回的值:

    >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    >>> print d.items()
    [('Lisa', 85), ('Adam', 95), ('Bart', 59)]

    可以看到,items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value:

    >>> for key, value in d.items():
    ...     print key, ':', value
    ... 
    Lisa : 85
    Adam : 95
    Bart : 59

    和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。


    查看全部

举报

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

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