python里面的函数

python里面的函数

函数定义

def my_abs(x):if x >= 0:return xelse:return -x

如果没有return语句,函数执行完毕后也会返回结果,只是结果为None

return None可以简写为return

在Python交互环境中定义函数时,注意Python会出现...的提示。函数定义结束后需要按两次回车重新回到>>>提示符下。

空函数

如果想定义一个什么事也不做的空函数,可以用pass语句:

def nop():pass

pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

pass还可以用在其他语句里,比如:

if age >= 18:pass

缺少了pass,代码运行就会有语法错误。

返回多个值

比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:

import mathdef move(x, y, step, angle=0):nx = x + step * math.cos(angle)ny = y - step * math.sin(angle)return nx, ny

import math语句表示导入math包,并允许后续代码引用math包里的sincos等函数。

然后,我们就可以同时获得返回值:

>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0

但其实这只是一种假象,Python函数返回的仍然是单一值:

>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)

原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

默认参数

def repeat_str(s, times = 1):
repeated_strs = s * times
return repeated_strs
repeated_strings = repeat_str("Happy Birthday!")
print(repeated_strings)

repeated_strings_2 = repeat_str("Happy Birthday!" , 4)
print(repeated_strings_2)

#不能在有默认参数后面跟随没有默认参数
#f(a, b =2)合法
#f(a = 2, b)非法

#关键字参数: 调用函数时,选择性的传入部分参数
def func(a, b = 4, c = 8):
print('a is', a, 'and b is', b, 'and c is', c)

func(13, 17)
func(125, c = 24)
func(c = 40, a = 80)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【youcans 的图像处理学习课】6. 灰度变换与直方图处理

专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 【youcans 的图像处理学习课】6. 灰度变换与直方图处理 文章目录【youcans 的图像处理学习课】6. 灰度变换与直方图处理1. 图像增强技术2. 图像的灰度化处理和二…

数字时钟

一个美丽的数字时钟 利用所学的Jquery知识制作一个自己的专属时钟,下面先看一下效果图 效果图此图为静止 (时分秒都是动态变化的) 程序解读:使用定时器进行动态变化,时分秒的数字小于10的时候前面应该加上一个0&…

python里面的高级特性

python里面的高级特性 1.切片(Slice) >>> L[0:3] [Michael, Sarah, Tracy]L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。 如果第一个索引是0,…

链接数据库增删改通用

实现对SQLServer和MySql数据库通用链接及数据的增删改 我们经常需要和数据库打交道,对数据库数据进行增改删查的操作,首先我们必须要先链接数据库,然后对数据内容进行相关增删改操作。 首先看一下目录结构 程序解读:一共有三个…

2021爱智先行者—(2)零基础APP开发实例

【本文正在参与"2021爱智先行者-征文大赛"活动】,活动链接:https://bbs.csdn.net/topics/602601454 欢迎关注 『Python小白的项目实战』 系列,持续更新 2021爱智先行者—(1)开箱点评 2021爱智先行者—&#…

pyinstaller使用

pyinstaller 顾名思义,pyinstaller是给python脚本打包用的。 先直接上例子吧 1.直接打包,包含多个文件 pyinstaller xx.py 2.打包成一个文件 pyinstaller -F xx.py 3.打包为一个文件没有黑框(终端或者命令行) pyinstaller -F -w xx.py 4.打包…

ATM取款机系统

模拟银行实现ATM机取款系统 该系统使用( ( (SQLServer) ) )数据库 功能介绍: 开户(到银行填写开户申请单)取钱存钱查询余额转账 根据需求设计相对应的数据库概念模型 流程分步详解 1 创建数据库Bank_db --创建数据库 CREATE DATABASE B…

【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理(cv2.threshold)

『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理 按照颜色对图像进行分类,可以分为二值图像、灰度图像和彩色图像。 二值图像:只有黑色和白色两种颜色的图像。每个像素点可以用 0/1 表示,0…

python库大全

环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具。官网pyenv:简单的 Python 版本管理工具。官网Vex:可以在虚拟环境中执行命令。官网virtualenv:创建独立 Python 环境的工具。官网virtualenvwrap…

【OpenCV 例程200篇】38. 图像的反色变换(图像反转)

『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】38. 图像的反色变换(图像反转) 灰度变换是图像增强的重要方法,可以使图像动态范围扩大、图像对比度增强,图像更清晰,特征更明显,从而改善图…

SQLServer 条件查询语句大全

对于刚开始认识SQLServer数据库的小伙伴们来说添加一些条件查询是比较困难的,我整理了一份常用的条件查询语句供大家参考借鉴 一. 创建数据库 CREATE DATABASE Class ON PRIMARY ( NAME Bank_db_data, FILENAME D:\DATA\Class_data.mdf, SIZE 5MB, MAXSIZE 50…

【OpenCV 例程200篇】39. 图像灰度的线性变换

『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】39. 图像灰度的线性变换 线性灰度变换将原始图像灰度值的动态范围按线性关系扩展到指定范围或整个动态范围。 线性灰度变化对图像的每一个像素作线性拉伸,可以凸显图像的细节,提高图像的…

网络编程基础

网络协议 TCP/IP协议 IP地址与端口

获取焦点改变状态

表格显示文本内容,当用鼠标点击时获取到焦点文本变为可输入的输入框,点击空白处时失去焦点变为文本显示的文本内容 先看效果图 失去焦点的时候(文本内容只能看不能编辑) 获取焦点的时候(文本内容变为可以编辑的输入框…

【OpenCV 例程300篇】40. 图像分段线性灰度变换

『youcans 的 OpenCV 例程300篇 - 总目录』 【youcans 的 OpenCV 例程300篇】40. 图像分段线性灰度变换 分段线性变换函数可以增强图像各部分的反差,增强感兴趣的灰度区间、抑制不感兴趣的灰度级。 分段线性函数的优点是可以根据需要拉伸特征物的灰度细节&#xff…

Ajax链接输出数据库

使用Ajax链接数据库并且获取数据库里的内容显示在页面 两大步骤: 设计并实现数据库进行数据库链接并获取数据库内容显示 先看效果图 没有查询并显示数据之前效果 点击查询按钮之后获取数据库内容显示在页面 下面进行程序的讲解 一 数据库的设计及实现 新建一…

【OpenCV 例程200篇】41. 图像的灰度变换(灰度级分层)

『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】41. 图像的灰度变换(灰度级分层) 线性灰度变换将原始图像灰度值的动态范围按线性关系扩展到指定范围或整个动态范围。 分段线性变换函数可以增强图像各部分的反差,增强感兴趣…

python学习服务器端socket建立

C/S模式简介 Tcp通信模型 Udp通信模型 python标准库中的socket模块 用socket建立TCP服务器端 用socket建立UDP服务器端 socket TCP服务器端测试代码 #coding:utf-8 import socket#Host表示为本机地址 HOST PORT3214#默认为IPV4,TCP协议 ssocket.socket() s.bind((HOST,PORT))s.…

【OpenCV 例程200篇】42. 图像的灰度变换(比特平面分层)

『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】42. 图像的灰度变换(比特平面分层) 线性灰度变换将原始图像灰度值的动态范围按线性关系扩展到指定范围或整个动态范围。 分段线性变换函数可以增强图像各部分的反差,增强感兴…