函数初识

  1. 引入

    获取任意一个字符串的元素的个数
    s1 = 'fdskjlgfdgfdjkslgdfjkjafdsajk'
    count = 0
    for i in s1:
       count += 1
    print(count)
    
    获取列表的元素的个数
    l1 = [1, 2, 3]
    count = 0
    for i in l1:
       count += 1
    print(count)
    
    面向过程编程
    1. 代码重复。
    2. 代码可可读性不高。
    
  2. 初识函数

    函数:函数是以功能为导向,一个函数封装一个功能。登录,注册,文件的改的操作.....

    ​ 函数减少代码的重复性,增强了代码的可读性。

    l1 = [1, 2, 3]
    def new_len():
        count = 0
    for i in l1:
        count += 1
    print(count)
    new_len()
    
  3. 函数的结构

    def 关键字: 定义一个函数。紧跟一个空格。
    new_len函数名:与变量命名规范一致。一定要具有可描述性。
    ():结构需要,传参使用。
    : 分割符。
    tab键:四个空格。缩进。函数体

    l1 = [1, 2, 3]
    def new_len():
        count = 0
        for i in l1:
            count += 1
        print(count)
    new_len()
    
  4. 函数的调用

    l1 = [1, 2, 3]
    def new_len():
        count = 0
        for i in l1:
            count += 1
        print(count)
    函数的执行写多少次,执行多少次。
    new_len() # 函数名() 函数的执行者。调用者。
    new_len()  # 函数名() 函数的执行者。
    
    l1 = [1, 2, 3]
    def new_len():
        count = 0
        for i in l1:
            count += 1
        print(count)
    
    for i in range(10):
        print(111)
    
    for i in range(3):
        new_len()
    
  5. 函数的返回值

    def func():
    	print(111)
    	return 100
    	return [1, 2, 3]
        return {'name': '太白'}
    ret = func()
    print(ret, type(ret))
    
    def func():
    	print(111)
    	return 1, '23期', [22, 33]
    ret = func()
    print(ret, type(ret))  # (1, '23期', [22, 33])
    
    def func():
    	print(111)
    	return 1, '23期', [22, 33]
    a,b,c = func()
    print(a,b,c)
    
    def func():
        print(111)
        return 1+1+2
        return 2 > 1
    ret = func()
    print(ret)
    
  6. 函数的传参

    l1 = [1, 2, 3]
    s1 = 'fdsjaklsfjgfds'
    print(len(l1))
    print(len(s1))
    def new_len():
    	count = 0
    	for i in l1:
    	 count += 1
    	return count
    new_len()
    函数的传参:函数的拓展性
    
    def new_len(a):  # 定义函数时:参数:形参。
    	count = 0
    	for i in a:
    		count += 1
    	return count
    l1 = [1, 2, 3]
    s1 = 'fdsjaklsfjgfds'
    print(new_len(l1)) # 函数的调用者:参数 实参。
    print(new_len(s1)) # 函数的调用者:参数 实参。
    print(len(s1))
    
    实参角度:
        1. 位置参数。
        2. 关键字参数。
        3. 混合参数。
    形参角度:
        1. 位置参数。
        2. 默认参数。
        3. 动态参数。
        4. 仅限关键字参数。(了解)
    
    
    实参角度:
    探探,陌陌,交友软件。
    1. 位置参数。: 从左至右,按照顺序,一一对应
    def meet(sex,age,job):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,{job}')
        print('聊天')
        print('约吗')
        print('约....')
    meet('女','18~25','讲师')
    
    eg:写一个函数,接收两个数字的参数,将较大的数字返回。
    def comp(a,b):
         if a > b:
             return a
         else:
             return b
    ret = comp(1,2000)
    print(ret)
    
    三元运算符:简单的if else。
    a1 = 1
    b2 = 2
    ret = a1 if a1 > b2 else b2
    	print(ret)
    
    def comp(a,b):
    ret = a if a > b else b
    return ret
         return a if a > b else b
    ret = comp(1,2000)
    print(ret)
    
    2. 关键字参数:一一对应
    def meet(sex,age,job,hight,weight,):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,身高{hight},体重{weight},工作{job}')
        print('聊天')
        print('约吗')
        print('约....')
    meet(sex='女',job='学生',weight=120,hight=170,age='18~25')
    
    3. 混合参数: 关键字参数一定要在位置参数后面,一一对应。
    def meet(sex,age,job,hight,weight,):
         print('左划一下')
         print('右划一下')
         print(f'寻找性别{sex},年龄{age}岁,身高{hight},体重{weight},工作{job}')
         print('聊天')
         print('约吗')
         print('约....')
    meet('男',27,'ITC语言',weight=120,hight=175,)
    形参角度:
    1. 位置参数:与实参角度位置参数一样。
    def meet(sex,age,job):
         print('左划一下')
         print('右划一下')
         print(f'寻找性别{sex},年龄{age}岁,{job}')
         print('聊天')
         print('约吗')
         print('约....')
    meet('女','18~25','讲师')
    2. 默认参数: 一定在位置参数后面,不传参数即沿用默认的参数。
    open('文件的改',encoding='utf-8')
    def meet(age,job,sex='女'):
        print('左划一下')
        print('右划一下')
        print(f'寻找性别{sex},年龄{age}岁,{job}')
        print('聊天')
        print('约吗')
        print('约....')
    meet('18~25','幼师')
    更改默认参数
    meet('18~25','幼师',sex='laddy_boy')
    meet('18~25','幼师','laddy_boy')
    
原文地址:https://www.cnblogs.com/-777/p/11040325.html