python基础函数、方法
python的函数和方法,通过def 定义:
函数的特性:
- 减少重复代码
- 使程序变的可扩展
- 使程序变得易维护
函数和方法的区别:函数有返回值、方法没有
语法定义:
def sayhi():#函数名
print("Hello, I'm nobody!") sayhi() #调用函数
#下面这段代码
a,b = 5,8
c = a**b
print(c) #改成用函数写
def calc(x,y):
res = x**y
return res #返回函数执行结果 c = calc(a,b) #结果赋值给c变量
print(c)
注:函数参数说明,定义函数中的参数称为形参,调用函数中的参数称为实参。
def test(x,y):
print x
print y
x=1
y=2
test(y=y, x=x)
>>1
>>2
实参要与形参中的个数相同,正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可,但记住一个要求就是,关键参数必须放在位置参数之后。
具体见:http://www.cnblogs.com/alex3714/articles/5740985.html
非固定参数
若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数
def stu_register(name,age,*args): # *args 会把多传入的参数变成一个元组形式
print(name,age,args) stu_register("Alex",22)
#输出
#Alex 22 () #后面这个()就是args,只是因为没传值,所以为空 stu_register("Jack",32,"CN","Python")
#输出
# Jack 32 ('CN', 'Python')
还可以有一个**kwargs
def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个dict形式
print(name,age,args,kwargs) stu_register("Alex",22)
#输出
#Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空 stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
#输出
# Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}
参数组包括:*args(把多传入的位置参数变成一个元组形式)、**kwargs(会把多传入的关键字参数变成一个字典形式)
注:默认参数要写到**kwargs参数组的前面,向**kwargs传递的实参必须是关键字参数。
def test(x,*y):
print x
print y
test(2,3,4 )
>>2
>>(3, 4)
def test(x,f=18,**y):
print x
print f
print y
test(2,z=3,m=4 )
>>2
>>18
>>{'z': 3, 'm': 4}
注:函数定义模块要写到调用该函数的前面。
python基础函数、方法的更多相关文章
- python基础—函数嵌套与闭包
python基础-函数嵌套与闭包 1.名称空间与作用域 1 名称空间分为: 1 内置名称空间 内置在解释器中的名称 2 全局名称空间 顶头写的名称 3 局部名称空间 2 找一个名称的查找顺序: ...
- python基础—函数装饰器
python基础-函数装饰器 1.什么是装饰器 装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能. 装饰器的返回值是也是一个函数对象. 装饰器经常用于有切 ...
- python基础,函数,面向对象,模块练习
---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? # [] {} () None 0 2,位和字节的关系? # ...
- python基础——函数的参数
python基础——函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复 ...
- Python基础-函数参数
Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Python基础-函数篇
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数与函数式编程 1.面向对象: 华山派-- ...
- Python列表函数&方法
Python包含以下函数: 序号 函数 1 cmp(list1, list2)比较两个列表的元素 2 len(list)列表元素个数 3 max(list)返回列表元素最大值 4 min(list)返 ...
- Python基础(函数,函数的定义,函数的调用,函数的参数,递归函数)
1.函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = ...
随机推荐
- Scrapy连接到各类数据库(SQLite,Mysql,Mongodb,Redis)
如何使用scrapy连接到(SQLite,Mysql,Mongodb,Redis)数据库,并把爬取的数据存储到相应的数据库中. 一.SQLite 1.修改pipelines.py文件加入如下代码 # ...
- 图形化编程娱乐于教,Kittenblock实例,测试声音的响度
跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关键的问题在于,带入感,我能给出的建议,就是咬咬牙,坚持住,没有学不会的知 ...
- 主流CAD菜单开发
AutoCAD Inventor Solidedge Proe UGNX
- 模仿u-boot的makefile结构
u-boot(2014.04)是通过顶层makefile调用各子目录中的makefile来实现整个工程的编译的,实际上子目录的makefile是include进来的.这里仿照这种结构写个模板测试一下. ...
- C# 扩张方法的语法
using System; namespace ConsoleApp { class Program { static void Main(string[] args) { string str = ...
- java中集合,数组,字符串相互转换
数组转List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List sta ...
- zabbix-agent服务无法启动
zabbix-agent服务无法启动解决方案1.先配置yum源2.卸载已经安装的zabbix-agent3.重新安装zabbix-agent4.配置zabbix-agent配置文件: Server=服 ...
- drf中的请求模块和渲染模块
请求模块:request对象 APIView request.py # 在rest_framework.request.Request实例化方法中 self._request = request 将原 ...
- 设置PPT版式
1.点击视图,幻灯片母版 2.选中某个PPT母版,可进行编辑
- LeetCode No.136,137,138
No.136 SingleNumber 只出现一次的数字 题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明:你的算法应该具有线性时间复 ...