day 0313函数的初识
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函数的初识的更多相关文章
- Python_函数的初识、函数的返回值、函数的参数
1.函数的初识 def关键字 空格 函数名(与变量名命名规则相同):英文冒号 函数体 执行函数:函数名+() 函数是以功能为导向的. def login(): pass def register(): ...
- Python 函数的初识
1.函数的初识 函数的作用:以功能为导向 减少代码重复 # 函数试编程 # 函数以功能(完成一件事)为导向,登录 注册, # 一个函数就是一个功能,一个函数只能写一个功能 # 何时需要 何时调用,随调 ...
- Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数
Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...
- 2018-11-9-匿名函数&递归函数初识
1.匿名函数(lambda) 2.递归函数初识
- python成长之路六-函数的初识
定义函数 我们现学已知的python函数有<内置函数> 而我们现在要学的是<自定义函数> 1,def 定义一个函数 def name(): # 后接函数名 冒号 pass 2 ...
- python基础学习Day9 函数的初识,实参、形参、
1.函数 def my_len(): l = [,,,,,,] count = for i in l: count += print(count) my_len() 定义的my_len()方法时,其结 ...
- Day 9 函数的初识1
def my_len(): l1 = [1,2,3,5,6] print(111) print(222) return print(333)print(my_len()) 一.函数的定义1.遇到ret ...
- Python函数的初识
一 什么是函数 定义: 定义一个事情或者功能,等到需要用的时候直接用就可以了,那么这个定义的就是一个函数 函数 : 对代码块和功能的封装和定义 函数定义的格式: def 函数名() ...
- python之函数的初识
1. 面向过程编程的缺点 代码重复 代码可可读性不高 2. 函数的定义*** 函数是以功能为导向,一个函数封装一个功能.登录,注册,文件的改的操 3.函数的作用*** 函数减少代码的重复性,增 ...
随机推荐
- DNS-320 B2 语言包
神一样的NAS啊,这个语言包在这里http://tsd.dlink.com.tw/downloads2008detailgo.asp,选择sc的就可以了. 真是神一样的配置~ 佩服死d-link了
- 在 Redis 上实现的分布式锁
由于近排很忙,忙各种事情,还有工作上的项目,已经超过一个月没写博客了,确实有点惭愧啊,没能每天或者至少每周坚持写一篇博客.这一个月里面接触到很多新知识,同时也遇到很多技术上的难点,在这我将对每一个有用 ...
- .io域名在申请SSL证书时被坑
注:标题其实与最后内容不符,只是描述一个事实 - 遇到坑了,不代表观点 - io域名坑我. .io后缀的域名是英属印度洋领地的国别域名,由NIC.io(runby Internet Computer ...
- 说说自己对RESTful API的理解
REST不是英文上的rest单词,其英文缩写为presentational State Transfer ,直译为表现状态转移,咋看起来很学术,不懂,其实不用去死抠这个词的意思.REST是一种约束和架 ...
- Hbase学习笔记——基本CRUD操作
进入Hbase的安装目录,启动Hbase bin/start-hbase.sh 打开shell命令行模式 bin/hbase shell 关闭Hbase bin/stop-hbase.sh 一个cel ...
- nginx负载均衡一:基础知识
基础信息 nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2).weight ...
- 修改torndb库为依赖pymysql,使其适应python3,一个更简单的操作数据库的类。
1.python的MySQLdb和pymysql是两个基本数据库操作包,MySQLdb安装很麻烦,要有c++相关环境,python3也安装不了. python3一般安装pymysql,此包与MySQL ...
- [Unity3D] C# Basic : Gameplay Scripting
教程:https://unity3d.com/cn/learn/tutorials/s/scripting 补充:http://www.runoob.com/csharp/csharp-inherit ...
- Zookeeper安装使用及JavaAPI使用
一.Zookeeper单击模式安装及使用 1.系统环境 2.导入JDK和Zookeeper包 1).使用SecureCRT工具打开SFTP连接,直接拖拽,到当前用户文件夹下,然后使用mv命令(mv 文 ...
- SQL Server 2012 R2升级到SQL Server 2016无法正常启动数据库服务解决方案
原定周末把公司的TFS升级到2018,由于TFS 2018需要SQL Server至少是2016以上版本,所以还需要将原来的SQL Server 2012 R2一并升级.今天早上负责的同事告诉我升级失 ...