ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python学习日记(七)

2022-03-05 23:31:49  阅读:181  来源: 互联网

标签:函数 Python 666 学习 参数 print yyl 日记 def


函数:

  • 函数的定义用def,函数名后要用冒号
  • 函数的参数:多个参数用逗号隔开即可,最好写好注释,方便他人或自己日后维护
  • 函数的返回:函数中使用return
  • 将实现某些功能的代码打包成块调用使用,Python中用def来定义函数。
  • 有参数之后函数可用性增加
  • def 函数名(参数):
        代码块

     

  • 调用函数:函数名(参数) 

    • 当函数被调用时就会向上寻找函数定义并依次执行函数
    • 当函数未定义时就调用失败

 

  • 函数返回值:通过return返回函数结果
    >>> def a(n1,n2):
    	return n1+n2
    
    >>> print(a(2,3))
    5

     

  • 形参与实参

函数定义过程中设置的参数为形参,他只是一个形式,表示占据一个参数位置;

函数调用时传入的参数为实参,他是具体的参数值。

 

  • 函数文档

功能与注释相同,用引号括起来,在函数运行时不会运行函数文档;

可用函数名._doc_打印函数文档,也可用help(函数名)打印函数文档。

 

  • 关键字参数

解决由于参数过多而导致参数位置设置不当的问题,在调用函数时将形参与实参对应。

  • >>> def Fun(name,id):
    	print(name+'的学号是'+id)
    
    >>> Fun(id='666',name='yyl')
    yyl的学号是666

 

  • 默认参数

定义函数时定义了默认值的参数,含有默认值的参数在调用时可不用传递参数而使用默认参数;

若调用时传递了实参则使用调用时传递的参数。

  • >>> def Fun(name='yyl',id='666'):
    	print(name+'的学号是'+id)
    
    >>> Fun()
    yyl的学号是666
    >>> Fun('y')
    y的学号是666

 

  • 收集参数

当不确认函数具体有几个参数时可以在函数定义时使用收集参数,即可变参数;

注意当使用了收集参数后还有参数,则需要在调用函数时使用关键字参数定位参数,或者可将后面参数设置为默认参数。

  • >>> def test(*params):
    	print('参数长度为:',len(params))
    	print('第二个参数为:',params[1])
    
    	
    >>> test('yyl','666','hhh','xx')
    参数长度为: 4
    第二个参数为: 666
    
    >>> def test(*params,word):
    	print('参数长度为:',len(params))
    	print('第二个参数为:',params[1],'word的值为:',word)
    
    	
    >>> test('yyl','666','hhh','yu','aaa')
    Traceback (most recent call last):
      File "<pyshell#24>", line 1, in <module>
        test('yyl','666','hhh','yu','aaa')
    TypeError: test() missing 1 required keyword-only argument: 'word'
    >>> test('yyl','666','hhh','yu','aaa',word='richhhhhhhh')
    参数长度为: 5
    第二个参数为: 666 word的值为: richhhhhhhh

习题:

1、编写一个函数power()模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值。

  • 方法一:
    def power(x,y):
        m=x
        while y>1:
           m=m*x
           y-=1
        return m
    
    print(power(3,2))
    9
    
    方法二:
    def power(x,y):
        m=x**y
        return m
    
    print(power(3,2))
    9

     

2、编写一个函数,利用欧几里得算法求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数。

  • 方法一:
    def gcd(x,y):
        i=min(x,y)
        while i>=1:
            if x%i==0 and y%i==0:
                return i
            else:
                i-=1
    
    print("请输入两个值:")
    x=int(input())
    y=int(input())
    print("%d和%d的最大公约数是:"%(x,y),gcd(x,y))
    请输入两个值:
    25
    15
    25和15的最大公约数是: 5
    
    方法二:
    def gcd(x,y):
        while y:
            t = x % y
            x = y
            y = t
        return x
    print(gcd(18,9))

     

标签:函数,Python,666,学习,参数,print,yyl,日记,def
来源: https://www.cnblogs.com/feiyuyu/p/15969903.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有