python中怎么调用函数_浅谈Python中函数的定义及其调用方法

一、函数的定义及其应用

所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤

1.定义函数–封装独立的功能

2.调用函数–享受封装的成果

函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘'

函数:

函数是带名字的代码块,用于完成具体的工作

需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数,让python运行其中的代码,你将发现,通过使用函数,程序编写,阅读,测试和修复都将更容易

1.定义函数

def 函数名():

函数封装的代码

1.def是英文define的缩写

2.函数名称应该能够表达函数封装代码的功能,方便后续的调用

3.函数名称的命名应该符合标识符的命名规则

可由字母,下划线和数字组成

不能以数字开头

不能与关键字重名

参数的作用

函数,把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据

1.在函数内部,把参数当作变量使用,进行需要的数据处理

2.函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递

形参和实参

形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用

实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部用的

函数的返回值

在程序开发中,有时候,会希望一个函数执行结束后(举例子:温度计函数,要返回给我>们当前的温度),告诉调用者一个结果,以便调用者针对具体的结果作出后续的处理

返回值是函数完成工作后,最后给调用者的一个结果

在函数中使用return关键字可以返回结果

调用函数一方,可以使用变量来接收函数的返回结果

局部变量和全局变量

局部变量是在函数内部定义的变量,只能在函数内部使用

全局变量是在函数外部定义的变量,(没有定义在某一个函数内),所有函数内部都可以使用这个变量

局部变量

局部变量是在函数内部定义的变量,只能在函数内部使用

函数执行结束后,函数内部的局部变量,会被系统回收

不同的函数,可以定义相同的名字的局部变量,但是各用各的不会产生影响

局部变量的作用

在函数内部使用,临时保存函数内部需要使用的数据

变量进阶

目标

变量的引用

可变和不可变类型

局部变量和全局变量

变量的引用

变量和数据都是保存在内存中的

在python中函数的参数传递以及返回值都是靠引用传递的

引用的概念

在python中

变量和数据是分开存储的

数据保存在内存中的一个位置

变量中保存的是数据在内存中的地址

变量中记录数据的地址,就叫做引用

使用id()函数可以查看变量中保存数据所在内存的地址

二、函数的跨文件调用

模块文件:每一个python源文件都可以是一个模块文件,可以在一个python文件中定义函数或者变量,然后在另一个函数使用import filename导入这个模块,导入之后,可以使用模块名.变量或者模块名.函数的方式使用这个模块文件的函数和变量

首先定义一个函数

# 1.定义一个函数,能够打印*组成的一条分隔线

def print_line():

print '*' * 50

print_line()

# 2.定义一个函数能够打印由任意字符串组成的分割线

def print_line(char):

print char * 50

print_line('&')

# 3.定义一个函数能够打印任意重复次数的分隔线

def print_line(char,times):

print char * times

print_line('%',20)

# 4.定义一个函数能够打印五行分隔线,

# 分隔线要求符合需求3

# def print_line(char,times):

# print char * times

def print_lines(char,times):

"""打印多行分隔线

:param char: 分隔线使用的分隔字符

:param times: 分隔线重复的次数

"""

row = 0

while row < 5:

print_line(char,times)

row += 1

print_lines('!',70)

模块文件:每一个python源文件都可以是一个模块文件

可以在一个python文件中定义函数或者变量

然后在另一个文件中使用 import filename 导入这个模块

导入之后,就可以使用 模块名.变量/模块名.函数的方式,

使用这个模块中定义的函数和变量

import func_04

import fun_01

print func_04.name

func_04.print_lines('*',80)

result = fun_01.sum_2_sum(3,6)

print result

2.模块的调用

1.

test1文件中

title = '模块1'

# 函数

def demo1():

print '今天学习%s' %title

# 类

class Cat(object):

pass

title = '模块2'

test2文件中

# 函数

def demo1():

print '今天学习%s' %title

# 类

class Dog(object):

pass

import test1

import test2

test1.demo1()

test2.demo1()

cat = test1.Cat()

print cat

dog = test2.Dog()

print dog

使用as指定模块的别名(大驼峰命名法)

from test1 import Cat

# 如果重名的话,则第二个导入的覆盖同名的第一个

from test1 import demo1 as test_demo1

from test2 import demo1

cat = Cat()

print cat

test_demo1()

demo1()

2.python的解释器在导入模块的时候,会:

1.搜索当前目录指定的模块文件,如果有就直接导入

2.如果没有,再搜索系统目录

注意:在开发时,给文件起名,不要和系统模块文件重名

所以在导入文件时,不能起和系统文件重名的名字,例如下例的random

import random

ran = random.randint(1,10)

print ran

3.name属性

功能:测试模块的的代码只在测试情况下被运行,而在导入时不会被运行

name时python的一个内置属性,记录这一个字符串

被其他文件导入时,name就是模块名

如果是当前执行的程序name就是main

def wn():

print '今天是个好日子'

if __name__ == '__main__':

print __name__

print '模块的引用'

调用函数

import test

wn = test.wn()

print wn

以上这篇浅谈Python中函数的定义及其调用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

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

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

相关文章

漫游飞行_魔兽世界:德拉诺时光周 冲声望解锁德拉诺飞行好时机

虽然德拉诺飞行开放已经是6.22版本的事情了&#xff0c;但是目前还是有些玩家还没有解锁。但是本周德拉诺时光周的开放&#xff0c;获取德拉诺飞行声望将会更加简单。德拉诺飞行声望德拉诺飞行解锁需要先知之手(部落是沃金之锋)、觉醒教派和刃牙追猎者三个声望达到崇敬。而在本…

LeetCode695. 岛屿的最大面积(C#)

DFS经典题&#xff0c;两种方法&#xff0c;递归或者用栈 1.递归 public class Solution{public int MaxAreaOfIsland(int[][] grid) {int rows grid.Length;int cols grid[0].Length;int res 0;for(int i 0; i < rows; i){for(int j 0; j < cols; j){res Max(re…

python怎么解释语言_python是解释型语言吗

Python 是解释型的语言吗&#xff1f;它会被编译吗&#xff1f; 这个问题没有想象中那么好回答。和很多人认识世界一样&#xff0c;习惯以一个简单的模型去评判一些事物。而事实上&#xff0c;里面包含了很多很多的细节。通常的说法&#xff0c;编译代表着将一个高级语言转化为…

第一次失效_神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气...

神兵小将&#xff1a;净化之力失效地魔兵兽&#xff0c;全靠特殊办法&#xff0c;铁心方式真霸气。在经典动漫神兵小将中&#xff0c;魔兵兽在漫迷眼中属于比较特殊的存在&#xff0c;很多人气指数超高的神兵兽被魔化后却成为阻碍问天前进的高山。因此魔兵兽在很大意义上讲也是…

Python 每日定时查询数据库生成Excel报表,并群发邮件

最近在做游戏打点数据的一些统计处理&#xff0c;写了个Python脚本完成每日定时自动查询生成Excel报表并群发邮件的小功能。 拆解几个需求点&#xff1a; 一.连接数据库并查询 以下是一个查询总注册人数的示例代码&#xff0c;host port db user password等填入自己数据库的…

com口驱动_Ubuntu 安装Nvidia显卡驱动指南

该文档适用于&#xff1a; Ubuntu 14/16/18 三个版本。Nvidia显卡驱动适用于&#xff1a;RTX2080TI/RTX2080/RTX2070/GTX1080TI/GTX1080/GTX1070以及更低级别显卡。本文档旨在帮助大家解决安装Nvidia显卡遇到的常见问题。Nvidia驱动下载地址&#xff1a;https://www.geforce.co…

Unity Built-in Shader转URP Shader 接口查询对照表

本篇文章转自Teofilo Dutra编写的《From Built-in to URP》&#xff0c;其中有很多在写URP管线Shader时需要用到的函数&#xff0c;作为备忘速查表非常实用&#xff0c;所以记录于此。本文经过精简和翻译&#xff0c;不一定适用于大家&#xff0c;可以点击上方链接跳转至作者原…

python class类里给列表排序_python笔记:Class(类)

在学习python代码中&#xff0c;你是否看到过Class这个词&#xff1f;你是否见过__init__这样的代码&#xff1f;有的书里把这部分内容讲的太过“专业”&#xff0c;导致我看了也看不懂。直到看Python Crash Course这本书关于这部分讲解&#xff0c;才明白什么是Class。其实如果…

Unity URP中根据深度重建世界坐标

通过深度值重建世界坐标&#xff0c;可以做出很多有意思的后处理效果&#xff0c;先实现下度值重建世界坐标这个功能。 一.验证重建效果 首先&#xff0c;得先找到一种证明反推回世界空间位置正确的方法。在相机前摆放几个物体&#xff0c;尽量使之在世界坐标下的位置小于1&a…

dubbo yml配置_Spring boot 的profile功能如何实现多环境配置自动切换

通常服务端应用开发需要经过以下几个流程&#xff1a;开发 -> 测试 -> RC验证 -> 上线这就涉及到四个不同的环境&#xff0c;开发环境、测试环境、RC环境以及生产环境&#xff0c;为了避免不同环境之间相互干扰&#xff0c;通常需要独立部署数据库、缓存服务器等&…

Unity中的SystemInfo.deviceUniqueIdentifier 唯一ID

做游戏时可能经常使用SystemInfo.deviceUniqueIdentifier作为用户的唯一ID进行注册登录&#xff0c; 但是你会发现从谷歌商店上下载的自己游戏&#xff0c;和自己从Unity工程中直接打包出来的游戏账号竟然是不一致的&#xff01; 这个坑还是很坑爹的&#xff0c;纠其原因是Sy…

python中转义符的用法大全_Python转义字符及用法

前面已经提到&#xff0c;在字符串中可以使用反斜线进行转义&#xff1b;如果字符串本身包含反斜线&#xff0c;则需要使用“\”表示&#xff0c;“\”就是转义字符。Python 当然不会只支持这么几个转义字符&#xff0c; Python 支持的转义字符如表 1 所示&#xff1a;表 1 Pyt…

sketchup生成面域插件_独家教程 | 快速抓取“高精准”场地信息,康石石教你生成不同“体量”地形...

无论建筑设计还是景观设计&#xff0c;同学们的设计项目都必须依托于场地来进行&#xff0c;通过分析场地的区位范围、地形地势&#xff0c;结合场地的局限性与可能性&#xff0c;才能进一步展开项目设计。可以说&#xff0c;获取场地信息是同学们在作品集创作中最重要的环节之…

Unity URP高度雾效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现&#xff08;LinearDepth&#xff0c;Reverse Z&#xff0c;世界坐标重建&#xff0c;软粒子&#xff0c;高度雾&#xff0c;运动模糊&#xff0c;扫描线效果&#xff09;_puppet_master的专栏-CSDN博客_shader深度…

无限重启_三星蓝光播放器出现无限自动重启BUG,涉及不少用户及不同型号

三星的蓝光播放器似乎遇到了一个挺严重的BUG&#xff0c;使得不少用户都开机后播放器会自动不停重启。从reddit、ZDNet以及三星技术支持论坛上面的情况来看&#xff0c;这次的问题波及不同型号的播放器&#xff0c;大部分用户遇到的问题都是不停重启。其中一位用户表示:“开机之…

python getattr_Python 内置方法和属性应用:反射和单例

1. 前言python除了丰富的第三方库外&#xff0c;本身也提供了一些内在的方法和底层的一些属性&#xff0c;大家比较常用的如dict、list、set、min、max、range、sorted等。笔者最近在做项目框架时涉及到一些不是很常用的方法和属性&#xff0c;在本文中和大家做下分享。2. 内置…

Unity URP世界空间后处理扫描圈效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现&#xff08;LinearDepth&#xff0c;Reverse Z&#xff0c;世界坐标重建&#xff0c;软粒子&#xff0c;高度雾&#xff0c;运动模糊&#xff0c;扫描线效果&#xff09;_puppet_master的专栏-CSDN博客_shader深度…

前端 重构时需要注意的事项_前端数据层落地实践

源宝导读&#xff1a;天际移动平台经过重构改版&#xff0c;近期正式发布了1.0版本&#xff0c;我们在低代码开发方面做了进一步增强。本文主要围绕前端Model、前端业务逻辑(领域模型)、数据层与视图层解耦(包装器模式)3个方面&#xff0c;给大家分享一下统一数据层方案的设计思…

postconstruct_@PostConstruct注解,你该好好看看

在最近的工作中&#xff0c;get到一个很实用的注解&#xff0c;分享给诸位。痛点做过微信或支付宝支付的童鞋&#xff0c;可能遇到过这种问题&#xff0c;就是填写支付结果回调&#xff0c;就是在支付成功之后&#xff0c;支付宝要根据我们给的地址给我们进行通知&#xff0c;通…

Unity URP运动模糊效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现&#xff08;LinearDepth&#xff0c;Reverse Z&#xff0c;世界坐标重建&#xff0c;软粒子&#xff0c;高度雾&#xff0c;运动模糊&#xff0c;扫描线效果&#xff09;_puppet_master的专栏-CSDN博客_shader深度…