python学习 day08 (3月13日)----函数

函数

一。定义  def  关键字  函数名():

      函数体

函数 ---- 封装#def 关键字
# #定义后的函数就像变量  不调用是不执行的
# #函数名() ==函数的调用
def code():
    print('code a new!')
code()
# 局部变量
函数的调用:
  函数名+()调用函数的时候不在缩进内,必须顶行写
def hanshu():
  hanshu...
hanshu()或者
if True:
  hanshu()

二。执行

#函数的执行过程
def make(): #第一步 之后没了
    print(1)
make # 内存空间  当➕ ()时执行
print(make)
make()
print(make())# 打印函数为空
#定义——调用——函数体的代码

 

三。函数的返回值

#return 的作用:
#1.没有时  返回 None  return 没值时, 返回 None
#2.return 有值时,返回
#3.传一个内容 则本身 传多个是 一个元组
#4.下面的内容不执行
#5.执行到此  函数结束
def back():
    print('f')
    return 'a','b'    #  下面代码不执行, break 且结束了这个函数
    print('能打印吗?')
    return 1
ret = back()  # return  多个 只有第一个
print(ret) #('a', 'b')  多个的话为元组  返回值 不写内容返回None 不写return 也是None
1.没有返回值      写了return 没有返回值
都默认返回None
2,一个返回值,返回本身
多个返回值,返回的是一个元组
3,return 下面的代码不执行,并且结束这个函数(if缩进里面不这样,同上)
# 返回值
def make():
    print('1')
    return ''*2
    return 2*45print(id(ret),id(make()))#地址一样  就是同样的print(ret)

    是赋值?

ret =  make()  因为他俩一样
print(ret) = print(make())
make()  函数执行
ret  函数执行  一样的

 四。函数的参数  形参和实参

 
  
#函数怎么样,必须保证参数都有值 无论是默认值,还是赋值的参数
形参,函数定义的时候
         位置参数 a,b 传参的时候一一对应
         默认参数  a =1     在定义的时候已经定义好了
实参,函数调用的时候
         位置参数 1,2 传参的时候一一对应给形参
         关键字参数a = 1 通过形参的名字指定传值    
混合:
        形参def func(a,b,c,f=1)
        实参func(1,2,3,f=2)
传参,将实参返回形参的过程        
      #位置参数 >  关键字

 补充内容 以后会用到    三元运算符 

不确定赋值的内容时, 使用!
a if a>b else b
五。出错总结:

#不对  多元素 没赋值TypeError: make() missing 1 required positional argument: 'c'

 #练习

#函数名+()  不管在什么位置都是在执行函数
# print() 到后一个括号才算执行吗?
def make():
    print(1)
    print(2)
    print(3)
print(make(),make()) # == make() make() print(make(),make())
def make(char,addr,alpa):  #形参 形式上的参数 char =??
    print(f'{char}')
    print(char)
    print(addr)
    print('%s'%char)
make('word',[],'aaa')  # 实参  形给了实   #错误 半个黄括号 有的变量没给
#判断那个数大的程序:
def da(a, b):
    if a>b:
        pass
    else:
        a= b
    return a
print(da(10,9))

def da(a, b):
    if a>b:
       return a
    else:
        return b
print(da(1,1))#   返回  条件成立的结果 不成立的结果
    c =  a if a>b      else b#倒序程序
li = [1,2,3,65]
la = []
def reverses(a):
    for i in range(len(a)-1,-1,-1):
        la.append(li[i])
    return la
print(reverses(li))


li = [1,2,2,5,3,65]
def func(a):
    print(a[::-1])
func(li)
#
# def make(a,b,d, c=1):
#不对
# def make(a, b, c=1,d):#SyntaxErr
#不对 多元素 没赋值TypeError: make() missing 1 required positional argument: 'c'
#循环输入函数 程序 def fuzhi(name,age,sex ='男' ): print(name,age,sex) while 1: life_list = input('name,age,sex').split(',') if len(life_list)>2: a,b,c= life_list fuzhi(a,b,c) else: a,b = life_list fuzhi(a,b) #函数怎么样,必须保证参数都有值 无论是默认值,还是赋值的参数

def fun(a,b,c,d=1): #位置+形参 (位置+默认)混合形参 print(a,b,c,d) fun(1,2,3) #位置参数 fun(1,3,4,d=4) #实参 (位置+关键字) 混合实参 替换了 # fun(d=4, 1, 3, 4) #不对 #位置参数 > 关键字 # open('liu','w','utf-8')# 不对 因为‘utf-8’是 第四个 open('liu','w',encoding='utf-8')#所以

 



转载于:https://www.cnblogs.com/Doner/p/10522244.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值