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 内容 # ...
随机推荐
- .gitlab-ci.yml 配置文件,知识点
官方介绍:https://docs.gitlab.com/ee/ci/yaml/README.html 翻译: https://segmentfault.com/a/1190000010442764
- SQL Agent 服务无法启动
问题现象 从阿里云上镜像过来的一台的数据库服务器,SQL Agent服务启动不了,提示服务启动后停止. 如下是系统日志和SQL Agent的日志 SQLServerAgent could not be ...
- win10+vs2015编译caffe的cpu debug版本、部署matcaffe
一.编译caffe 1.安装python-3.5.2-amd64.exe https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe ...
- 关于Java流
- Linux下的文件操作——基于文件指针的文件操作(缓冲)
目录操作 创建和删除目录: 原型为: #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> ...
- Oracle 学习笔记(六)
Oracle 数据库常用的闪回sql 语句及其它操作语句: --Oracle 数据库dml sql -- 查看当前用户所拥有的表 select * from tab; --表空间,auto: 自动管理 ...
- Openface 入门
Openface 简单入门 背景 Openface是一个开源的人脸识别框架,同类软件产品还有 seetaface ,DeepID等,当然,如果算上商业的产品,那就更多了. Openface人脸比对结果 ...
- Jmeter正则表达式提取器(转载)
转载自 http://blog.csdn.net/qq_35885203 使用jmeter来测试时,经常会碰到需要上下文传输数据的情况,如登录后生成的token,在其他页面的操作,都需传入这个toke ...
- 部署一个基于python语言的web发布环境
---恢复内容开始--- 1) 一门面向对象的语言 2)拥有丰富的库 3)可移植性 4)免费.开源 5)简单易易学 可做软件开发.人工智能.web开发等等 部署流程: Cnetos7.5+Nginx+ ...
- Java语法 [常识1]
1. Java 语言采用的是双字节Unicode 编码 . 2. 标识符就是变量.常量.方法[函数].枚举.类.接口等由写代码的猴子们制定的名字.构成标识符的字母均有一定的规范,Java语言中的命名规 ...