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

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
  • Python中布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有TrueFalse两种值,但是布尔类型有以下几种运算:

    与运算:只有两个布尔值都为 True 时,计算结果才为 True。

    True and True   # ==> True True and False   # ==> False False and True   # ==> False False and False   # ==> False

    或运算:只要有一个布尔值为 True,计算结果就是 True。

    True or True   # ==> True True or False   # ==> True False or True   # ==> True False or False   # ==> False

    非运算:把True变为False,或者把False变为True:

    not True   # ==> False not False   # ==> True

    布尔运算在计算机中用来做条件判断,根据计算结果为True或者False,计算机可以自动执行不同的后续代码。

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


    查看全部
  • Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。

    基本的运算:

    1 + 2 + 3   # ==> 6
    4 * 5 - 6   # ==> 14
    7.5 / 8 + 2.1   # ==> 3.0375

    使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层:

    (1 + 2) * 3    # ==> 9(2.2 + 3.3) / (1.5 * (9 - 0.3))    # ==> 0.42145593869731807

    和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数:

    1 + 2    # ==> 整数 3
    1.0 + 2.0    # ==> 浮点数 3.0

    但是整数和浮点数混合运算的结果就变成浮点数了:

    1 + 2.0    # ==> 浮点数 3.0

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

    那整数的除法运算遇到除不尽的时候,结果难道不是浮点数吗?我们来试一下:

    11 / 4    # ==> 2

    令很多初学者惊讶的是,Python的整数除法,即使除不尽,结果仍然是整数,余数直接被扔掉。不过,Python提供了一个求余的运算 % 可以计算余数:

    11 % 4    # ==> 3

    如果我们要计算 11 / 4 的精确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把两个数中的一个变成浮点数再运算就没问题了:

    11.0 / 4    # ==> 2.75

                 


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

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

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


    查看全部
  • 怎么第一句输出总有错误

    查看全部
  • njkhjkih
    查看全部
  • s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
    for x in s:   
    print x[0] + ':', x[1]
    查看全部
    0 采集 收起 来源:Python之 遍历set

    2018-06-03

  • 一个dict中,key不能重复。作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。不可变这个限制仅作用于key,value是否可变无所谓

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

    查看全部
  • 可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:

    def average(*args):

        sum = 0.0

        if len(args) == 0:

            return sum

        for x in args:

            sum = sum + x

        return sum/len(args)

    print average()

    print average(1, 2)

    print average(1, 2, 2, 3, 4)


    查看全部
  • 函数的参数可变,不限变量个数:

    def average(*args):

        sum = 0.0

        if len(args) == 0:

            return sum

        for x in args:

            sum = sum + x

        return sum/len(args)

    print average()

    print average(1, 2)

    print average(1, 2, 2, 3, 4)


    查看全部
  • 函数定义与调用:

    def square_of_sum(L):

        sum = 0

        for x in L:

            sum = sum + x*x

        return sum


    print square_of_sum([1, 2, 3, 4, 5])

    print square_of_sum([-5, 0, 5, 15, 25])


    查看全部
  • set举例:

    months = set(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])



    x1 = 'Feb'

    x2 = 'Sun'


    if x1 in months:

        print 'x1: ok'

    else:

        print 'x1: error'


    if x2 in months:

        print 'x2: ok'

    else:

        print 'x2: error'

        

    print x1 in months  //判断输入的内容是否有效或存在,直接返回true或false

    print x2 in months


    查看全部
  • 遍历dict:

    d= {

        'Adam': 95,

        'Lisa': 85,

        'Bart': 59

    }

    for key in d:

        print key + ':', d[key]


    查看全部
  • d = {

        95: 'Adam',

        85: 'Lisa',

        59: 'Bart'

    }

    d[72]='Paul'--新增key-value,也可更新:d[95]='Easin'

    print d

    print d[85]

    print d.get(85)


    查看全部
    0 采集 收起 来源:Python更新dict

    2018-06-02

  • 字典dict

    d = {

        'Adam': 95,

        'Lisa': 85,

        'Bart': 59

    }

    print 'Adam:', d['Adam']

    print 'Lisa:', d['Lisa']

    print 'Bart:', d['Bart']

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

    print d.get('Bart')-->>59

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


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

    2018-06-02

举报

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

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