为了账号安全,请及时绑定邮箱和手机立即绑定
  • 面试问题:

    python中元组和列表有什么区别和相同点?

    1、相同点:都是一个有序容器,都可以包含0个或者多个元素,支持索引访问,切片等操作。

    2、不同点:

        元组内元素不可变,但是列表可以;

        元组运行效率比列表更高

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

    2021-01-06

  • \n表示换行
    \t 表示一个制表符
    \\表示 \ 字符本身

    查看全部
    0 采集 收起 来源:Python的字符串

    2021-01-06

  • 3-5 Python的字符串

    如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示:

    "I'm OK"

    如果字符串包含",我们就可以用' '括起来表示:

    'Learn "Python" in imooc'

    如果字符串既包含'又包含"怎么办?

    这个时候,就需要对字符串中的某些特殊字符进行“转义”,Python字符串用\进行转义。

    'Bob said \"I\'m OK\".'

    注意:转义字符 \不计入字符串的内容中.

    常用的转义字符还有:

    \n表示换行
    \t 表示一个制表符
    \\表示 \ 字符本身


    查看全部
    0 采集 收起 来源:Python的字符串

    2021-01-05

  • 3-4 Python的布尔类型

    与运算 and

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

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

    或运算 or

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

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

    非运算 not

    把True变为False,或者把False变为True:

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

    在Python中,布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算,请看下面的代码:

    a = True
    print(a and 0 or 99) # ==> 99

    因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:

    True and 0计算结果是0 
    继续计算0 or 99计算结果是 99 
    因此,结果是99。
    需要注意的是,not计算的优先级是高于and和or的。

    True and not False # ==> True

    在上述布尔计算中,先计算not False = True,然后再计算True and True,因此得到True的结果。


    短路计算

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


    查看全部
  • 3-3 Python的整数与浮点数

    取模运算

    Python数字支持取模运算,使用百分号%表示取模。

    print(3 % 2) # ==> 1
    print(33 % 10) # ==> 3
    print(99 % 30) # ==> 9

    地板除

    Python除了普通除法以外,还有一个特殊的除法被称为地板除,对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。

    10//4 # ==> 2
    10//2.5 # ==> 4.0
    10//3 # ==> 3

    小数点位数

    使用Python计算小数的时候,经常需要保留小数点后若干位,可以使用round()函数来处理,这里先了解round的调用方式,使用两个参数,第一个是需要保留小数点位数的数值,第二个是保留的位数。

    num = 10 / 3
    print(num) # ==> 3.3333333333333335
    # 使用round保留两位小数
    round(num, 2) # ==> 3.33


    查看全部
  • def info(**kwargs):

        names = kwargs['names']

        gender_list = kwargs['gender']

        age_list = kwargs['age']

        index = 0

        for name in names:

            gender = gender_list[index]

            age = age_list[index]

            print('name: {}, gender: {}, age: {}'.format(name, gender, age))

            index += 1


    info(names = ['Alice', 'Bob', 'Candy'], gender = ['girl', 'boy', 'girl'], age = [16, 17, 15])


    查看全部
  • 对于一个拥有必需参数,默认参数,可变参数,可变关键字参数的函数,定义顺序是这样的:

    def func(param1, param2, param3 = None, *args, **kwargs):
        print(param1)
        print(param2)
        print(param3)
        print(args)
        print(kwargs)
    
    func(100, 200, 300, 400, 500, name = 'Alice', score = 100)
    # ==> 100
    # ==> 200
    # ==> 300
    # ==> (400, 500)
    # ==> {'name': 'Alice', 'score': 100}

    当然,这么多类型的参数,很容易导致出错,在实际使用上,不建议定义这么多的参数。


    查看全部
  • 请问这段代码为什么执行不了

    def average(*args):
        sum = 0
        if len(args) == 0:
            return 0
        elif isinstance(args, str):
            return "传入变量为文本,无法计算平均值,请重新上传"
        else:
            for item in args:
                sum += item
            avg = sum / len(args)
            return avg
    
    
    print(average())
    print(average("a", "b"))
    print(average(1, 21))
    print(average(1.5, 3.5, 5, 5))
    
    执行这段代码的时候为什么没有进行这段的校验呢?
    elif isinstance(args, str):
            return "传入变量为文本,无法计算平均值,请重新上传"


    2020-08-31源自:Python3 入门教程 2020全新版 9-779 浏览2 回答

    最佳回答

    2020-09-01

    你输入  

    print(average("a", "b"))
    它会当作数组类型,而不是字符串,变成一个字符串应该就对了。


    545847d40001cbef02200220-80-80.jpg weibo_N哦7788_0 

    +2积分什么是积分?

    举报 回复  1

    unknow-40.png炎武风曌

    # -*- coding: UTF-8 -*-

    def average(*args):

        sum = 0

        if len(args) == 0:

            return 0

        else:

            for i in args:

                if isinstance(i,(int,float)):

                    sum += i

                    avg = sum / len(args)

                else:

                    return"传入变量为文本,无法计算平均值,请重新上传"

        return avg            

    我是根据你的这样改的,就OK了


    查看全部
  • def average(*args):

        sum = 0.0

        if len(args)==0:

            return sum

        for item in args:

            sum += item

        avg = sum / len(args)

        return avg

    print(average(1,2,3,5,7,9))

    赋的初始值可以影响数据类型。注意分析需要的数据类型并准确定义,否则结果会出差错。范围大一点也不要小了。

    查看全部
  • 这个为什么输出结果是1,跟示例的结果1.5输出不一致

    # Enter a code

    def average(*args):

        lenth = len(args)

        if lenth == 0 :

            return 0;

        else:

            sum = 0

            for item in args:

                sum += item

            avg = sum / lenth

            return avg

            

    print(average())

    print(average(1,2))


    快来回答问题,最佳答案可 +2积分 什么是积分?

    2020-09-24源自:Python3 入门教程 2020全新版 9-774 浏览2 回答

    545862510001f70c02200220-40-40.jpg海岸边滴树

    sum = 0.0就行了

    2020-09-26

    举报 回复  2

    54584c5e0001491102200220-40-40.jpg慕沐1427948

    已经解决了,

    # Enter a code

    def average(*args):

        lenth = len(args)

        if lenth == 0 :

            return 0;

        else:

            sum = 0

            for item in args:

                sum += item

            avg = float(sum) /float( lenth) #将两个数字转为float就不丢失小数部分

            return avg

            

    print(average())

    print(average(1,2))



    查看全部
  • 除了默认参数,Python函数还接收一种参数叫做可变参数,可变参数即任意个参数的意思,可变参数通常使用*args来表示。

    def func(*args):
        print('args length = {}, args = {}'.format(len(args), args))
    
    func('a') # ==> args length = 1, args = ('a',)
    func('a', 'b') # ==> args length = 2, args = ('a', 'b')
    func('a', 'b', 'c') # ==> args length = 3, args = ('a', 'b', 'c')

    注意,在使用上,Python会把可变参数定义为一个tuple,所以在函数内部,把可变参数当作tuple来使用就可以了,比如可以通过位置下标取出对应的元素等。
    定义可变参数的目的也是为了简化调用。假设我们要计算任意个数的平均值,就可以定义一个可变参数:

    def average(*args):
        sum = 0
        for item in args:
            sum += item
        avg = sum / len(args)
        return avg

    这样,在调用的时候,我们就可以这样写:

    average(1, 2) # ==> 1.5
    average(1, 2, 2, 3, 4) # ==> 2.4
    average()
    # 报错
    Traceback (most recent call last):
    ZeroDivisionError: division by zero

    在执行average()的时候,却报错了,这是因为在使用可变参数时,没有考虑周全导致的,因为可变参数的长度可能是0,当长度为0的时候,就会出现除0错误。因此需要添加保护的逻辑,这是同学在使用过程中需要特别注意的。


    查看全部
  • def greet(name='world'):

        print ('Hello, ' + name + '.')


    greet()

    greet('Alice')


    查看全部
  • power( )本身就是个冥函数

    def power(x, n):

        s = 1

        while n > 0:

            n = n - 1

            s = s * x

        return s

    print(power(2,3))    

    def power(x, n=2):

        s = 1

        while n > 0:

            n = n - 1

            s = s * x

        return s


    查看全部
  • 由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面,否则将会出现错误。

    查看全部
  • # Enter a code

    # coding: utf-8

    def func(param):

        if isinstance(param, list):

            result = 0

            for item in param:

                if isinstance(item, int) or isinstance(item, float):

                    result += item

            return result

        elif isinstance(param, tuple):

            result = 1

            for item in param:

                if isinstance(item, int) or isinstance(item, float):

                    result *= item

            return result

        return None

    print(func([1,2,3,5,9]))

    print(func((1,2,3,5,9)))

    print(func('持续努力吧'))


    查看全部
    0 采集 收起 来源:Python函数参数

    2021-01-05

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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