python函数模块

学习完本篇,你将会深入掌握

  • 函数相关知识

    1.函数定义

    2.函数如何调用

    3.递归函数以及匿名函数使用
  • 模块相关知识

    1.模块如何导入调用

    2.函数调用顺序

函数定义

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

函数语法

  • Python函数语法跟java以及C类似
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
实例:
def printme( str ):
"打印传入的字符串到标准显示设备上
“ print str”
return

参数传递

  • 定义一个函数,给出函数包含的参数以及代码块结构。函数的基本结构给出后,就可以直接调用
#!/usr/bin/python
#-*- coding: UTF-8 -*-
#定义一个函数
def add(num1,num2):
return num1+num2 If __name__ == “__main__”
var_1 = 50
var_2 = 60
print add(50,60)
  • Python中类型属于对象,变量没有类型

不可变类型 类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型 类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

参数类型

  • Python函数参数有四个参数类型,分别为

    1、必备参数

    2、关键字参数

    3、默认参数

    4、不定长参数
  • 必备参数:必备参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样。
#!/usr/bin/python
#-*- coding: UTF-8 -*-
#可写的函数说明
def printstr(str):
‘’’打印任何参数’’’
print str
return If __name__ == “__main__”
printstr(“hello”)
  • 关键字参数:关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值,同时参数传入的顺序可以不一致。
#-*- coding: UTF-8 -*-
#可写的函数说明
def printinfo(name ,age):
print “name:%s\n age:%d” %(name,age)
return If __name__ == “__main__”:
printinfo (age = 50,name = ‘zhangmou’)
  • 缺省参数:调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
#-*- coding: UTF-8 -*-
#可写的函数说明
def printinfo(name ,age = 10):
print “name:%s\n age:%d” %(name,age)
return If __name__ == “__main__”
printinfo (age = 50,name = ‘zhangmou’)
printinfo (name= ‘limou’)
printinfo(‘limou’)
  • 不定长参数:一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 可写函数说明
def printinfo( arg1, *vartuple ):
print "输出: "
print arg1 for var in vartuple:
print var return; If __name__ == “__main__”
printinfo( 10 );
printinfo( 70, 60, 50 );

匿名函数

  • Python用lambda创建匿名函数
  • Lambda的是一个表达式,而不是一个代码块,lambda有自己的命名空间
# -*- coding: UTF-8 -*-
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
If __name__ == “__main__”
# 调用sum函数 print "相加后的值为 : ",
sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )

Return语句

  • Return语句[表达式]退出函数,不带参数的return语句返回None。
# -*- coding: UTF-8 -*-
def sum(arg1,arg2)
reurn arg1+arg2
If __name__ == “__main__”
# 调用sum函数 print "相加后的值为 : ",
Total = sum(1,2)
print "相加后的值为 : ", Total

变量作用域

  • 一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
  • 变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:

    1.全局变量

    2.局部变量
  • 定义在函数内部的变量称为局部变量
  • 定义在函数外部的变量称为全部变量

# -*- coding: UTF-8 -*-
total = 0;#这是一个全局变量
Def sum(arg1,arg2):
total = arg1 + arg2;#这是一个局部变量
print “局部变量total:%d” %total
return toal If __name__ == “__main__”
# 调用sum函数 print "相加后的值为 : ",
Sum(1,30)
print “全部变量total: ", total

Python模块

  • Python模块是一个python文件,以py结尾的。模块能让你更有逻辑的组织你的python代码段。
Calc.py模块:

def   sum(arg1,arg2)
return arg1+arg2 def min(arg1,arg2)
return arg1-arg2

导入模块

  • Python导入模块有很多方式:

    1.import Modules

    2.from modules import fun

    3.from…import *

模块加载

  • 当你导入一个模块,python解释器对模块位置的搜索顺序是:

    1.当前目录

    2.如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。

    3.如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

    4.模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

模块函数

  • Python有相应的模块函数获取模块信息

    | 函数 | 描述 |

    | ------------ | ------------ |

    | dir() | 返回的列表容纳了在一个模块里定义的所有模块,变量和函数。 |

    | globals() | 返回的是所有在该函数里能访问的全局名字。 |

    | reload() | 重新导入之前模块,顶层模块会重新执行一次。 |

  • 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。通俗的讲,包就是文件夹

  • 创建一个package_runoob包,包中有runoob1.py, runoob2.py, init.py

  • 创建一个package_runoob包,包中有runoob1.py, runoob2.py, init.py package_runoob 同级目录下创建 test.py 来调用 package_runoob 包

python函数模块的更多相关文章

  1. Python变量/运算符/函数/模块/string

    Python笔记(一) 1.变量类型 Python 有五个内置的简单类型:bool.int.long.float 和 complex.这些类型是不可变的,就是说整数对象一旦创建,其类型便不可更改. t ...

  2. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  3. Python 3.X 调用多线程C模块,并在C模块中回调python函数的示例

    由于最近在做一个C++面向Python的API封装项目,因此需要用到C扩展Python的相关知识.在此进行简要的总结. 此篇示例分为三部分.第一部分展示了如何用C在Windows中进行多线程编程:第二 ...

  4. 查看python内部模块命令,内置函数,查看python已经安装的模块命令

    查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m  ...

  5. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  6. python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性

    python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性 inspect import inspect def fun(): pass inspect.ism ...

  7. 洗礼灵魂,修炼python(11)--python函数,模块

    前面的章节你如果看懂了,基本算是入门了七八了,不过如果你以为python就这么点东西,你觉得很简单啊,那你就错了,真正的东西在后面,前面我说的几大核心其实也不是多么高深多么厉害的,那些东西是基础很常用 ...

  8. python基础12 ---函数模块2

    函数模块 一.sys函数模块详解 1.sys.argv[x] 功能:从程序外部接受参数,接收的参数个数可以是多个,在程序内部sys.argv吧这些外部参数转换成元组的形式,然后以索引x的方式在内部取出 ...

  9. python基础11 ---函数模块1

    函数模块 一.函数模块的作用(为什么要有函数模块) 1.函数模块可以减少代码量 2.函数模块方便阅读 3.函数模块维护性强二.函数模块的本质以及调用方法 1.函数模块的本质就是一个.py结尾的文件,该 ...

随机推荐

  1. Kong网关安装之Docker版(1)

    前言: Kong 是天生的微服务网关.她的官方简介是:Kong 是一个云原生,高效,可扩展的分布式 API 网关. 自 2015 年在 github 开源后,广泛受到关注,目前已收获 1.9w+ 的 ...

  2. kali 免杀工具shellter安装以及使用

    Shellter 是一款动态 shellcode 注入工具,我们可以将shellcode注入到其它程序上,从而来躲避杀毒软件的查杀.俗称为免杀 官网:https://www.shellterproje ...

  3. NOIP 模拟 $11\; \rm english$

    题解 本题有一定代码难度 对于需要区间最大值,可以反过来考虑,先预处理出每个数所能扩展的最大边界,也就是说,求出一个最大的区间,其最大值为这个数,单调栈 \(\mathcal O(n)\) 求解 那么 ...

  4. HTTP协议之:HTTP/1.1和HTTP/2

    目录 简介 HTTP/1.1 HTTP/2 传输模式对比 流优先级 缓冲区溢出处理 预测资源请求 压缩 总结 简介 HTTP的全称是Hypertext Transfer Protocol,是在1989 ...

  5. 轻松让你的nginx服务器支持HTTP2协议

    目录 简介 HTTP1.1和HTTP2 安装最新的nginx 开启HTTP2支持 添加SSL支持 修改加密算法 Diffie–Hellman对消息进行加密 重定向所有的HTTP请求到HTTPS 启动n ...

  6. .Net Core 集成 Redis

    首先安装RedisServer 安装教程可参照 http://www.redis.cn/download.html 或者 https://www.runoob.com/redis/redis-inst ...

  7. HttpURLconnection的介绍

    一,HttpURLconnection的介绍 在Android开发中网络请求是最常用的操作之一, Android SDK中对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口: 1.标准J ...

  8. uwp 之语音识别

    xml code ---------------------------------------------- <Page x:Class="MyApp.MainPage" ...

  9. Linux下用gdb 调试、查看代码堆栈

      Linux中用gdb 查看代码堆栈的信息 core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的. 调试的话输入: gd ...

  10. Lyndon 相关的炫酷字符串科技

    浅谈从 Lyndon Words 到 Three Squares Lemma By zghtyarecrenj 本文包括:Lyndon Words & Significant Suffixes ...