1、

def 函数名(形式参数)
函数体
return "123"

函数执行了return之后就不再执行下面的代码

2、

默认形参实参的位置一一对应
如果要调整位置,指定形参名字

def email(sub,get,bbj):
print(sub,get,bbj) rr=email(sub="",bbj="",get="")

3、函数可以有默认参数

    def dirve(name="我")  #name这个有默认参数,有默认参数的应放在无默认参数的后面
temp=name+"开车" #否则报错,无默认参数的必须传参数,有默认参数的可以不传参数
return temp
ret=drive("you")
print(ret)
ret=drive("he")
print(ret)
ret=drive()
print(ret)
    def a1(a):
print(a)
a1(123)
a1("")
a1([11,22,33])

4、动态参数

1、

def a1(*a):  #动态参数,可以接受多个值
print(a,type(a)) #现在a的类型为元组,把你传入的实参当作元组的元素
a1(123,3,444,555,[11,22,33])#这里的列表为一个元素

2、

def a2(**b):  #动态参数,接收的参数转换为字典
print(b,type(b))#b的类型为字典,传过来的参数转换为字典 a2(k1=123,k2=345) def a3(p,*a,**aa)
print(p,type(p)
print(a,type(a)
print(aa,type(aa) a3(11,22,33,k1=123,k2=456)#在这里自动把11给p,22,33给*a,把k1=123,k2=456给**a

#**要在*后面,这两个要在一般参数数的后面,而且实参也要按此排序

*,元组,元组的元素
**,字典
一般写法def f1(*args,**kwargs)

3、为动态参数传入 列表、字典、元组

def f1(*args) :
print(args)
li=[11,22,33]
f1(li) #这样传参数则这个args元组的第一个元素为列表[11,22,33]
f1(*li) #这样传参数是会把这个列表的每一个元素一一传过去结果会是
#这个列表的每一个元素会成为args元组的每一个元素(11,22,33)
dic f2(**kwargs):
print(kwargs)
dic={"k1":123,"k2":"aas"}
f2(dic)#这样传参数报错
f2(k1=dic) #这样传参数会变成kwargs={"k2":{"k1":123,"k2":"aas"}}
f2(**dic)#要想把dic里的元素一个一个传过去,为kwargs={"k1":123,"k2":"aas"}需要在dic前加**

4、变量

(1)全局变量

    a = 1234  # 全局变量

    def f1():
a = 123 # 这个a为局部变量只有这个函数里才能用
print(a) #在这里输出的是局部变量
f1()
print(a)

(2)局部变量

    def f1()
a=123
print(a)#这个a为局部变量只有这个函数里才能用

要想修改全局变量的值需要在全局变量前加global声明一下
例如:

        a = 1234
def f1():
global a
a = 123
print(a)#输出结果为:123
f1()
print(a)#输出结果为:123

以后写全局变量时吧全局变量名写为大写,局部变量的变量名写为小写

总结

1、数据类型

 set
  无序的,不重复的集合

2、三元运算

  减少代码量

3、深浅拷贝

  str、int
  深浅都一样
  其他
  浅拷贝,最外层
  深拷贝,除了最内层

4、函数

  a.def
  b.函数名
  c.返回值
  1、return
  2、一旦遇到return,函数的剩下代码就不执行了

5、参数

  1、形参实参
  2、普通参数,数量一致,一一对应
  3、指定参数,

f1(p="xxx",xx="asd")

  4、默认参数
    放在参数的尾部
  5、动态参数
    *args
    **kwargs
  e、全局变量和局部变量
    全局:
      大写
      修改,global
    局部变量:
      小写,仅仅在代码块中能用

python函数(2017-8-2)的更多相关文章

  1. 用C语言模仿Python函数

    首先得说明一点,C 语言不是函数式编程语言,要想进行完全的函数式编程,还得先写个虚拟机,然后再写个解释器才行(相当于 CPython ). 下面我们提供一个例子,说明 C 语言函数可以"适度 ...

  2. python 函数参数介绍

    python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...

  3. python函数-------python2.7教程学习【廖雪峰版】(三)

    任务: 看完函数这一章    已完成 2017年6月8日16:23:491.函数的作用:写较少的代码实现较多的功能,可以多次被调用.2.可见,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的 ...

  4. 二. python函数与模块

    第四章.内置函数与装饰器详解 1.内置函数补充1 注:红色圆圈:必会:  紫红色方框:熟练:   绿色:了解 callable() 判断函数是否可以被调用执行 def f1(): pass f1() ...

  5. python函数-函数进阶

    python函数-函数进阶 一.命名空间和作用域 1.命名空间 内置命名空间 —— python解释器 就是python解释器一启动就可以使用的名字存储在内置命名空间中 内置的名字在启动解释器的时候被 ...

  6. python 函数之day3

    一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...

  7. Python函数作用域的查找顺序

    函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...

  8. Python函数讲解

    Python函数

  9. Python函数信息

    Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...

  10. Python函数参数默认值的陷阱和原理深究"

    本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...

随机推荐

  1. 操作Active Directory C#

    .Net平台操作活动目录Active Directory,使用System.DirectoryServices.ActiveDirectory,主要是User OU 和Group的操作. 代码运行了一 ...

  2. 通过 Powershell 来替换 ARM 模式下虚拟机的网络接口

    需求描述 客户在部署完 ARM 模式的虚拟机以后,由于误操作在虚拟机内部禁用了网卡导致远程访问虚拟机受到限制,以下是通过 Powershell 命令来替换原有虚拟网络接口实现虚拟网卡重置功能. Not ...

  3. 一点一点学写Makefile(2)-自动搜所当前目录下的所有源文件

    上个博客我们使用的是笨方法添加源文件,本次我要实现的是遍历文件夹来获得所有的cpp文件 //makefile CROSS = CC = $(CROSS)gcc CXX = $(CROSS)g++ DE ...

  4. python27 文件读写

    fileobject = open(文件的绝对路径或相对路径,读写模式,其他可选参数) '''r-读 文件不存在报错FileNotFoundError''' try: f = open('file0. ...

  5. Android坡度计

    艺术来源于生活,对我来说,编程也是一门艺术.今天发布这篇技术博客,就是我跟朋友在一次爬山过程中的争论,他跟我说那座山至少45度,我说没有,最多30度.我们彼此争论不休,于是我就想,为啥不写个手机程序来 ...

  6. linux shell中 if else以及大于、小于、等于逻辑表达式介绍

    在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下, 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注 ...

  7. POJ 3070 矩阵快速幂

    题意:求菲波那切数列的第n项. 分析:矩阵快速幂. 右边的矩阵为a0 ,a1,,, 然后求乘一次,就进一位,求第n项,就是矩阵的n次方后,再乘以b矩阵后的第一行的第一列. #include <c ...

  8. HashMap中的equals和hashCode

    HashMap的存储方式 HashMap的实现方式是数组链,不同的对象根据其哈希码(hashCode方法的返回值)找到对应的数组下标,然后存入数组.不同的对象有相同的哈希码时怎么办?这就由数组链中的链 ...

  9. P1800 software_NOI导刊2010提高(06)

    P1800 software_NOI导刊2010提高(06) 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术 ...

  10. 固定导航栏demo

    代码如下 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...