百行代码入门Python - Chapter 5

简介: 以下代码均采用Python 3.5.2 编写。新建一个名为HelloWorld.py的文件,当然名称无所谓,输入以下代码:#func returndef line_conf(): b=15 def line(x): return 2*x+b b=5 return linemy_line=line_conf()pr

以下代码均采用Python 3.5.2 编写。新建一个名为HelloWorld.py的文件,当然名称无所谓,输入以下代码:

#func return
def line_conf():
    b=15
    def line(x):
        return 2*x+b
    b=5
    return line

my_line=line_conf()
print(my_line(5))

#closure
print(my_line.__closure__)
print(my_line.__closure__[0].cell_contents)

def line_conf2(a,b):
    def line(x):
        return a*x+b
    return line

line1=line_conf2(1,1)
line2=line_conf2(4,5)
print(line1(1))
print(line2(1))

#decorator
def decorator_demo(old_function):
    def new_function(a,b):
        print("input", a, b)
        return old_function(a,b)
    return new_function

@decorator_demo
def square_sum(a,b):
    return a**2+b**2

@decorator_demo
def cubic_sum(a,b):
    return a**3+b**3

print(square_sum(2,1))
print(cubic_sum(2,1))

def pre_str(pre=""):
    def decorator(old_function):
        def new_function(a,b):
            print(pre+" input ",a, b)
            return old_function(a,b)
        return new_function
    return decorator

@pre_str("^_^")
def square_diff(a,b):
    return a**2-b**2

print(square_diff(2,1))

def decorator_class(SomeClass):
    class NewClass(object):
        def __init__(self, age):
            self.total_display=0
            self.wrapped=SomeClass(age)

        def display(self):
            self.total_display+=1
            print("total display", self.total_display)
            self.wrapped.display()

    return NewClass

@decorator_class
class Bird(object):
    def __init__(self, age):
        self.age=age

    def display(self):
        print("My age is ",self.age)

eagle_lord=Bird(5)
for i in range(3):
    eagle_lord.display()

#lambda
lambda_sum = lambda x,y: x+y

print(lambda_sum(1,2))

#map
data_list=[1,3,5,6]
result=map(lambda x: x+3, data_list)
for i in result:
    print(i)

data_list1=[1,3,5,7]
data_list2=[2,4,6,8]
result=map(square_sum,data_list1,data_list2)
for i in result:
    print(i)

读懂以上代码即可轻松掌握装饰器、map函数等基本命令使用方法,方便起见,可以考虑将尚未读到的代码注释掉,一段段阅读。

相关文章
|
28天前
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
76 2
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
6天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
18 1
|
6天前
|
人工智能 数据挖掘 程序员
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
《Python 简易速速上手小册》第1章:Python 编程入门(2024 最新版)
35 0
|
7天前
|
机器学习/深度学习 数据采集 算法
scikit-learn入门指南:从基础到实践
【4月更文挑战第17天】这篇指南介绍了scikit-learn,一个Python数据分析和机器学习的重要库。内容涵盖安装、数据加载与预处理、模型训练(如KNN分类器)、评估、调参优化及高级应用,如降维和聚类。通过实例展示了scikit-learn在分类任务中的使用,强调其在数据科学中的重要性。要深入了解,可参考官方文档和实践案例。
|
8天前
|
程序员 索引 Python
06-python数据容器-set(集合)入门基础操作
06-python数据容器-set(集合)入门基础操作
|
13天前
|
JavaScript 前端开发 API
游戏开发入门:Python后端与Vue前端的协同工作方式
【4月更文挑战第11天】使用Python后端(Flask或Django)和Vue.js前端开发游戏变得流行,能提高开发效率和可维护性。本文指导如何构建这样的项目,包括设置环境、创建虚拟环境、搭建后端API及前端Vue组件,强调前后端协作和API接口的重要性。这种架构促进团队合作,提升代码质量和游戏体验。
|
15天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【4月更文挑战第9天】本文介绍了使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先,简述了机器学习的基本概念和类型。接着,展示了如何安装Python和Scikit-learn,加载与处理数据,选择模型进行训练,以及评估模型性能。通过本文,读者可了解机器学习入门步骤,并借助Python和Scikit-learn开始实践。
|
17天前
|
机器学习/深度学习 数据可视化 数据挖掘
利用Python进行数据分析与可视化:从入门到精通
本文将介绍如何使用Python语言进行数据分析与可视化,从基础概念到高级技巧一应俱全。通过学习本文,读者将掌握Python在数据处理、分析和可视化方面的核心技能,为实际项目应用打下坚实基础。
|
1月前
|
存储 算法 数据挖掘
【Python 基础教程 25】全面入门指南:深度解析Python3的命名空间,作用域及变量使用教程
【Python 基础教程 25】全面入门指南:深度解析Python3的命名空间,作用域及变量使用教程
55 0
|
1月前
|
存储 机器学习/深度学习 数据安全/隐私保护
【Python 基础教程 24】全面入门Python面向对象编程:深度探索与实战教程
【Python 基础教程 24】全面入门Python面向对象编程:深度探索与实战教程
79 0

热门文章

最新文章