1. while循环(只有在条件表达式成立的时候才会进入while循环)
    while 条件表达式:
      pass

    while 条件表达式:
      pass
    else:
      pass
    不知道循环次数,但确定循环条件的时候用while

    # 如果说年利率是6%,存入1000到第几年本钱翻倍 1  money = 10000
    2 year = 0
    3 while money < 20000: 4 money = money*(1+0.06) 5 year += 1 6 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 = 19stu(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() # 结果是 1f2 = func2() # 结果是 None建议所有的函数不管有没有返回值在最后都加上一个return 
      
      # 函数文档 - 用来解释函数的作用以及利用方式- 文档的写法:   在函数内部开始的第一行使用三引号括起来 一般具有特定格式 例如      def stu(name, age):           '''这是              文档           '''           print(name, age)           return None  - 查看文档的方式: 使用help(函数名)                  使用 函数名._doc_
      

转载于:https://www.cnblogs.com/Abelte/p/9582207.html

python-while-函数相关推荐

  1. 【Python】函数图像绘制:二维图像、三维图像、散点图、心形图

    [Python]函数图像绘制:二维图像.三维图像.散点图.心形图 所有需要用的包 二维图像 三维图像 散点图绘制 心形图绘制 所有需要用的包 from mpl_toolkits.mplot3d imp ...

  2. 技术图文:Python 匿名函数 VS. C# Lambda表达式

    背景 前段时间在知识星球上立了一个Flag,至少写10篇关于 Python,Matlab 和 C# 对比的总结. 这是第 2 篇,从定义和应用两个角度来对比 Python 的匿名函数 与 C# 的La ...

  3. Python divmod() 函数

    Python divmod() 函数 python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b). 函数语法 divmod(a, b) ...

  4. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递

    python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...

  5. python中函数包括标准库函数吗_Python语言和标准库(第二章:函数)

    a-如何创建函数. b-给出一些指导原则,帮助思考如何创建和组织程序以使用函数. c-如何编写函数,使随后可以询问它们的工作方式和实现的功能. 2.1将程序放在单独的文件里 为了更加方便,从现在开始, ...

  6. c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  7. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  8. python log函数怎么打_Python的log日志功能及设置方法

    python log函数怎么打_Python的log日志功能及设置方法_Elaine要当律师的博客-CSDN博客

  9. Python staticmethod() 函数

    Python staticmethod() 函数 正在上传-重新上传取消​ Python 内置函数 python staticmethod 返回函数的静态方法. 该方法不强制要求传递参数,如下声明一个 ...

  10. python基础--函数

    #python中函数的定义:函数是逻辑结构化和过程化的一种编程方法,用来实现某些特定的功能.#python中函数简单定义的方法# def test(x):# "this is new fun ...

最新文章

  1. Digital Imaging Processing 数字图像处理
  2. 逻辑判断 java_写 JS 逻辑判断,不要只知道用 if-else 和 switch
  3. python 发送邮件connect none_使用python向IP地址发送邮件
  4. 保存图片验证码到redis数据库
  5. (计算机组成原理)第二章数据的表示和运算-第二节4:定点数的加减运算和溢出判断
  6. C# 使用NPlot绘图
  7. SSM-水果商城-导入项目-学习-2
  8. Nginx与Tomcat、Client之间请求的长连接配置不一致问题解决[转]
  9. Linux下java获取屏幕分辨率,关于Android如何获取屏幕分辨率的例子
  10. c语言课程设计作业医院挂号系统,【c语言课程设计】医院门诊系统
  11. c语言常用绘图软件有哪些,数学绘图软件有哪些?好用的数学绘图软件推荐
  12. 常见的路由器(刷openwrt的同学看下!)
  13. 【SQL学习】select语句使用实例
  14. 灵格斯怎么屏幕取词_灵格斯屏幕取词翻译插件
  15. 像智能手机一样造车,可能吗?
  16. 显卡驱动设备状态代码31
  17. 设计师胡晓丹的创作历程
  18. Hikvision (海康威视) 摄像机码率上限设置
  19. 如何演示扇形面积公式推导过程
  20. Windows2003下运行JSP,环境配置教程(J2SDK+Tomcat5+IIS)

热门文章

  1. Orange:一个基于 Python 的数据挖掘和机器学习平台
  2. 一个文献代理和医学资料非常丰富的地方
  3. (毕业设计资料)基于单片机自行车码表系统设计
  4. 独家|数据造假、爬虫与反爬虫战争暴露出哪些行业现状?
  5. 疑难杂症:系统雪崩到底是为什么
  6. python将姓王的都改成老王_全域明星-第46章:校长姓王,隔壁老王?-爱阅小说网...
  7. 推荐 :数据可视化的方法、工具和应用
  8. 别人教我学计算机的作文,我教舅妈学电脑优秀作文.doc
  9. Redis桌面管理工具RedisDesktopManager
  10. Riverbed助力富邦人寿在市场竞争和数字化进程中抢占先机