Python开发——函数【基础】
函数的定义
以下规则
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
函数的特性
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
- 函数能提高应用的模块性,和代码的重复利用率。
- Python提供了许多【内建函数】,比如print()。
- 也可以自己创建函数,这被叫做用户【自定义函数】。
1、减少代码重复
2、方便修改,可扩展
3、保持代码一致性,易维护
函数即变量
# 定义函数
def func():
print("我的函数")
# 函数即变量
print(func) # <function func at 0x04F75E40>
# 调用函数
func() # 我的函数
函数的参数
- 无参数
- 形参:
- 实参:
- 位置参数【必需参数】:按正确顺序传入
- 关键参数:
- 默认参数:
# 关键参数,必需放置在位置参数之后
# 默认参数,放置在其他参数之后
def print_info(name,age,sex='男'): # 默认参数sex
print("Name:%s,Age:%d,Sex:%s"%(name,age,sex)) # 位置参数【必需参数】
print_info('yuan',18) # Name:yuan,Age:18,Sex:男
# 关键参数
print_info(age=18,name="yuan") # Name:yuan,Age:18,Sex:男
# 默认参数【修改并设置】
print_info('Lucy',18,'女') # Name:Lucy,Age:18,Sex:女
- 非固定参数
- *args:把所有【多】传入的【位置】参数都整合到元祖,可为空。
- **kwargs:把所有【多】传入的【关键】参数都整合到字典,可为空。
#######################--*args--############################
# 把所有【多】传入的【位置】参数都整合到元祖
def f(*args):
print(args)
f(1,2,(2,4),[6,7]) # (1, 2, (2, 4), [6, 7])
#######################--**kwargs--#########################
# 把所有【多】传入的【关键】参数都整合到字典
def ff(**kwargs):
print(kwargs)
ff(name='yuan',age=18,sex='女')
# {'name': 'yuan', 'age': 18, 'sex': '女'}
函数的返回值
- 函数中,return 不设置 或 无return 时,系统默认返回None,即 return None。
- 如果return返回多个对象,那么python会帮我们把对个对象整合成元祖
设置返回值事,例如:return ‘你好’,调用函数时,返回某个对象,用变量接收。
def fu():
return "你好" s = fu()
print(s) # 你好
作用:
1、结束函数
2、返回某个对象
Python开发——函数【基础】的更多相关文章
- Python开发——1.基础知识
一.开发 开发语言分为高级语言和低级语言 高级语言:Python.Java.PHP.C++.C#.GO.Ruby等:低级语言:C.汇编语言. 高级语言对应的是字节码,是将代码编译成字节码,然后交给机器 ...
- python 17 函数基础(一)
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...
- 【Python】函数基础简介
一.函数 1. 简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2. 组成 函数代码块以 def 关键词开头,后接函数名和圆括号( ...
- python开发面向对象基础:接口类&抽象类&多态&钻石继承
一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实 ...
- PYTHON开发--面向对象基础入门
面向对象 一:面向对象初级 1.思考:首先在python中,以前我们以前用到的几乎都是函数式编程,但是有时候函数式编程其中代码重复利用率太高,我们往往会把这些重复代码写进一个函数日后去调用,所以呢,今 ...
- Python的函数基础
引子 现在老板让你写一个监控程序,24小时全年无休的监控你们公司网站服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 whi ...
- python开发面向对象基础:封装
一,封装 [封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 1. 将变化隔离: 2. 便于使用: 3. 提高复用性: 4. 提高安全性: [封装原则] 1. 将不需要对外提供的内 ...
- python开发函数进阶:递归函数
一,什么叫递归 #递归#在一个函数里调用自己#python递归最大层数限制 997#最大层数限制是python默认的,可以做修改#但是我们不建议你修改 例子和尚讲故事 #!/usr/bin/env p ...
- python开发调用基础:模块的调用&制作包&软件开发规范
一,包的调用 #!/usr/bin/env python #_*_coding:utf-8_*_ #调用 glance[1..4]\api\policy.py 路径 # policy.py 内容 # ...
随机推荐
- CMake for MFC example
cmake_minimum_required(VERSION 2.8) add_definitions(-D_AFXDLL) set(CMAKE_MFC_FLAG 2) set(SRCS MFCApp ...
- sso cas4.0改造历程--spring-webflow篇
https://blog.csdn.net/sinat_20689109/article/details/54910642
- cookie.js插件
/*! cookiejs v1.0.23 | MIT (c) 2018 kenny wong | https://github.com/jaywcjlove/cookie.js */!function ...
- Python的xml模块
先来一段xml代码 <?xml version="1.0"?> <data> <country name="Liechtenstein&qu ...
- Emscripten 安装和使用
OS: Windows 10 x64 I. install 0. pre install Python2.7 Node js Java 1. down git clone https://github ...
- 【产品设计】【转】APP界面设计规范编写指南(人人都是产品经理)
转自 :http://www.woshipm.com/ucd/608557.html 作者:EID_UX_DESIGN,微信公众号:EID_center 原文地址:http://www.ui.cn/d ...
- linux 查看文件显示行号
1.用vi或vim打开文件显示行号: 显示当前行号: :nu 显示所有行号: :set nu 2.设置服务器显示行号 2.1编辑~/.vimrc文件,在该文件中加入 set nu 2.2在UBUN ...
- 深度学习原理与框架-Tfrecord数据集的制作 1.tf.train.Examples(数据转换为二进制) 3.tf.image.encode_jpeg(解码图片加码成jpeg) 4.tf.train.Coordinator(构建多线程通道) 5.threading.Thread(建立单线程) 6.tf.python_io.TFR(TFR读入器)
1. 配套使用: tf.train.Examples将数据转换为二进制,提升IO效率和方便管理 对于int类型 : tf.train.Examples(features=tf.train.Featur ...
- BOM (字节顺序标记)
BOM(Byte Order Mark):字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码. 注:计算机内部数据存储都是二进制的,只有知道一段数据的二进制存储 ...
- UI5-学习篇-17-云端WEB IDE开发
1.前提条件 SAP云平台账号已申请 云连接器设置完成:UI5-学习篇-15-云连接SAP Cloud Connector 云平台Destination设置完成:UI5-学习篇-16-云端SCP-De ...