Python学习杂记_11_函数(一)
函数也叫方法,就是把实现某种功能的一组代码封装起来,当你需要这个功能时直接调用函数即可。 定义函数:
定义函数时要注意 “def”关键字,“:”,“函数体缩进”;用“return”使函数有具体返回值,没有return返回“None”.
def SUM(a, b):
return a + b 调用函数:
函数名()的格式就可以调用函数
def SUM(a, b):
return a + b
num1 = int(input("Please input num1: "))
num2 = int(input("Please input num2: "))
sum = SUM(num1,num2)
print("num1 + num2 = %d" %sum) 函数的参数:
参数是写在函数()里面的东东。定义函数时,括号里面的参数是形式参数简称“形参”;调用函数时,括号里面的参数是实际参数简称“实参”。
参数具体有下面几类:
位置参数(必填)
def p_info(name, age,sex): 默认值参数(非必填)
def p_info(name, age,sex = '男'): 可变参数 (*args)
也叫参数组,非必填,传参时个数不固定,接收的是个元祖
def post(*args):
post("001","login","http://www.baidu.com","post","a=1") # 调用时根据实际情况传递的参数可多可少 关键字参数 (**kwargs)
非必填,传参时用 key = value 的方式,参数个数不固定,接收的是个字典,也可直接用字典传参
def p_info(**kwargs):
p_info(name="张三",age=18,id="001") d={"name":"张三","age": 18, "id": "001"}
p_info(**d) # 直接传字典 如果参数列表中同时有“位置参数”,“默认值参数”,“可变参数”和“关键字参数”,调用函数时传参的顺序是
“位置参数”->“默认值参数”->“可变参数”->“关键字参数”
如果参数都是必填参数且个数较多我们很容易忘记各参数的顺序,可以用指定参数传值的方法,称之为参数的“关键字调用” def write(filename, model,e-coding,user,os, money, other):
write(os='Win7',user='张三',model='w',filename='a.txt',e-coding='utf-8',money=999,other='AAA')
# 如此可以不按顺序,但个数不能少 全局变量和局部变量:
有了函数就会涉及到“全局变量”和“局部变量”的概念。局部变量是定义在函数里的,有函数才有它,函数被调用时该函数的
局部变量被定义,函数执行结束时,改变量被释放;全局变量是定义在函数之外的可被整个程序共享,只有程序结束时才被释放。
如果想在函数内操作全局变量,int 和 string型的需要在变量前加global关键字,字典和列表型就不用加global关键字。 name = "张三" def p_info():
name = "Mike"
print("name:", name) p_info()
print(name) 运行结果:
name: Mike
张三 name = "张三" def p_info():
global name
name = "Mike"
print("name:", name) p_info()
print(name) 运行结果:
name: Mike
Mike
Python学习杂记_11_函数(一)的更多相关文章
- Python学习杂记_11_函数(二)
函数的高级运用这部分知识的核心内容就是你要把“函数即变量”这个概念理解并运用得出神入化... 一.函数的递归调用 所谓递归调用就是函数自己调用自己,在Python中如果不做限制递归调用的死循环最多可循 ...
- Python学习杂记_12_函数(三)
内置函数 Python有很多内置函数,以下这些是常用且必须要掌握的: 强制类型转换: bool() # 把一个对象转换成布尔类型 int() # 整形 float() # 小数 str() # 字符 ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- Python 学习:常用函数整理
整理Python中常用的函数 一,把字符串形式的list转换为list 使用ast模块中的literal_eval函数来实现,把字符串形式的list转换为Python的基础类型list from as ...
- 【Python学习之五】函数
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 Python不但能非常灵活地定义函数,而且本身内置 ...
- Python学习-第一天-函数和模块的使用
目录 Python学习-第一天总结 print输出的一种简单格式 函数参数之可变参数 模块管理函数 if else语句的单行实现(简洁) 变量作用域 函数书写格式 Python学习-第一天总结 pri ...
- python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)
1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- Python学习(二):函数入门
1.函数代码格式: def 函数名(): 函数内容 执行函数:函数名() 2.代码举例: #!/usr/bin/env python #coding=utf-8 #定义函数 def Func1(): ...
随机推荐
- LeetCode#5 两个排序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 nums2 ...
- visual studio cl -d1reportSingleClassLayout查看内存f分布
C:\Users\Administrator\Desktop\cppsrc>cl -d1reportSingleClassLayoutTeacher virtual.cpp 用于 x86 的 M ...
- Cube HDU - 1220(思维)
Cowl is good at solving math problems. One day a friend asked him such a question: You are given a c ...
- poj 3273 分期问题 最大化最小值
题意:将N个账款分给城M个财务期,使得每个分期账款和的值最大? 思路: 每次mid为分期账款 如果分期次数小于m说明mid太大,减上限 反正 增下限 开始下限设为 最大值 上限设为和 解决问题的代码 ...
- spoj 104 Highways(Matrix-tree定理)
spoj 104 Highways 生成树计数,matrix-tree定理的应用. Matrix-tree定理: D为无向图G的度数矩阵(D[i][i]是i的度数,其他的为0),A为G的邻接矩阵(若u ...
- BZOJ 3420: Poi2013 Triumphal arch
二分答案 第二个人不会走回头路 那么F[i]表示在i的子树内(不包括i)所需要的额外步数 F[1]==0表示mid可行 k可能为0 #include<cstdio> #include< ...
- 1026: [SCOI2009]windy数(数位dp)
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9016 Solved: 4085[Submit][Sta ...
- sql语句查询数据库案例
package com.hanqi.test; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...
- APK无源码使用Robotium简单总结
1.使用re-sign.jar对待测包进行重签名,并记录下包名和主Activity名. 2.在Eclipse中点击File-New-Other 选择Android下的Android Test Proj ...
- day02_05.除数与被除数
第5题 除数与被除数 编程需要一定数学能力,在这看看你找到了几个有用条件, 又该如何来运用他们呢? 学习是互通的 题目:两个自然数相除,商3余10,被除数,除数,商,余数的和是163,求被除数,除数. ...