函数 day9
一,什么是函数?
函数的定义与调用
s = 'fkdsagadfdsagfdsagg'
count = 0
for i in s:
count += 1
print(count) l1 = [1,2,3,4,5,6,5,4,3]
count = 0
for i in l1:
count += 1
print(count)
重复使用
代码可读性差
def my_len(): #def 关键字,定义函数, 空格 函数名(变量)
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
count = 0
for i in l1:
count += 1 my_len() # 函数名 + () 执行此函数 函数是以功能为导向,函数内部尽量不要有print l1 = [1,2,3,4,5,6,5,4,3]
ret = len(l1)
print(ret)
函数的定义
定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。 def 是固定的,不能变,他就是定义函数的关键字。 空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。 函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能 括号:是必须加的,先别问为啥要有括号,总之加上括号就对了! 注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。 调用:就是 函数名() 要记得加上括号。
二,函数的返回值。
def my_len(): # def 关键字,定义函数, 空格 函数名(变量)
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
count = 0
for i in l1:
count += 1 my_len() # 函数名 + () 执行此函数 函数是以功能为导向,函数内部尽量不要有print l1 = [1,2,3,4,5,6,5,4,3]
ret = len(l1)
print(ret) return 1:遇到return 此函数结束,不在向下进行.
2 ,return 返回值
不写return 返回 None
return None 返回 None
return 单个值 返回此单个值
return 多个值 将多个值包在元组中,返回给调用者此元组
def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
print(1111)
print(222)
return 遇到return 此函数结束,不在向下进行
print(333)
def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
count = 0
for i in l1:
count += 1
return count
ret = my_len()
print(ret) def my_len():
l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
count = 0
for i in l1:
count += 1
return 1,2,[123,2] ret1,ret2,ret3 = my_len() # (1,2,[123,2])
print(ret1,ret2,ret3)
ret = my_len()
ret1 = ret[0]
ret2 = ret[1]
ret3 = ret[2]
但是咱们写的这个函数,并不会得到这样的结果,如何让他和len函数一样,有返回值呢?
那就是在函数的最后加上一个return,return 后面写你需要的返回值就可以了。
#函数定义
def mylen():
"""计算s1的长度"""
s1 = "hello world"
length =
for i in s1:
length = length+
return length #函数调用
str_len = mylen()
print('str_len : %s'%str_len) return返回值
return关键字的作用:
return关键字的作用
return 是一个关键字,在pycharm里,你会看到它变成蓝色了。你必须一字不差的把这个单词给背下来。
这个词翻译过来就是“返回”,所以我们管写在return后面的值叫“返回值”
要研究返回值,我们还要知道返回值有几种情况:分别是没有返回值、返回一个值、返回多个值
没有返回值
不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。
#函数定义
def mylen():
"""计算s1的长度"""
s1 = "hello world"
length = 0
for i in s1:
length = length+1
print(length) #函数调用
str_len = mylen()
#因为没有返回值,此时的str_len为None
print('str_len : %s'%str_len) 没有return
三,函数的参数。
函数的两种类型的参数:一种是函数定义里的形参,另一种是调用函数的实参。在调用函数的时候,函数内部,实参会赋值给形参,。
s = 'fdsafsda'
l2 = [1, 2, 3, 4, 5, 6, 5, 4, 3, 3, 'alex']
函数的传参 def my_len(x): #形参:形式参数
count = 0
for i in x:
count += 1
return count
ret = my_len(l2) # 实参:实际参数
print(ret)
len(s) 从实参的角度:
按位置传参
按关键字传参
混合传参 关键字参数永远在位置参数后面
def my_len(x,y,z): #形参:形式参数
count = 0
for i in x:
count += 1
return count
ret = my_len(l2,s,'alex') # 按位置传参
print(ret)
len(s) def func(x):
if len(x) > 2:
return True
else:return False
print(func('alex'))
函数 day9的更多相关文章
- day9函数作业详解
1.day9题目 1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 3,写函数,判断用户传入的对象(字符串.列表.元组 ...
- python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域
一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): ...
- python全栈学习--day9(函数初始)
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用
一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...
- Python学习day9 函数Ⅰ(基础)
函数Ⅰ(基础) 三目运算 基本结构 v = 前面 if 条件 else 后面 #条件为真v=前面,条件为假v=后面.#等同于if 条件: v = '前面'else: v = '后面' ...
- Day9 Python基础之函数基础(七)
参考链接:https://www.cnblogs.com/yuanchenqi/articles/5828233.html 1.函数的定义 定义: 函数是指将一组语句的集合通过一个函数名封装起来,要想 ...
- day9.初始函数练习题
1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def new(args): a = [] for I in range(1,len(args),2) ...
- day9.初识函数
python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...
- DAY9 函数
一.脚本文件的执行 1.存放当前文件作为脚本文件执行的参数们:[‘当前文件的绝对路径’,手动传入的参数们] 2.脚本文件执行:直接用python解释器运行该文件 print(sys.argv) # ...
随机推荐
- Android 深入浅出 - Android系统启动过程
Activity的类继承关系及跟踪Activity的启动 Android系统启动过程 https://study.163.com/course/courseLearn.htm?courseId=213 ...
- Android Studio 打包时 Signature Version 选择V1还是V2 ?
只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...
- Android中使用Lambda表达式开发
参考文章:ImportNew 要在Android开发中使用lambda表达式,首先需要在 Module 的build.gradle中加入: compileOptions { targetCompati ...
- 阿里云栖大会 所有ppt
https://github.com/Alimei/hangzhouYunQi2017ppt
- python基础学习Day12 生成器、列表推导式、字典的表达式、字典键值对的互换、集合推导式
一.生成器 1.1 生成器:就是(python)自己用代码写的迭代器,生成器的本质就是迭代器. 1.2 生成器函数 def func1(x): x += print() yield x print() ...
- curl get请求
curl --proxy 192.168.1.159:8889 -d "grant_type=client_credential&appid=wxxx&secret=xxx ...
- yii配置访问路由权限配置
'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post', 'ge ...
- window document树
- TF-IDF原理及使用
1.TF-IDF(Term Frequency-Inverse Document Frequency, 词频-逆文件频率).(逆文档词频) 2.自我理解: 公式TF = $$\frac{语料库中关键词 ...
- kafka 消费者 timeout 6000
kafka 消费者 timeout 6000 1:查看zookeeper 的状态,kafka默认是自带zookeeper配置,我建议安装单独的zookeeper 服务,并且配置文件也很简单..直接改 ...