1.函数的定义:

定义:def 关键词开头,空格之后接函数名和圆括号(),还有最后一个‘:’

    def是固定的,定义函数的关键字。

    空格-是为了将关键字和函数名分开,必须有的。

    函数名:只能包括字符串,下划线和数字,不能是数字开头,尽量要短,能表达清楚函数功能。

    括号:必须带上

    注释:每一个函数应该对功能和参数进行说明,增恰肮代码的可读性。

2.函数的调用:函数名()   要记得加上括号。

3.函数的返回值:

return 关键字 后面接着是需要返回的值。

情况:

A.没有返回值

不写return的情况下,会默认返回一个None

def fun():
print('hello world')
fun()
print(fun())
结果:

hello world
hello world
None

return的出现是结束函数的,及时出现return 不写返回值,系统也会返回值None。

def fun():
print('hello world')
return
print('Ada lace')#验证return终止函数运行
fun()
print(fun())
结果: hello world hello world None

B.返回一个值:

def fun():
s1= 'Ada lace'
length=0
for i in s1:
length+=1
return length#单一的返回值
print(fun())
结果:
8

C.返回多个值:

#多个值返回会被组织成元组返回给调用者。也可以用多个值来接收。

def fun1():
return 1,2,3,4
def fun2():
return 1,[11,22],{'key':159},'ada lace'
print(fun1())
print(fun2())
结果:
(1, 2, 3, 4)#多个值返回会被组织成元组返回给调用者。也可以用多个值来接收。
(1, [11, 22], {'key': 159}, 'ada lace')

关于返回值是多个值  怎么去接收他们的数据:

def fun():
return 1,[11,22],{'key':159},'Ada lace '
# 返回多个值,用一个变量去接收
ret=fun()
print(ret)
#返回多个值,用多个变量接收,返回几个值就用几个变量去接收
a,b,c,d=fun()
print(a,b,c,d) 结果:
(1, [11, 22], {'key': 159}, 'Ada lace ')
1 [11, 22] {'key': 159} Ada lace

D.函数的参数:

实参和形参:

函数调用时用的参数就是实参(实际参数)

定义函数时用的参数就是形参(形式参数)

把实际参数传递给形式参数的过程就是传参(传递参数)

A. 实参角度传参:

1.按照位置进行传参:位置参数

def fun(a,b):
sum=a+b
return sum
print(fun(11,56))#位置参数直接传递数值
结果:67

2.按照关键字传值:关键字参数

def fun(a,b):
sum=a+b
return sum
print(fun(a=56,b=15))#关键字a,b参数直接传递数值
结果:71

3.位置,关键字形式混用:混合传参

注意:这里位置参数必须在关键字参数前面。

形式参数只能赋值一次。

def fun(a,b):
sum=a+b
return sum
print(fun(56,b=11))#位置参数56,关键字参数b=11直接传递数值
结果:67

  

B.形参角度传参:

1.参数内有设置默认值:

def fun(name,age,sex='male'):#将变化很小的值设置成默认值
print(name,age,sex)
print(fun('张学友',23))#没有传参就返回默认值。
print(fun(name='Blake shelton',age=55,sex='female'))
结果:
张学友 23 male
None
Blake shelton 55 female
None

2.默认参数是一个可变的数据类型

def fun(a,l=[]):#这里L是一个可变的数据类型
l.append(a)
print(l)
print(fun(11,l=[11,22,123]))
结果:
[11, 22, 123, 11]
None

  

day 0313函数的初识的更多相关文章

  1. Python_函数的初识、函数的返回值、函数的参数

    1.函数的初识 def关键字 空格 函数名(与变量名命名规则相同):英文冒号 函数体 执行函数:函数名+() 函数是以功能为导向的. def login(): pass def register(): ...

  2. Python 函数的初识

    1.函数的初识 函数的作用:以功能为导向 减少代码重复 # 函数试编程 # 函数以功能(完成一件事)为导向,登录 注册, # 一个函数就是一个功能,一个函数只能写一个功能 # 何时需要 何时调用,随调 ...

  3. Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...

  4. 2018-11-9-匿名函数&递归函数初识

    1.匿名函数(lambda) 2.递归函数初识

  5. python成长之路六-函数的初识

    定义函数 我们现学已知的python函数有<内置函数> 而我们现在要学的是<自定义函数> 1,def  定义一个函数 def name(): # 后接函数名 冒号 pass 2 ...

  6. python基础学习Day9 函数的初识,实参、形参、

    1.函数 def my_len(): l = [,,,,,,] count = for i in l: count += print(count) my_len() 定义的my_len()方法时,其结 ...

  7. Day 9 函数的初识1

    def my_len(): l1 = [1,2,3,5,6] print(111) print(222) return print(333)print(my_len()) 一.函数的定义1.遇到ret ...

  8. Python函数的初识

    一   什么是函数 定义: 定义一个事情或者功能,等到需要用的时候直接用就可以了,那么这个定义的就是一个函数 函数  :  对代码块和功能的封装和定义 函数定义的格式:     def   函数名() ...

  9. python之函数的初识

    1. 面向过程编程的缺点 代码重复 代码可可读性不高 2. 函数的定义*** ​ 函数是以功能为导向,一个函数封装一个功能.登录,注册,文件的改的操 3.函数的作用*** ​ 函数减少代码的重复性,增 ...

随机推荐

  1. [k8s]zookeeper集群在k8s的搭建(statefulset模式)-pod的调度

    之前一直docker-compose跑zk集群,现在把它挪到k8s集群里. docker-compose跑zk集群 zk集群in k8s部署 参考: https://github.com/kubern ...

  2. MySql实现sequence功能的代码

    使用函数创建自增序列管理表(批量使用自增表,设置初始值,自增幅度) 第一步:创建Sequence管理表 sequence DROP TABLE IF EXISTS sequence; CREATE T ...

  3. tensorflow 笔记7:tf.concat 和 ops中的array_ops.concat

    用于连接两个矩阵: mn = array_ops.concat([a, d], 1) #  按照第二维度相接,shape1 [m,a] shape2 [m,b] ,concat_done shape ...

  4. 【工具】我的Git学习日志

    使用github一段时间,一直使用的是可视化工具,配合公司转用git,提前联系下git的命令. 安装 windows上安装git 从git for windows下载安装包,我下的是Git-2.13. ...

  5. Cordova开发App入门之创建android项目

    Apache Cordova是一个开源的移动开发框架.允许使用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发. 应用在每个平台的具体执行被封装了起来,并依靠符合标准的API绑 ...

  6. 一键解包/打包boot.img/recovery.img工具(高通/MTK双版 支持android 5.1以上)

    下载地址: 链接: https://pan.baidu.com/s/1hsA2oWc 密码: skdx

  7. c++ 出现“ error LNK2019: 无法解析的外部符号 该符号在函数 中被引用"错误原因

    一般问题出在 (1)XXX.lib头文件,这个要包含(不然编译也不能通过) (2)需要XXX.lib或XXX.dll库.手动添加,项目->属性->配置属性->链接器->输入 然 ...

  8. CTimeSpan

    要获取两个时间差,如两个CTime的时间差,可以使用MFC中的CTimeSpan类. CTime time1 = CTime::GetCurrentTime(); CTime time2 = CTim ...

  9. SpringSecurity兑现多登录成功页面和登录成功返回被拦截界面

    SpringSecurity实现多登录成功页面和登录成功返回被拦截界面 使用SrpingSceurity作为认证和授权的安全框架可以省下很多基础工作. 具体可以参考SpringSecurity,这里不 ...

  10. [Bayes] Understanding Bayes: Updating priors via the likelihood

    From: https://alexanderetz.com/2015/07/25/understanding-bayes-updating-priors-via-the-likelihood/ Re ...