Python6-函数

Python6

1、函数概述

1.1函数概念

所谓函数,就是把重复的代码单独的分离出来,放在⼀个公共的地方,以后可以⼀直的进行调用,这样就可以解决多次重复来编写。

1.2函数的定义形式

函数定义:定义函数使用的关键字是def

如:def 函数名称(函数的参数):

函数表达式

1.3函数的参数

常用的函数的参数有形式参数、实际参数、默认参数和动态参数。

(1)形式参数:函数里面的参数叫做形式参数;

(2)实际参数:函数被调用的时候,给参数赋予的值叫做实际参数。

(3)默认参数:在定义函数的时候给形式参数指定默认的值叫做默认参数。默认参数只能放在非默认参数的后面,如果放在前面就会报错。在调用过程中,如果没有给

该形式参数赋值,那么他的值默认就是我们定义的默认值,如果我们给形式参数定义了值,那么他的值就是我们新定义的值。

(4)动态参数:定义一个函数的时候,当函数的形式参数个数不确定,数据类型不确定的时候,我们就可以用动态参数。

如def func(a,**b),a和b为自定义的变量,一般a和b默认用args和kwargs,即def func(args,**kwargs)。

*:代表的是元组的数据类型

**:代表的是字典的数据类型

1.4函数的调用

函数写完后,必须要经过调用才能生效,如果不调用,不会生效。调用函数的方式是:函数名称()。函数调用的注意事项:

(1)函数在调用时,可以填写形式参数,也可以不填写,但是要注意的是要填写就都填写,要不填写就都不填写;

(2)函数在调用的时候,填写的实际参数要与形式参数的顺序、个数保持一致;

(3)函数有形式参数的时候,调用函数必须填写实际参数。

2、函数应用举例

2.1函数定义与调用

 #函数定义
 def fun():
    print("hello world")
 #函数调用
 fun()

 

 

2.2登录

 def login(username='qqq',password='www'):
    if username=='qqq' and password=='www':
      print('登陆成功')
    else:
      print('登陆失败')
 login()
 login('qqq','www')

 

 

 

3.函数的返回值

3.1函数返回值概述

(1)一个函数,不管是否有return,他都是有返回值的,如果没有return,它的返回值是None。

(2)如果有return,函数的返回值是return后面的内容,切记:return后面的代码是不能够执行的。

(3)函数返回值的价值是:把函数与函数能够建立一层关联关系。

(4)用代码来处理动态参数可以用函数的返回值。

3.2函数返回值实例

 def login(username='qqq',password='www'):
    if username=='qqq' and password=='www':
      return True
    else:
      return False
 
 def profile(login):
    if login==True:
      print('查看个人主页')
    else:
      print('错误')
 profile(login())

 

 

4.内部函数

4.1定义

内部函数就是内部已经实现的函数,我们直接调用即可。

4.2常用内部函数

4.2.1数字与字母转换

4.2.1.1数字转字母:chr
 print(chr(98))
4.2.1.2字母转数字:ord
 print(ord('a'))

 

 

4.2.2输出某个范围数字:range

 #结合循环输出某个范围内的数字,包含开始不包含结尾:range(start, end, scan):,scan就是步长,默认为1.
 for a in range(1,9):
    print(a)
 
 for b in range(1,9,2):   #步长为2
    c=(str(b))   #把输出的数据转换为字符串
    print(list(c))   #把字符串转换为列表

 

 

4.2.3输出某个范围内的随机数字:random

 '''验证码生成案例'''
 import random
 
 list1=[]
 def sign():
    for i in range(10):
      r=random.randint(97,123)
      list1.append(chr(r))
    return ''.join(list1)
 
 print(sign())

 

 

4.2.4把字符串转化为表达式:eval

 #把字符串转化为表达式:eval
 a="5+5"
 print(eval(a))

 

 

4.2.5匿名函数:lambda

 '''匿名函数'''  #匿名函数指的是他是一个函数,但是这个函数的名称是可以自定义的:lambda。也就是相当于把函数写为一行了。
 q=lambda a,w:a+w
 print(q(5,6))

 

 

4.2.6过滤filter

 '''过滤'''
 list1=[x for x in range(10) if x>2]     #列表推导式
 print(list1)
 
 obj=list(filter(lambda a:a>2,[x for x in range(10)]))
 print(obj)

 

 

4.2.6重复操作map

 '''map'''
 def func():
    list1=[]
    for item in range(10):
      list1.append(item+10)
    return list1
 print(func())
 
 obj=list(map(lambda a:a+10,[x for x in range(10)]))
 print(obj)

 

 

posted @ 2022-06-16 20:10  饭依然特稀  阅读(85)  评论(0编辑  收藏  举报