python中while和for的运行顺序_详解python while 函数及while和for的区别
1.while循环(只有在条件表达式成立的时候才会进入while循环)
while 条件表达式:
pass
while 条件表达式:
pass
else:
pass
不知道循环次数,但确定循环条件的时候用while
# 如果说年利率是6%,存入1000到第几年本钱翻倍
money = 10000
year = 0
while money < 20000:
money = money*(1+0.06)
year += 1
print('第 {0} 年本钱翻倍了,总共有 {1} 元'.format(year,money))
1.函数 :一个函数实现一个功能
规则:def 函数名([形参]):
pass
命名规则:注意不要使用大驼峰,默认小驼峰,大驼峰命名只用于类的命名
1.函数的参数与返回值 返回值:函数执行的结果1.函数参数的定义与使用
def hello(name):
print("你好吗,{}".format(name))
return "函数中止执行,后面不管有多少句代码都不会被执行"
print("这句话不会被执行")
person = 'Tom'
hello(person)
rst = hello("John") #函数也可以这么调用,如果有返回值会将返回值赋值给变量
函数的返回值
表示函数执行的结果,如果函数中没有return系统自动返回None,函数一旦执行return语句,则无条件返回,意味着return下面的语句将不再执行,只要遇到return,函数自动中止执行。
参数详解:普通参数 默认参数 收集参数 关键字参数
- 普通参数:定义的时候直接定义变量名,平时用的最多的参数
def 函数名(参数1, 参数2, ....):
调用: 函数名(参数1, 参数2, ...)
- 默认参数: 函数中默认给定义好的参数,参数有默认值
def 函数名(value1, canshu = value2): 其中的canshu = value2 就是默认参数,典型的例子就是 print(value1, value2, ...,sep=" ", end= '\n',..)
调用的时候,如果没有特殊要求 ,默认参数可以不用进行传值
def hello(name, gender = 'boy'):
if gender = 'boy':
print("welcome,{0},you are a good {1}".format(name, gender))
else:
print("welcome,{0},you are a good {1}".format(name, gender))
hello('Tom')
hello('Siri', 'girl')
- 关键字参数:注意与默认参数区分,好处就是实参与形参位置可以不用一一对应
def fun(p1=v1, p2=v2, ...):
pass
fun(p1=value1, p2=value2, ....)
def student(name=None, age=None, gender=None):
print("我是一个学生,我的名字是 {0}, 我今年 {1} 岁, 我是个 {3}生")
name = 'Tom'
age = 12
gender = '男'
student(age=age, gender=gender, name=name)
- 收集参数:
把没有位置,不能和定义时的参数位置相对应的参数,放入一个特定的数据结构中
def fun(*args):
pass
调用:fun(p1, p2, p3, ...)
参数名可以不用 args,但推荐这么用,约定俗成. 注意前面的 " * " 不能省略, 调用的时候可以不传入参数值
收集参数传参的时候不能直接传入关键字参数,例如 fun(name='Tom'Z)
def stu( *args ):
print("大家好, 简单自我介绍一下:")
for i in args:
print(i, end='=>')
stu("小明", 18, "山东省")
stu('小红')
- 收集参数之关键字收集参数
把关键字参数以字典的形式放入收集参数, 访问kwargs需要用访问字典的方式
def fun( **kwargs ):
pass
#调用
fun(p1=v1, p2=v2, ....)
2.各种类型参数混合使用的顺序问题:
使用的规则一般是:普通参数 关键字参数优先
定义的时候一般找普通参数 , 收集参数(args),关键字参数, 收集参数(kwargs)
def stu(name, age, *args, hobby='没有', **kwargs):
print('大家好')
print("我叫 {0}, 我今年 {1} 大了.".format(name, age))
if hobby == '没有':
print('我没有爱好')
else:
print("我的爱好是{0}".format(hobby))
for i in args:
print(i)
for k, v in kwargs.items():
print(k, ' ------', v)
name = 'tom'
age = 19
stu(name, age, '王晓静', '小红', hobby='sing', addr='beijing', phone='123213')
def stu(**kwargs):
print(大家好,我先自我介绍一下)
# 对于字典的访问,Python2 与 Python3 有区别
for k,v in kwargs.items():
print(k,'--------', v)
stu(name='wangxiaojjing', age=10, addr='北京')
收集参数的解包问题(unpack)
- 把参数放入list或者dict中,直接把list/dict中的值放入收集参数中
def stu(*args):
for i in args:
print(i)
l = list()
l.append('aafd') # 在列表的最后插入值
l.append(1321)
stu(l) # 打印的结果是['aafd', 1321] 不是理想中的结果
stu(*l) # 解包符号 * 加上以后就是理想中的结果
对于dict类型的收集参数一样可以解包,但是需要加两个 *,
## 返回值
函数和过程的区别就是: 有无返回值,如果函数中没有显式返回值,即return value 则默认返回None
例如:
def func1():
print('aaa')
return 1
def func2():
print('a')
f1 = func1() # 结果是 1
f2 = func2() # 结果是 None
建议所有的函数不管有没有返回值在最后都加上一个return
# 函数文档
- 用来解释函数的作用以及利用方式
- 文档的写法:
在函数内部开始的第一行使用三引号括起来
一般具有特定格式
例如
def stu(name, age):
'''这是
文档
'''
print(name, age)
return None
- 查看文档的方式: 使用help(函数名)
使用 函数名._doc_
下面看下Python中while和for的区别
在c、c++、Java、C#等语言中,while和for的用法是基本一致的,但是在Python中,这两个循环还是存在一定的差别的
当遍历序列或数组时, 只能用for,while用来遍历会出现死循环
总结
以上所述是小编给大家介绍的python while 函数及while和for的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对找一找教程网网站的支持!
python中while和for的运行顺序_详解python while 函数及while和for的区别相关推荐
- python中文件打开的合法模式组合_详解python中各种文件打开模式
在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...
- python中 a or b 的值为_详解python中and和or的返回值
在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一. 一.and:>>> 'a' and 'b' ' ...
- python中的str方法和repr方法_详解Python中__str__和__repr__方法的区别
对我当前工程进行全部测试需要花费不少时间.既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率. 但优点也是缺点,tmpfs 只把结果 ...
- python整数类型没有取值范围限制_详解Python中6种数据类型
Python中数据类型主要有六种:数字类型,字符串类型,元组类型,列表类型,文件类型和字典类型,我们今天先介绍前四种类型. 假如在Python程序中,出现了"010",那么这个&q ...
- python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...
- python函数定义中参数列表里的参数是_详解Python函数中参数带星号是什么意思
函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- python数组相减_对Python 中矩阵或者数组相减的法则详解
对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...
- 站长在线Python精讲:在Python中使用正则表达式的sub()方法替换字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的sub()方法替换字符串详解>. 在Python中使用正则表达式的sub()方法替换字符串. ...
- 站长在线Python精讲:在Python中使用正则表达式的split()方法分割字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的split()方法分割字符串详解>. 使用正则表达式分割字符串 在Python中使用正则表达 ...
最新文章
- date javascript 时区_js Date 时间戳 时区等问题总结
- 干货丨8种用Python实现线性回归的方法
- C# 发送电子邮件(含附件)用到的类 system.web.mail
- 一、Windows Server 2016 AD服务器搭建
- Java常用类之【Math类、Random类、System类、Runtime类】
- Git的Patch功能
- 牛客 - 血压游戏(虚树+dp)
- 一封陌生土耳其网友的来信
- Transformation available that removes all elements from form message type
- jenkins学习笔记2-在centos中安装jenkins master测试环境
- 东莞.NET俱乐部线下技术沙龙-活动报名
- 使用带有OAuth的Spring Security保护资源
- 当Java 8 Streams API不够用时
- Android测量图像中物体大小,android – 加载图像后测量ImageView
- php相册上传和删除吗,php如何删除上传图片
- grDevices | R语言中的配色方法汇总(Ⅱ-1)
- BI(商务智能)是对商业数据进行价值提取的过程
- 点至直线的距离和垂足点计算
- X265源码下载地址
- matlab中polyfit与polyval的功能
热门文章
- LivePlayer H5播放器(实时视频和历史视频)
- 一个球绳命最后的高度哈哈
- 【Rust blog】Rust + Flutter 高性能的跨端尝试
- qq不能远程桌面连接到服务器,win10系统qq无法远程协助的解决办法
- 对训练样本分布不均的思考
- 推荐 :数据可视化的方法、工具和应用
- 【win 10系统激活】
- execution(* com.xxx.*.*(..))
- Halcon create_pose算子帮助文档翻译
- Linux内核原语(九)——互斥体(mutex)