Python学习笔记丨函数和类相关基础知识总结和易错点分享,包括def、lambda、class等

简介: Python学习笔记丨函数和类相关基础知识总结和易错点分享,包括def、lambda、class等

Python函数和类

本篇笔记主要内容是Python中函数和类相关基础知识总结和易错点分享,包括def、lambda、class等

Python中的函数

函数是一种仅在调用时运行的代码块可以将数据(称为参数)传递到函数中函数可以把数据作为结果返回

  • 创建:使用 def 关键字定义函数,创建成功后可以进行调用
  • 调用:使用函数名称后跟圆括号
  • 参数:信息可以作为参数传递给函数,参数在函数名后的括号内指定,多个参数需用逗号分隔
  • 默认参数:调用了不带参数的函数,则使用默认值
  • 任意参数:如果不知道传递给函数多少个参数,在函数定义的参数名称前添加 * 函数将接收一个参数元组,并可以相应地访问各项。
  • 关键字参数:可以使用 key = value 语法发送参数,参数的顺序无关紧要。“关键字参数”一词通常简称为 kwargs
  • 参数类型:发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型
  • 返回值:如需使函数返回值,使用 return 语句
  • pass语句:函数定义不能为空,但是如果出于某种原因写了无内容的函数定义,需要使用 pass 语句来避免错误,等之后在进行补充完善。
#以下是个函数小栗子:
def mydef(name,old):
    print('your name:',name,' old:',old)
    key = old+1
    return key
new = mydef('je', 15)
print(new)
your name: je  old: 15
16

lambda匿名函数

lambda 函数可接受任意数量的参数,但只能有一个表达式,函数体更简单,一般只写一行,以下为一个小栗子:

x = lambda a, b : a * b+1
print(x(2, 8))
17
  • 创建语法:name = lambda [list] : 表达式
  • 注意:[list] 作为可选参数
  • 优势:对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁。对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能

Python中的类

Python 是一种面向对象的编程语言,类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”, 用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法。

  • 创建类:使用 class 关键字进行创建
  • 创建对象:根据类来创建对象,对象具有类的属性
  • init() 函数:所有类都有一个名为 init() 的函数,它始终在启动类时执行,使用 init() 函数将值赋给对象属性。
  • 注释:每次使用类创建新对象时,都会自动调用init() 函数
  • 对象方法:对象也可以包含方法,对象中的方法是属于该对象的函数
  • 提示:self 参数是对类的当前实例的引用,用于访问属于该类的变量,它必须是类中任意函数的首个参数
  • 修改对象属性:直接利用对象.参数=value进行赋值,修改该对象的属性
  • 继承:子类继承父类的属性和方法
class myclass:
    def __init__(self,name):
        self.name = name
    def myf(self,old):
        self.old = old
        print('hello,',self.name,self.old)
p = myclass('tom')
p.myf(23)
hello, tom 23
# 修改对象属性
p.name = 'shiny'
p.myf(15)
hello, shiny 15
# 类的继承
class newclass(myclass):
    pass

易错点

  1. 定义函数时默认参数必须放在参数列表的最后面,否则会报错
  2. 传递不定长参数有两种方法:*元组的方式传入,**字典的方式传入
  3. *单独出现:如果单独出现星号,*后的参数必须用关键字传入
  4. /单独出现:强制位置参数,/之前的参数必须使用指定位置参数
  5. 函数内可以访问全局变量,但不能改变其值,如果需要改变全局变量的值,可以使用global方法

© 素材来源于网络,侵权请联系后台删除

往期推荐:

文献丨群体转录组分析锁定关键转录因子

文献丨转录组RNA seq——青年阶段!

文献丨高通量表型组图像识别与GWAS

笔记丨ggplot2热图入门学习笔记

笔记丨PCA分析基本知识和数学原理

图书丨R语言、Python、Linux

超算丨数据分析时电脑配置不够用?试试

软件 | 如何进行基因家族分析?TBtools

服务器丨家用联想台式机重装Linux系统

转录组丨一套完整的操作流程案例

相关文章
|
13天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
15天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
17天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
24 4
|
19天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
16 1
|
19天前
|
安全 数据处理 数据安全/隐私保护
python中mod函数怎么用
通过这些实例,我们不仅掌握了Python中 `%`运算符的基础用法,还领略了它在解决实际问题中的灵活性和实用性。在诸如云计算服务提供商的技术栈中,类似的数学运算逻辑常被应用于数据处理、安全加密等关键领域,凸显了基础运算符在复杂系统中的不可或缺性。
15 0
|
1天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
3天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
15 4
|
3天前
|
设计模式 程序员 数据处理
编程之旅:探索Python中的装饰器
【10月更文挑战第34天】在编程的海洋中,Python这艘航船以其简洁优雅著称。其中,装饰器作为一项高级特性,如同船上的风帆,让代码更加灵活和强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一起感受编程之美。
|
5天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
15 5
|
3天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
12 1
下一篇
无影云桌面