函数初识

1. 函数定义:

def 函数名():
函数体 # def 关键字 -- 定义
# 函数名 -- 和变量定义规则一样
# () 必须要写格式 ,一会在盘他
# : 声明语句结束 内存中存放了一堆代码,如果不调用,里面不会变,不会开辟空间

2. 函数调用:

函数名 + ()   

def my_len():
s = "alex"
count = 0
for i in s:
count += 1
print(count)
my_len() #调用 显示4

3. 函数的返回值:

return:

def my_len():
s = "alex"
count = 0
for i in s:
count += 1
return count
print(my_len()) # 4 count的值给了my——len() lst = [1,3,5,7]
def li():
for i in lst:
lst.append(int(input(">>>")))
return lst
print(li()) # lst给了li() #总结:
return的内容返回给了函数的调用,可以返回任意类型
return下方的代码不执行,终止这个函数(不是终止循环)
return 返回多个内容的时候还是元组形式
return 没有写返回值的时候返回的是None,不写return返回的也是None

4. ()

形参:函数的定义中括号里的是形参
实参:函数的调用括号里的是实参
传参:将实参传递给形参的过程

4.1 位置传参:

​ 形参与实参必须一一对应,形参可以不用,但必须传参。

​ 形参是默认参数是,实参传递时可以不写,若写内容就会将形参的默认参数覆盖。

​ 位置参数 > 默认参数

def func(a,b,c):
print(a,b,c)
func(1,3,5) # 1 3 5 可以是任意数据类型 def func(a,b=2): #b=2 为默认参数,可以不用写实参
print(a,b)
func(1) #1 2 def func(a,b=2): #默认参数必须放最后
print(a,b)
func(1,3) # 1 3 位置参数 > 默认参数 b=3 形参与实参必须一一对应,形参可以不用,但必须传参

4.2 关键字传参:

def func(a,b,c):
print(a,b,c)
func(a=1,c=3,b=2) # 按a,b,c 传参, 1,2,3 def func(a,b,c=4):
print(a,b,c)
func(a=1,c=3,b=2) # 1 2 3 c=4被覆盖 #依次输出name,age,sex:
def userinfo(name,age,sex="男"):
print(name,sex,age)
while True:
name = input("name:")
age = int(input("age:"))
sex = input("sex(如果是男,直接回车!):")
if sex == "女":
userinfo(name,age,sex)
else:
userinfo(name, age)

4.3 混合传参:

​ 位置参数 > 关键字参数

#错误示例:
def func(a,b,c):
print(a,b,c)
func(1,b=3,5) # 位置参数跟随在关键字参数后,报错 def func(a,b,c):
print(a,b,c)
func(1,3,c=5) # 1 3 5 def func(a:int,b:str): # 只有提示作用,没有约束作用
print(a,b)
print(type(a)) # int
print(type(b)) # int
func(1,2)

python 09 函数的更多相关文章

  1. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  2. 【276】◀▶ Python 字符串函数说明

    参考:Python 字符串函数 01   capitalize 把字符串的第一个字符大写,其他字母变小写. 02   center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串. ...

  3. python的函数

    函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...

  4. python strip()函数 介绍

    python strip()函数 介绍,需要的朋友可以参考一下   函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除 ...

  5. python split()函数

    Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...

  6. Python数学函数

    1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...

  7. Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  8. Python之函数与变量

    本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...

  9. JavaScript学习09 函数本质及Function对象深入探索

    JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...

随机推荐

  1. PHP正则匹配到2个字符串之间的内容,匹配HTML便签内容

    PHP正则匹配到2个字符串之间的内容 $preg= '/xue[\s\S]*?om/i'; preg_match_all($preg,"学并思网址xuebingsi.com",$r ...

  2. UTF—8与UTF—8(无bom)格式

    BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE在U ...

  3. Python实现性能自动化测试竟然如此简单

    一.思考❓❔ 1.什么是性能自动化测试? 性能 系统负载能力 超负荷运行下的稳定性 系统瓶颈 自动化测试 使用程序代替手工 提升测试效率 性能自动化 使用代码模拟大批量用户 让用户并发请求 多页面多用 ...

  4. 【iOS】设备系统版本

    判断 iOS 系统的版本号,示例代码如下: NSLog(@"version--%d", [[[UIDevice currentDevice] systemVersion] floa ...

  5. ansible-yum

    #yum 需要在vim /etc/ansible/hosts里面给执行的主机配置 远程调用python的路径不知道为什么默认值认识python2.6.6 vim /etc/ansible/hosts ...

  6. 全文检索方案Elasticsearch【Python-Django 服务端开发】

    更详细请看 https://www.elastic.co/cn/ 1. 全文检索和搜索引擎原理 商品搜索需求 当用户在搜索框输入商品关键字后,我们要为用户提供相关的商品搜索结果. 商品搜索实现 可以选 ...

  7. 在vue中监听storage的变化

    1.首先在main.js中给Vue.protorype注册一个全局方法,其中,我们约定好了想要监听的sessionStorage的key值为’watchStorage’,然后创建一个StorageEv ...

  8. JVM总结(二)

    JVM总结(2)java内存区域.字节码执行引擎 1.内存区域 程序计数器:知道线程执行位置,保证线程切换后能恢复到正确的执行位置. 虚拟机栈:存栈帧.栈帧里存局部变量表.操作栈.动态连接.方法返回地 ...

  9. collection介绍

    1.collection介绍 在mongodb中,collection相当于关系型数据库的表,但并不需提前创建,更不需要预先定义字段 db.collect1.save({username:'mayj' ...

  10. Java并发编程实战笔记—— 并发编程2

    1.ThreadLocal Java中的ThreadLocal类可以让你创建的变量只被同一个线程进行读和写操作.因此,尽管有两个线程同时执行一段相同的代码,而且这段代码又有一个指向同一个ThreadL ...