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

  1. python中index函数_详解python中的index函数用法

    1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...

  2. python中延时函数_详解python中实现延时回调普通函数

    这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 前言 ...

  3. python线程延时函数_详解Python 多线程 Timer定时器/延迟执行、Event事件

    Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征.这个类用来定义多久执行一个函数. 它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都可以cance ...

  4. python 减法函数_详解 Python 的二元算术运算,为什么说减法只是语法糖?

    大家对我解读属性访问的博客文章反应热烈,这启发了我再写一篇关于 Python 有多少语法实际上只是语法糖的文章.在本文中,我想谈谈二元算术运算. 具体来说,我想解读减法的工作原理:a - b.我故意选 ...

  5. python归一化处理_详解python实现数据归一化处理的方式:(0,1)标准化

    在机器学习过程中,对数据的处理过程中,常常需要对数据进行归一化处理,下面介绍(0, 1)标准化的方式,简单的说,其功能就是将预处理的数据的数值范围按一定关系"压缩"到(0,1)的范 ...

  6. python opencv 直方图均衡_详解python OpenCV学习笔记之直方图均衡化

    本文介绍了python OpenCV学习笔记之直方图均衡化,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/d5/daf/tutorial_py_hi ...

  7. python xlrd安装_详解python中xlrd包的安装与处理Excel表格

    一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...

  8. python namedtuple用法_详解Python中namedtuple的使用

    namedtuple是Python中存储数据类型,比较常见的数据类型还有有list和tuple数据类型.相比于list,tuple中的元素不可修改,在映射中可以当键使用. namedtuple: na ...

  9. python列表拆包_详解python 拆包可迭代数据如tuple, list

    详解python 拆包可迭代数据如tuple, list 拆包是指将一个结构中的数据拆分为多个单独变量中. 以元组为例: >>> a = ('windows', 10, 25.1, ...

  10. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

最新文章

  1. HDU 1181 变形课
  2. ELF 文件 动态链接 - 地址无关代码(GOT)
  3. python中fetchall函数_python中查询数据库时fetchone()函数和fetchall()函数的区别
  4. [JavaWeb-MySQL]MySQL服务启动和关闭
  5. Spring boot(九):定时任务
  6. tfidf处理代码_tfidf.txt
  7. 6个技术问题及解决方案
  8. Protobuffer教程
  9. 江淮大众正式更名,今日盘中涨停!
  10. cmake常用语法参考
  11. 模拟电子技术基础(第四版)教材 电子版
  12. 搭建太阳系可视化系统,带你探索宇宙的未知奥秘
  13. Django+Vue实现群聊
  14. 【羊了个羊】什么!第二关难如上青天,能不能简单版??
  15. Verilog中的Latch
  16. CVE-2018-6794一把梭
  17. 6.哈夫曼树及哈夫曼编码
  18. 关于小区物业自治方案的探讨
  19. CDOJ 1644 KKX Sequence
  20. VFP 二维数组声明和ALEN() ASCAN() AFIELD() ADEL()函数

热门文章

  1. IDC dump 内存
  2. 2020-11-22(操作系统——页面置换算法)
  3. 网络安全人才的发展情况是怎么样的呢?快上车,带你了解
  4. python爬取数据存入mysql
  5. windbg基本简单步骤
  6. 【PHP】 debian apt 安装PHP7.1 安装composer
  7. 1、数据库是什么?关系型数据库和非关系型数据库又是什么?
  8. 41. 包含min函数的栈【单调栈】
  9. 第三章 处理机调度与死锁
  10. apache启服务命令_apache_cgi绕过disable_functions