一,什么是函数?

函数的定义与调用

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的更多相关文章

  1. day9函数作业详解

    1.day9题目 1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 3,写函数,判断用户传入的对象(字符串.列表.元组 ...

  2. python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域

    一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): ...

  3. python全栈学习--day9(函数初始)

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  4. python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用

    一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...

  5. Python学习day9 函数Ⅰ(基础)

    函数Ⅰ(基础) 三目运算 基本结构 v =  前面  if 条件 else 后面    #条件为真v=前面,条件为假v=后面.​#等同于if 条件: v = '前面'else:    v = '后面' ...

  6. Day9 Python基础之函数基础(七)

    参考链接:https://www.cnblogs.com/yuanchenqi/articles/5828233.html 1.函数的定义 定义: 函数是指将一组语句的集合通过一个函数名封装起来,要想 ...

  7. day9.初始函数练习题

    1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def new(args): a = [] for I in range(1,len(args),2) ...

  8. day9.初识函数

    python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...

  9. DAY9 函数

    一.脚本文件的执行 1.存放当前文件作为脚本文件执行的参数们:[‘当前文件的绝对路径’,手动传入的参数们] 2.脚本文件执行:直接用python解释器运行该文件  print(sys.argv) # ...

随机推荐

  1. SPSS-非参数检验

    非参数检验(卡方(Chi-square)检验.二项分布(Binomial)检验.单样本K-S(Kolmogorov-Smirnov)检验.单样本变量值随机性检验(Runs Test).两独立样本非参数 ...

  2. oracle 连接池参数

    后来排查出数据库监听异常,发现是ORA-12519拒绝错误.后来发现是数据的连接池达到的极致. 具体解决方案如下: --首先检查process和session的使用情况,在sqlplus里面查看. S ...

  3. Halcon常用算子01

    F1:Help F2:重置 F3:激活一行程序 F4:注销一行程序 F5:执行到stop()或程序结尾 F6:步执行(一步步调试) F10:添加或撤销断点 dev_open_window:打开图像窗口 ...

  4. float double

    float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下: 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不 ...

  5. Android LayoutInflater 相关知识

    今天看鸿洋大神公众号, 换肤.全局字体替换.无需编写shape.selector 的原理Factory小结 自己写代码时也要多思考,多问自己.

  6. Netty 能做什么

    作为一个学Java的,如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,会点SSH,写几个MVC,访问数据库和缓存,这些只是初等Java程序员干的事.如果你要进阶,想了解J ...

  7. java 字符串转16进制的方法

    方法一: 用java自带的方法 先将字符串转为字符数组,然后用Integer.toHexString方法进行转换. 缺点:中文容易乱码 方法二: 使用apache的包codec中的方法 org.apa ...

  8. 手机通过Charles抓取https包

      因为fiddler不能在mac上使用,而Charles是跨平台的,可以在mac上使用,所以需要了解一下Charles的使用   安装破解版Charles   下载破解版包,先启动一次未破解版的Ch ...

  9. WeakReference 在android中的应用

    转:http://my.oschina.net/u/1177694/blog/523922 首先我们来看一段代码 public class AutoActivity extends Activity  ...

  10. Js笔记(对象,构造函数,原型,原型链,继承)及一些不熟悉的语法

    对象的特性: 1.唯一标识性,即使完全不一样的对象,内存地址也不同,所以他们不相等 2.对象具有状态,同一个对象可能处在不同状态下 3.对象具有行为,即对象的状态可能因为他的行为产生变迁 Js直到es ...