码迷,mamicode.com
首页 > 编程语言 > 详细

Python04.1.函数初识

时间:2020-01-07 17:57:37      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:size   send   选择   参数   span   必须   传递   分割   赋值   

  1. 三元运算(三目运算):

普通版:

v = 前面 if 条件 else 后面

if 条件:

????v = ‘前面‘

else:

v = ‘后面‘

三元运算版:

# 让用户输入值,如果值是整数,则转换成整数,否则赋值为None

data = input(‘>>>‘)

value = int(data) if data.isdecimal() else None

注意:可以先写普通版的,然后再思考优化转化成三元版

2.函数:

2.1 面向过程:

可读性差/可重用性差

函数:对代码块和功能的封装和定义

2.2 对于函数编程:

1.本质:

将N行代码拿到别处并给他起个名字,以后通过名字就可以找到这段代码并执行;

2.场景:

  • 代码重复执行
  • 代码量特别多超过一屏,可以选择通过函数进行代码的分割

3.函数的基本结构:

1.函数的基本结构:

函数的定义, 函数名, 函数体以及函数的调用

2.函数体:

就是函数被执?之后要执?的代

3.函数的调用:

使?用函数名可以调?用函数, 写法: 函数名(), 这个时候函数的函数体会被执?

# 函数的定义

def 函数名():

#函数内容

pass

?

?

#函数的执行

函数名()

#注意:函数如果不被调用,则内部代码永远不会被执行

案例:

def get_list_first_data():

v = [11,22,33,44]

print(v[0])

?

get_list_first_data()

?

# 注意:函数如果不被调用,则内部代码永远不会被执行。

案例:

def send_email(to):

template = "要给%s发送邮件" % (to,)

print(template)

user_input = input(‘请输入角色:‘)

if user_input == ‘管理员‘:

send_email(‘xxxx@qq.com‘)

elif user_input == ‘业务员‘:

send_email(‘xxxxo@qq.com‘)

elif user_input == ‘老板‘:

send_email(‘xoxox@qq.com‘)

案例:

def num(l):

count = 0

for i in l:

if type(i) == int:

count += 1

return count

li = [‘salkdj‘,6,66,677,‘skajhd‘,‘ksjad‘]

a = num(li)

print(‘列表中有%d个数字‘%(a,))

3.参数:

1. 函数的参数:

函数在调用的时候指定具体的一个变量的值. 就是参数

def get_list_first_data(aaa): # aaa叫形式参数(形参)

v = [11,22,33,44]

print(v[aaa])

?

?

get_list_first_data(1) #调用函数时传递叫:实际参数(实参)

get_list_first_data(2)

get_list_first_data(3)

get_list_first_data(0)

  1. 关于参数:

2.1形参:

写在函数声明的位置的变量叫形参,形式上的一个完整表?示这个函数需要xxx

2.2实参:

在函数调?用的时候给函数传递的值叫实参, 实际执?的时候给函数传递的信息. ?示给函数 xxx

2.3传参:

给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

def yue(chat): # chat 形参

print("拿出?手机")

print("打开"+chat)

print("找个漂亮的妹?子")

print("约不约")

?

yue("陌陌") # 实参

len("字符串") # "字符串"在这?就是实参

print("麻花藤") # "麻花藤"就是实参

实参的?角度来看

参数分为三种

  • 位置参数
  • 混合参数, 位置参数必须在关键字参数前面
  • 关键字参数

形参的角度

  • 位置参数
  • 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)

4.函数返回值

def func(arg):

# ....

return 9 # 返回值为9 默认:return None

?

val = func(‘adsfadsf‘)

?完函数之后. 我们可以使用return来返回结果.

1.函数中遇到return, 此函数结束, 不再继续执?

girl = yue()

print(type(girl)) # tuple

?

def yue():

print("约你")

print("约我")

print("约他")

return

print("约谁呀") # 这句会被执

yue()

?

2.给函数的调?用者一个访问结果

遇到return. 此函数结束, 函数后?的东西将不会再执?return 返回值

def yue():

print("约你")

print("约我")

print("约他")

return "美??一枚"

?

girl = yue()

print(girl) # 美??一枚

?

函数的返回值可以有多个结果

?

def yue():

print("约你")

print("约我")

print("约他")

return "美??一枚", "萝莉?一枚"

?

girl = yue()

print(type(girl)) # tuple

如果return么都不写 或者 干脆不写return .那么返回的就是None

如果return后面写了?个值. 则调用者可以接收一个结果

如果return后面写了多个结果, 则调用者可以接收一个tuple, ?用者可以直接解构成多个变

Python04.1.函数初识

标签:size   send   选择   参数   span   必须   传递   分割   赋值   

原文地址:https://www.cnblogs.com/cable-run/p/12162781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!