为了账号安全,请及时绑定邮箱和手机立即绑定
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f依次作用在list的每个元素上,map()函数会返回一个迭代器,可以依次迭代得到原来list的元素被函数f处理后的结果。

    查看全部
  • def calc_prod(list_):    

    def prod():
           result = 1
           for x in list_:
               result *= x        

    return result   

     return prod


    这个代码的思路是使用了一个闭包,也就是一个定义在函数内部的函数,它可以访问外部函数的变量。这样,当我们调用calc_prod(list_)时,它会返回一个prod函数,这个函数保存了list_的值,然后当我们调用prod()时,它会遍历list_中的元素并计算它们的乘积。

    这个代码也可以用reduce函数来简化,reduce函数可以对一个序列应用一个二元操作符,并累积结果。例如,我们可以用operator模块中的mul函数来表示乘法操作:

    from operator import mul # from functools 

    import reduce # python3  compatibility

    def calc_prod(list_):    

    return lambda: 

    reduce(mul, list_, 1)


    这里我们用lambda表达式来定义一个匿名函数,它返回reduce(mul, list_, 1)的结果。reduce(mul, list_, 1)的意思是从1开始,依次用mul函数把list_中的元素相乘,并返回最终结果。


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

    2023-07-12

  • 文件对象还提供seek()方法,可以移动文件的游标位置,它接受一个参数,表示文件的位置,0:文件首部,1:当前位置,2:文件尾部,通过seek()可以把文件游标移动到文件首部但不删除文件的内容。

    查看全部
  • 文件对象提供read()方法,可以读取文件中的若干个字符,它提供一个参数size,可以指定读取字符的数量。

    s = f.read(5)
    print(s) # ==> Hello

    当read()之后,访问文件的游标就会移动到第六个字符前面,此时,继续read,将得到Hello后面的结果。

    s = f.read(6)
    print(s) # ==> ' World'

    查看全部
  • 注意,为了安全操作文件,文件使用完毕后,需要使用close()函数正确关闭。

    查看全部
  • __call__ 方法定义了一个可以将类实例当作函数调用的功能。它接受一个参数 "num",表示要生成的斐波那契数列的长度。

    在 __call__ 方法内部,定义了两个变量 "a" 和 "b",初始值分别为 0 和 1。使用一个循环迭代 "num" 次。

    在每次迭代中,将 "a" 的值添加到 "res" 列表中。然后,通过交换 "a" 和 "b" 的值更新它们的值,即将 "b" 赋值给 "a",将 "a + b" 的和赋值给 "b"。

    查看全部
  • python的函数式编程

    1、不是纯函数式编程:允许有变量

    2、支持高阶函数:函数可以作为变量

    3、支持闭包:可以返回函数

    4、支持匿名函数

    查看全部
  • import math

    def is_sqrt_int(n):

        return math.sqrt(n) == int(math.sqrt(n))

    result = list(filter(is_sqrt_int, range(1, 101)))

    print(result)


    查看全部
  • 这是调用了r1这个实例的__add__方法,self是指实例本身也就是r1,而r这个参数就是指代r2,下文两个语句是等价的

    print(r1+r2)

    print(r1.__add__(r2))

       

    查看全部
  • 服务端:

    import socket

    server = socket.socket() # 1. 新建socket
    server.bind(('127.0.0.1', 8999)) # 2. 绑定IP和端口(其中127.0.0.1为本机回环IP)
    server.listen(5) # 3. 监听连接
    s, addr = server.accept() # 4. 接受连接
    print('connect addr:{}'.format(addr))
    while True:
       content =s.recv(1024)
       if len(content) == 0:
           break
       s.send(content)
       print(str(content, encoding='utf-8')) # 接受来自客户端的消息,并打印出来

    s.close()

    客户端:

    import socket

    client = socket.socket() # 1. 新建socket
    client.connect(('127.0.0.1', 8999)) # 2. 连接服务端(注意,IP和端口要和服务端一致)
    while True:
       content = input('>>> ')
       client.send(bytes(content, 'utf-8')) # 发送内容,注意发送的是字节字符串。
       content = client.recv(1024)
       print(str(content, encoding='utf-8'))

    client.close()

    查看全部
  • 你好,这是必应。😊

    sys.path是Python的一个列表,用于存储模块的搜索路径。当你使用import语句导入模块时,Python会在sys.path中列出的路径中查找相应的模块。要使用sys.path增加路径,你可以使用sys.path.append()函数,将新的路径添加到列表的末尾。

    例如,如果你想要导入当前目录上级目录的包,你可以在你的代码中写:

    import sys
    sys.path.append('../') # 添加上级目录的路径import package # 导入上级目录的包

    复制

    这样,Python就可以在上级目录中找到package这个包,并导入它。需要注意的是,这种方法只对当前会话有效,如果你重启Python解释器,sys.path会恢复到默认值。如果你想要永久增加路径,你可以修改PYTHONPATH环境变量,或者创建一个.pth文件放在site-packages目录下。

    希望这能帮助你理解如何使用sys.path增加路径。如果你还有其他问题,欢迎继续提问。😊

    查看全部
  • 导入math模块的方式有两种:

    一种是直接使用 import math ,这样就可以使用 math.函数名 的形式调用math模块中的函数。例如,要计算30度的正弦值,你可以写:

    import math
    x = math.sin(math.radians(30)) # math.radians()是将角度转换为弧度的函数print(x) # 输出0.5

    复制

    另一种是使用 from math import * ,这样就可以直接使用函数名而不用加上 math. 的前缀。例如,要计算60度的余弦值,你可以写:

    from math import *
    x = cos(radians(60)) # radians()是将角度转换为弧度的函数print(x) # 输出0.5

    查看全部
    0 采集 收起 来源:Python导入模块

    2023-07-09

  • # common.py

    def say_hello(name):

        print("Hello", name)

    查看全部
    0 采集 收起 来源:Python定义模块

    2023-07-09

  • class Fib(object):

        def __init__(self):

            self.a = 0

            self.b = 1


        def __call__(self, n):

            result = []

            for i in range(n):

                result.append(self.a)

                self.a, self.b = self.b, self.a + self.b

            return result

    查看全部
  • class Fib:

        def __init__(self, n):

            self.n = n

            self.a = 0

            self.b = 1

            self.index = 0


        def __iter__(self):

            return self


        def __next__(self):

            if self.index < self.n:

                self.a, self.b = self.b, self.a + self.b

                self.index += 1

                return self.a

            else:

                raise StopIteration


        def __len__(self):

            return self.n


        def __repr__(self):

            return "Fib({})".format(self.n)


        def __str__(self):

            return ", ".join(str(x) for x in self)


    # 测试代码

    f = Fib(10)

    print(f) # 打印数列的前10个元素

    print(len(f)) # 打印数列的个数

    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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