python函数的作用: 在Python代码段中如果有一段几十行的代码,需要多次重复使用这几十行代码时,为了提高代码的可用性,将代码段放进函数体内,以后在使用中直接调用该函数模块即可,函数是一个独立的函数体或是一段独立的功能体,最主要的作用是解决代码的重用性。同时函数也具备一定的灵活性。

包定义与使用

一、包定义:

含有__init__.py文件的目录我们称之为包

二、包使用:

目录内的文件我们称之为模块,我们利用包和模块的目的是找模块也就是Python文件内的内容,主要是哪些内容,一般都是功能体、代码段比较封闭,主要有两个,一个是类、一个是函数。

import package.module

package.module.myfunc()

三、包的定义和使用——示例

、首先创建一个目录,命名为pack。目录内包含_init_.py的就称之为包。

、在包内创建一个模块,命名为main.py。

、在模块main.py中我们定义一个函数,名称为myfunc();

、在主程序下的index.py下调用函数,其中as bm是为包下的main.py起的别名。

其包含关系为:包(pack)模块(main.py)函数(myfunc();)

函数的定义与使用

、myfunc函数定义与使用

def myfunc():

//函数体

print('hello world');

myfunc();

运行结果:

hello world

[Finished in 0.1s]

变量作用域

、全局变量

在一个函数体外的变量,我们称之为全局变量,可以在函数内直接使用。

a=10;

def myfunc():

print(a);

myfunc();

运行结果:

10

[Finished in 0.2s]

、局部变量

在一个函数体内的变量,我们称之为局部变量,不可以在函数外面直接使用。

def myfunc():

a=10;

myfunc();

print(a);

运行结果:

Traceback (most recent call last):

File "D:pythonindex.py", line 9, in

print(a);

NameError: name 'a' is not defined

[Finished in 0.1s with exit code 1]

函数参数

、普通参数

参数把外面真实的值传递给里面去使用,外面的称之为实参、里面的称之为形参

a=10;

def myfunc(i):

print(i);

myfunc(a);

注:a就是实参、i就是形参,将a的值传递给i,被i使用。

运行结果:

10

[Finished in 0.1s]

计算两数之和

普通参数示例

#已知2018年,求2018年是闰年还是平年?

#闰年的条件有两个:

#1、能被4整除,但不能被100整除。

#2、能被4整除,同时如果能被100整除的话,则必须同是能被400整除。

year=2000;

def getYear(y):

if (y%4==0) and (y%100!=0) or (y%400==0):

print('yes');

else:

print('no');

getYear(year);

注:通过函数传参,将year传递给y,然后在内部进行计算。

、默认参数

#默认参数

a=10;

b=20;

def sum(i=1,j=2):

print(i+j);

sum();

注:如果将a和b传给了i和j,则执行传递的值进行计算,如果没有传递值,则使用默认的1和2进行计算,这就是默认参数。默认参数一般在没有传递参数的时候使用。

另外,参数传值是按照顺序传值的。

x运行结果:

3

[Finished in 0.1s]

、序列参数

#序列参数

def sum(i):

print(i);

arr=[1,3,5,7,9]

sum(arr);

运行结果:

[1, 3, 5, 7, 9]

[Finished in 0.1s]

、任意参数

#任意参数

def sum(*vals):

tot=0;

for i in vals:

tot+=i;

print(tot);

sum(2,4,6,8,10);

运行结果:

30

[Finished in 0.1s]

、字典参数

#字典参数

def sum(**vals):

print(vals);

sum(name1='user1',name2='user2',name3='user3');

住:变量和值的关系,变量不能加单引号

x运行结果:

{'name1': 'user1', 'name2': 'user2', 'name3': 'user3'}

[Finished in 0.1s]

字典遍历:

#字典参数

def sum(**vals):

for i in vals:

print(i,vals[i]);

sum(name1='user1',name2='user2',name3='user3');

运行结果:

name1 user1

name2 user2

name3 user3

[Finished in 0.1s]

函数的返回值

、print();

#函数返回值

ef sum(i,j):

# print(i+j);

return(i+j);

print(sum(1,2));

注:return(i+j);只返回,不打印,谁调用就返回给谁,如果想打印,在sum前使用print即可。

运行结果:

3

[Finished in 0.1s]

、return()或return;

是直接打印好,还是直接返回好?

返回能体现出函数的特点,是一个独立的代码段或功能体,如果用print它不独立,为什么,如果我用sum(1,2)传进去得到的值就是3呢,但是结果3并不着急打印,后续还要处理。

函数如果没有返回值,返回的就是none。

def sum(i,j):

# print(i+j);

return(i+j);

a=10;

b=20;

str='{}+{}={}'.format(a,b,sum(a,b));

print(str);

运行结果:

10+20=30

[Finished in 0.1s]

python函数和模块有什么特性_python-函数包和模块相关推荐

  1. 【爆肝更新】Python基础教程:第五章_Python函数

    原创:公众号 数据说话 [爆肝更新]Python基础教程:第五章_Python函数 函数介绍 学习目标: 快速体验一下函数的使用 了解函数的作用. 函数:是组织好的,可重复使用的,用来实现特定功能的代 ...

  2. 【python小课堂专栏】python小课堂15 - 史上最详细的包和模块import讲解篇

    python小课堂15 - 史上最详细的包和模块import讲解篇 前言 在大量的代码设计中,我们不可能将所有代码都写在一个.py文件,所以有了包.模块,而为了代码可以重复利用(复用性),就有了类.函 ...

  3. python导入自己写的模块_Python:包、模块和导入

    南京著名风景区--牛首山 预计阅读时间--5分钟 Python的好处在于,你不需要懂很多概念,你就有机会投入工作,同样,问题也有机会随时发生. 包.模块 foo --bar.py --sim.py - ...

  4. python中的object是什么意思_Python函数是所谓的第一类对象(First-Class Object)是什么鬼?...

    之前写过一篇关于装饰器的文章,虽然写得还算不错,但是也有不少同学表示没看懂,我大概分析了其中的原因,主要问题是他们不理解函数,因为Python中的函数不同于其它语言. 正确理解 Python函数,能够 ...

  5. python多进程存储数据丢失的存储器是_python查漏补缺 --- 模块、文件、异常

    有些知识学着学着就忘了,有些博客看着看着就想留言了,本片博客仅代表作者本人的观点,如有错误及疑问,欢迎提出宝贵的意见! 1.方法定义好之后,如,def test(x) : ,此时将方法名赋值给一个新的 ...

  6. python函数作用域包括局部变量和参数_python函数变量的作用域声明(全局变量和局部变量)...

    函数变量的作用域声明(全局变量和局部变量) 引入问题: 局部变量: 局部变量:定义在函数内部的变量,它的作用域也仅限于函数内部,出了函数就不能使用了. 例如: #encoding = utf-8 de ...

  7. python基本模块中的对象_Python 学习笔记 -- OS模块的常用对象方法

    1 #这里列举在os模块中关于文件/目录常用的函数使用方法 2 3 #这里需要注意下,在使用这些方法前记得导入os模块 4 import os #导入os模块 5 """ ...

  8. python函数装饰器有什么用_Python @函数装饰器及用法(超级详细)

    前面介绍的 @staticmethod 和 @classmethod 的本质就是函数装饰器,其中 staticmethod 和 classmethod 都是 Python 内置的函数. 使用 @ 符号 ...

  9. python中、函数定义可以不包括以下_python函数定义精讲

    原标题:python函数定义精讲 在 Python 中,你也可以定义包含若干参数的函数.这里有三种可用的形式,也可以混合使用. 默认参数值 最常用的一种形式是为一个或多个参数指定默认值.这会创建一个可 ...

最新文章

  1. 微信小程序获取多选框选中值和选中值对应的id
  2. MySQL 中的myisam内部临时表
  3. 实例10:python
  4. 【转】人工智能-1.2.2 神经网络是如何进行预测的
  5. VBScript学习笔记 - 数组
  6. python arp欺骗
  7. I/O写入的原子性(Double Write)
  8. 绝对经典的滑轮新闻显示(javascript+css)
  9. 在注册表更改Program Files的位置
  10. DoIP协议一致性测试
  11. VS2010旗舰版安装图解
  12. 【NOIP2016提高组】蚯蚓
  13. SQL(Oracle) 日期转换为英文年月格式
  14. Kanzi软件开发与Android的关系
  15. 2.15范冰增长黑客读书笔记
  16. android 平板hdmi开发,安卓平板电脑的新突破口:HDMI in 视频输入,取代便携显示器...
  17. 未来广播电视新技术的发展和应用
  18. Pytorch之Bert文本分类(一)
  19. 手把手教你搭建Kubernetes集群
  20. 瞬渺光电代理THZ光谱仪成功客户

热门文章

  1. 复习JavaScript随手记
  2. Scapy之ARP询问
  3. Redis单机和集群环境搭建
  4. idea compare功能 之一次bug修复
  5. ASP.NET 缓存技术分析
  6. Linux 技巧: Bash 测试和比较函数
  7. Thymeleaf th:include、th:replace使用
  8. Day03:文件打开;错误处理
  9. Python数据分析之pandas入门
  10. tracert路由检测命令使用方法