python 定义函数关键字def 简单介绍
一 在类中定义的def
# python中def 是用来干什么的?
# 可以定义函数,就是定义一个功能。
class People():
def __init__(self):
print("参数self的值是: " + str(self))
print("self.__class__ 的值是: " + str(self.__class__))
print("init 方法,跟着类的加载而执行") '''
1 定义函数的关键字 在python中想要定一个函数,必须使用def 关键字
2 后面跟函数名 xx 括号里面定义各种行参 def run(行参1,行参数2.....)
3 在class中定义的def 空参时,自动加入self。 在python的类中self代表实例本身,具体来说,是该实例的内存地址。
4 return [表达式] 结束函数,选择性地返回一个值给调用方。 想要返回啥直接return。
5 没有return 返回值是一个none def 函数名(行参1,行参数2.....): 写在类中的def,在没有行参时,编辑器自动加入一个self
需要的功能
return xx 指定一个返回值
''' def eat(self): # 没有行参
print("吃饭") # 未指定返回值 是none def add(a, b): # 定义两个行参
c = a + b
print(c)
return c # 返回一个c 指定c作为返回值 ,需要返回啥,就指定啥。
调用函数,查看效果

二 聊一聊 python中的赋值 , 类的初始化。首先看一下什么是赋值
class People():
def __init__(self):
print("参数self的值是: " + str(self))
print("self.__class__ 的值是: " + str(self.__class__))
print("init 方法,跟着类的加载而执行") def eat(self): # 没有行参
print("吃饭") # 未指定返回值 是none def add(a, b): # 定义两个行参
c = a + b
print(c)
return c # 返回一个c 指定c作为返回值 ,需要返回啥,就指定啥。 # 这里是将对象people 赋值给 p
p = People
print(p) # 打印的是同一个对象
print(People) print(id(p)) # id() 函数用于获取对象的内存地址 二者是相等的
print(id(People)) print("------") # 可以用people对象来调用相关的方法
People.add(2,3)

实例化走一波
class People():
def __init__(self):
print("参数self的值是: " + str(self))
print("self.__class__ 的值是: " + str(self.__class__))
print("init 方法,跟着类的加载而执行") def eat(self): # 没有行参
print("吃饭") # 未指定返回值 是none def add(a, b): # 定义两个行参
c = a + b
print(c)
return c # 返回一个c 指定c作为返回值 ,需要返回啥,就指定啥。 # 实例化和赋值的区别在于 加上了()
p = People() # 实例化了一个对象people __init__ 方法会自动执行 print("------------") print(p) # 1 打印的是一个实例对象 <__main__.People object at 0x10133dd00> 2 打印的结果和print(self)相同,都是代表这个实例。

调用der 方法
class People():
def __init__(self):
print(self)
print(self.__class__)
print("init 方法,跟着类的加载而执行") def eat(self): # 没有行参
print("吃饭") # 未指定返回值 是none def add(a, b): # 定义两个行参
c = a + b
print(c)
return c # 返回一个c 指定c作为返回值 ,需要返回啥,就指定啥。 # 实例化和赋值的区别在于 加上了()
p = People() # 实例化了一个对象people __init__ 方法会自动执行 print("------------") print(p) # 1 打印的是一个实例对象 <__main__.People object at 0x10133dd00> 2 打印的结果和print(self)相同,都是代表这个实例。 p.eat() p.add(3,4)


python 定义函数关键字def 简单介绍的更多相关文章
- Python_selenium中类函数模块的简单介绍
Python_selenium中类函数模块的简单介绍 一.demo1.py的代码如下所示 #coding:utf-8 class ClassA(object): string = "这是一个 ...
- python定义函数时的默认返回值
python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None, 即隐式返回语句: return None 执行如下代码 def now(): prin ...
- python(23)- 面向对象简单介绍
面向概述 面向过程:根据业务逻辑从上到下写垒代码 面向过程的设计的核心是过程,过程即解决问题的步骤, 面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西 优点:极大降低了程序的复杂 ...
- Python定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...
- python 定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数 ...
- python定义函数以及参数检查
(转自廖雪峰网站) 函数定义 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义 ...
- python定义函数时默认参数注意事项
如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用, 如 def func(arg1=[]): arg1.append(2) 调用func时 ...
- python定义函数时的参数&调用函数时的传参
一.定义函数: 1.位置参数:直接定义参数 2.默认参数(或者关键字参数):参数名 = "默认值" 3.位置参数必须在默认参数之前 二.调用函数: 1.按位置传,直接写参数的值 2 ...
- python 定义函数 两个文件调用函数
在def_function.py文件里面写 #coding=utf-8 #定义函数 def hello(): print "hello world" 在test.py里面调用 #c ...
随机推荐
- 【LeetCode】424. 替换后的最长重复字符 Longest Repeating Character Replacement(Python)
作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,字符串,双指针,刷题群 目录 题目描述 题目大意 解题方法 双指针 代码 欢迎 ...
- 【LeetCode】297. Serialize and Deserialize Binary Tree 解题报告(Python)
[LeetCode]297. Serialize and Deserialize Binary Tree 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode ...
- WPF自定义界面WindowChrome
WPF自定义界面WindowChrome 默认WPF的界面其实也还行,就是满足不了日渐增长的需求,界面还是需要有更高的自定义程度,包括标题栏也要能够塞下更多的操作控件. 默认窗口介绍 新建WPF项目, ...
- 第二十六个知识点:描述NAF标量乘法算法
第二十六个知识点:描述NAF标量乘法算法 NAF标量乘法算法是标量乘法算法的一种增强,该算法使用了非邻接形式(Non-Adjacent Form)表达,减少了算法的期望运行时间.下面是具体细节: 让\ ...
- RabbitMQ,RocketMQ,Kafka 事务性,消息丢失和消息重复发送的处理策略
消息队列常见问题处理 分布式事务 什么是分布式事务 常见的分布式事务解决方案 基于 MQ 实现的分布式事务 本地消息表-最终一致性 MQ事务-最终一致性 RocketMQ中如何处理事务 Kafka中如 ...
- [数据结构]链表LinkList
目录 1.3 链表 1.3.1 头插法建立单链表 1.3.2 限制链表长度建立单链表 1.3.3 尾插法建立单链表 1.3.4 按序号查找单链表 1.3.5 按值查找单链表 1.3.6 链表的插入 1 ...
- CS5216PIN TO PIN替换PS8402A方案|PS8402A电路设计原理图|CS5216芯片
PS8402A是HDMI 电平移位器/中继器专为2型双模Display Port(DP++)电缆适配器应用而设计.它设计用于Display Port到DVI或Display Port到HDMI的2型适 ...
- 剖析Defi之Uinswap_1
学习UniswapERC20,它是交易对的父合约.UniswapV2ERC20 是流动性代币合约,也称为 LP Token.功能主要实习ERC20代币功能以及对线下签名授权. 1 pragma sol ...
- 基于Spring MVC + Spring + MyBatis的【外包人力资源管理系统】
资源下载:https://download.csdn.net/download/weixin_44893902/45600390 练习点设计:模糊查询.删除.新增 一.语言和环境 实现语言:JAVA语 ...
- Java Web程序设计作业目录(作业笔记)
Java Web程序设计笔记 • [目录] 第1章 Web应用程序 >>> 1.1.3 使用 Eclipse 创建一个静态的登录页面 1.2.5 使用 IE 或Chrome等浏览器, ...