1、函数的初识

  def关键字 空格 函数名(与变量名命名规则相同):英文冒号

  函数体

  执行函数:函数名+()

  函数是以功能为导向的。

def login():
pass
def register():
pass
1 def my_len():
2 l1 = [1, 2, 3, 1, 6, 9, 10]
3 count = 0
4 for i in l1:
5 count += 1
6 my_len()

2、函数的返回值

  return:

    1、函数中遇到 return 结束函数,下面代码不执行。

def login():
print(111)
print(222)
return
print(333)
login()

    2、将函数里面的值返回给函数的执行者(调用者)。

      第一种情况:

        只有return,返回None。

def login():
a = 2
b = 3
print(111)
print(a, b)
return
print(login())

      第二种情况:

        return None

      第三种情况:

        return 单个值(返回的值与单个值的类型相同)

def login():
a = 2
b = 3
return a
print(login(), type(login()))

def login():
a = 2
b = 3
return [1, 2]
print(login(), type(login()))

def login():
a = 2
b = 3
return [1, 2]
ret = login()
a, b = ret
print(a, b)

      第四种情况:

        return 多个值(以元组的形式返回给函数的调用者)

def login():
a = 2
b = 3
return 1, 'alex', [1, 2], {'name': '老男孩'}
ret = login()
print(ret)

  什么是None?

  所有空集合、空列表、空字典...... ----------> None

def my_len():
l1 = [1, 2, 3, 1, 6, 9, 100]
count = 0
for i in l1:
count += 1
return count
print(my_len())

3、函数的参数

  1、实参角度

    1、位置参数

      一一对应,形参实参数量相等

def my_len(a):  # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
l1 = [1, 2, 3, 1, 6, 9, 100]
print(my_len(l1))

def my_len(a):  # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
l1 = [1, 2, 3, 1, 6, 9, 100]
my_len(l1)
ret = my_len(l1)
print(ret)
print(my_len(l1)) # 实际参数,实参

def my_len(a):  # a 形式参数,形参
count = 0
for i in a:
count += 1
return count
s1 = 'fhdsjfdsfsadfgsd'
my_len(s1)
ret = my_len(s1)
print(ret)
print(my_len(s1)) # 实际参数,实参

def tes(a, b, c):
print(111)
print(a, b, c)
tes(22, 'alex', [11, 22, 33])

  三元运算:

x = 100
y = 99
if x > y:
print(x)
else:
print(y)

x = 100
y = 99
c = x if x > y else y
print(c)

def max(x, y): return x if x > y else y
print(max(3000, 200))

    2、关键字参数

      一一对应,实参形参数量相等,实参顺序可变。

def func(x, y):
print(x, y)
func(y=3333, x=4)

    3、混合参数

      关键字参数必须在位置参数的后边。

def func(x, y, z):
print(x, y, z)
func(111, 222, z=555)  # 混合传参 位置参数必须在前边

def func(x, y, z):
print(x, y, z)
func(111, z=555, 222)

  2、形参角度

    1、位置参数

      一一对应,形参实参数量相等

def func2(y, x):
print(x, y)
func2(1, 2)

    2、默认字参数

      默认参数必须在形参的位置参数后面。

      默认参数不传值则为默认值,传值则覆盖默认值。

def func2(y, x, z= 1000):
print(x, y, z)
func2(1, 2, 3000)

def input_information(name, sex='男'):
with open('information', encoding='utf-8', mode='a') as f1:
f1.write('{}\t{}\n'.format(name,sex)) while True:
msg = input('请输入用户的姓名,性别\Q或者q退出').strip()
if msg.upper() == 'Q':
break
if ',' in msg:
name1, sex1 = msg.split(',')
input_information(name1, sex1)
else:
input_information(msg)

    3、动态参数

Python_函数的初识、函数的返回值、函数的参数的更多相关文章

  1. python中的函数(定义、多个返回值、默认参数、参数组)

    函数定义 在python中函数的定义以及调用如下代码所示: def test(x): y = x+1 return y result = test(2) print(result) 多个返回值的情况 ...

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

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

  3. python学习笔记10(函数一): 函数使用、调用、返回值

    一.函数的定义 在某些编程语言当中,函数声明和函数定义是区分开的(在这些编程语言当中函数声明和函数定义可以出现在不同的文件中,比如C语言),但是在Python中,函数声明和函数定义是视为一体的.在Py ...

  4. c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题

    c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...

  5. go语言基础之有参有返回值函数的使用

    1.有参有返回值函数的使用 示例1: package main //必须 import "fmt" //go官方推荐写法 func MaxAndMin(a, b int) (max ...

  6. 获得函数返回值类型、参数tuple、成员函数指针中的对象类型

    //function_traits.h,获得函数返回值类型.参数tuple.成员函数指针中的对象类型 //参考https://github.com/qicosmos/cosmos/blob/maste ...

  7. c语言进阶4-有返回值函数

    一.         从函数返回 从函数返回就是返回语句的第一个主要用途.在程序中,有两种方法可以终止函数的执行,并返回到调用函数的位置.第一种方法是在函数体中,从第一句一直执行到最后一句,当所有语句 ...

  8. C#中的函数(二) 有参有返回值的函数

    接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...

  9. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值

    关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...

  10. JS函数 -- 功能,语法,返回值,匿名函数,自调用匿名函数,全局变量与局部变量,arguments的使用

    “JavaScript设计得最出色的就是它的函数的实现.” -- <JavaScript语言精粹> 函数包含一组语句,它们是JS的基础模块单元,用于指定对象的行为.一般来说,所谓编程,就是 ...

随机推荐

  1. 《Java大学教程》—第19章 改进用户界面

    用户与程序交互的媒介称为用户界面(user interface)或人机界面(human-computer interface). 19.2    Border接口8个实现Border接口的标准边框类: ...

  2. kafka-connect-hdfs重启,进去RECOVERY状态,从hadoop hdfs拿租约,很正常,但是也太久了吧

    虽说这个算是正常现象,等的时间也太久了吧.分钟级了.这个RECOVERY里面的WAL有点多余.有这么久的时间,早从新读取kafka写入hdfs了.纯属个人见解. @SuppressWarnings(& ...

  3. WinForm下的loading框的实现

    前言:在项目使用C/S模式情况下,由于需要经常进行数据的刷新,如果直接进行刷新,会有一个等待控件重画的过程,非常的不友好,因此在这里添加一个loading框进行等待显示. 实现:在经过多方面查询资料, ...

  4. 设计模式のStrategyPattern(策略模式)----行为模式

    一.问题产生背景 当我们进行一系列处理时(员工工资核算,会员管理,计算器,优惠活动),会有很多相似的算法和处理过程,只是由于具体的算法的差异,导致必须不同处理.这些处理和客户端无关,我们可以把这些算法 ...

  5. Gps定位和wifi定位和基站定位的比较

    现在手机定位的方式是:Gps定位,wifi定位,基站定位 Gps定位的前提,手机开启Gps定位模块,在室外,定位的精度一般是几米的范围 wifi定位的前提,手机要开启wifi,连不连上wifi热点都可 ...

  6. VS2015P配置opencv340

    1添加系统环境变量 F:\dongdong\0tool\navidia_cuda_opencv\opencv\build\x64\vc14\bin 注销重启 2 工程配置 选择好工程  x64 包含目 ...

  7. Linux下简单的缓冲区溢出

    缓冲区溢出是什么? 科班出身,或者学过汇编的应该知道,当缓冲区边界限制不严格时,由于变量传入畸形数据或程序运行错误,导致缓冲区被“撑爆”,从而覆盖了相邻内存区域的数据 成功修改内存数据,可造成进程劫持 ...

  8. jenkins使用1----初始化设置

    ####一.基本设置 1.首先找到系统管理 2.再找到全局配置一把黄色的锁头 3.新增JDK.Maven等 别名随便 下面的值添加jdk在jenkins这台机器上的位置,如果没找到可以点击自动安装,并 ...

  9. day26 Python isinstance和issubclass

    isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo(object) ...

  10. ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit

    ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit   ERROR: ORA-01034:ORACLE ...