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 for和while的用法区别_详解python while 函数及while和for的区别相关推荐

  1. python中heapq的库是什么_详解Python中heapq模块的用法

    详解Python中heapq模块的用法 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...

  2. python的装饰器迭代器与生成器_详解python中的生成器、迭代器、闭包、装饰器

    迭代是访问集合元素的一种方式.迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 1|1可迭代对象 以直接作用于 for ...

  3. python比较两个字符串相似度_详解Python 字符串相似性的几种度量方法

    字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种 ...

  4. python中ifelifelse用在什么结构_详解Python if-elif-else知识点

    有的时候,一个 if - else - 还不够用.比如,根据年龄的划分:条件1:18岁或以上:adult 条件2:6岁或以上:teenager 条件3:6岁以下:kid Python if-elif- ...

  5. python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名

    目标网站: 首先获取第一页的数据,这里关键要切换到iframe里 打印一下 获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错. 结果: 一共37页,爬取完毕后关闭浏览器 完整代码: u ...

  6. python中字典和json的区别_详解python中的json和字典dict

    定义 python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转.既然都是key-value格式,为啥还需要进行格式 ...

  7. python类的静态属性和静态方法_详解Python中的静态方法与类成员方法

    前言 因为Python的水平目前一直是处于能用阶段,平时写的脚本使用的Python的写法也比较的简单,没有写过稍微大一点的项目.对Python中的类,类之间的组织关系,整个项目中类之间如何耦合还缺乏认 ...

  8. python中__init__后面加特殊符号_详解Python中的__new__、__init__、__call__三个特殊方法...

    __new__: 对象的创建,是一个静态方法,第一个参数是cls.(想想也是,不可能是self,对象还没创建,哪来的self) __init__ : 对象的初始化, 是一个实例方法,第一个参数是sel ...

  9. python文件对象是可以迭代的_详解python可迭代对象、迭代器和生成器

    可迭代对象 什么是可迭代对象?顾名思义就是可以迭代的一个对象,再通俗点就是可以被for循环遍历的对象,如常用的list.str等数据类型.我们可以使用isinstance来判断这个数据是否是可迭代对象 ...

最新文章

  1. v7000更换电池步骤_v7000 gen1 电池更换问题
  2. HBASE+Solr实现详单查询--转
  3. ESD二极管 DW12P4N3-S 电压12V 封装DFN2020-3L
  4. 统计学 计算机论文,统计学课程论文范文
  5. Qt笔记-QProcess带管道符号运行及获取进程启动时间(Linux)
  6. JQuery模拟boostrap模态框效果
  7. neo4j3.0 java使用_neo4j-java连接
  8. java arraylist 赋值_ArrayList源码解析,老哥,来一起复习一哈?
  9. 创业者必须要做一个超级现实的人
  10. 服务器系统自带ftp,win10如何使用自带FTP服务器
  11. js模块化开发——模块的写法
  12. 单片机入门教程:第一章 单片机8051概述
  13. 使用gsds绘制基因结构图_原来可以用R这么画基因结构图
  14. C++(opencv)简单拼接两幅图像
  15. 二十岁决定男人的一生
  16. 化妆品公司mysql_化妆品网站销售管理系统的设计与实现(SSH,MySQL)(含录像)
  17. 同时校验手机号和座机号
  18. t480s控制面板打开触摸板_今年买的thinkpad T480S,但是使用感觉还不如5年前买的S3 touch速度快,是什么原因?...
  19. Linux执行命令常见的英语语句
  20. Platform Builder

热门文章

  1. 【报告分享】2022电商行业趋势报告.pdf
  2. 测试开发之测试方法第一篇
  3. 扫掠曲面二条引导线_说说国策下的三四线城市与会展
  4. 国际版抖音TikTok平台怎么样?
  5. android 方形按钮代码,Android中实现图文并茂的按钮实例代码
  6. 数学建模 TOPSIS法
  7. 花书+吴恩达深度学习(十四)卷积神经网络 CNN 之经典案例(LetNet-5, AlexNet, VGG-16, ResNet, Inception Network)
  8. MFC根据颜色数组自定义位图并显示到窗口
  9. 《手把手教你》系列基础篇之3-python+ selenium自动化测试-驱动浏览器和元素定位大法(详细)
  10. Linux+屏蔽脚本,Linux之劫持rm命令实现安全删除和屏蔽删除/、/*脚本