python函数函数 python方法 函数

python函数高级

一、函数的定义

公司主营业务:网站制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出东昌免费做网站回馈大家。

函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用函数名即可

特性:

减少重复代码

使程序变得可扩展

使程序变得易维护

二、函数的参数

2.1、形参和实参数

形参,调用时才会存在的值

实惨,实际存在的值

2.2、默认参数

定义:当不输入参数值会有一个默认的值,默认参数要放到最后

2.3、 关键参数

定义: 正常情况下,给函数传参数要安装顺序,不想按顺序可以用关键参数,只需要指定参数名即可,(指定了参数名的就叫关键参数),但是要求是关键参数必须放在位置参数(以位置顺序确定对应的参数)之后

2.4、非固定参数

定义: 如你的函数在传入参数时不确定需要传入多少个参数,就可以使用非固定参数

# 通过元组形式传递

# 通过列表形式传递

# 字典形式(通过k,value的方式传递)

# 通过变量的方式传递

三、函数的返回值

作用:

返回函数执行结果,如果没有设置,默认返回None

终止函数运行,函数遇到return终止函数

四、变量的作用域

全局变量和局部变量

在函数中定义的变量叫局部变量,在程序中一开始定义的变量叫全局变量

全局变量作用域整个程序,局部变量作用域是定义该变量的函数

当全局变量与局部变量同名是,在定义局部变量的函数内,局部变量起作用,其他地方全局变量起作用

同级的局部变量不能互相调用

想要函数里边的变量设置成全局变量,可用global进行设置

五、特殊函数

5.1、嵌套函数

定义: 嵌套函数顾名思义就是在函数里边再嵌套一层函数

提示 在嵌套函数里边调用变量是从里往外依次调用,意思就是如果需要调用的变量在当前层没有就会去外层去调用,依次内推

匿名函数

基于Lambda定义的函数格式为: lambda 参数:函数体

参数,支持任意参数。

匿名函数适用于简单的业务处理,可以快速并简单的创建函数。

# 与三元运算结合

5.3、高阶函数

定义:变量可以指向函数,函数的参数可以接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数 只需要满足一下任意一个条件,即是高阶函数

接收一个或多个函数作为输入

return返回另一个函数

5.4、递归函数

定义:一个函数可以调用其他函数,如果一个函数调用自己本身,这个函数就称为递归函数

在默认情况下Python最多能递归1000次,(这样设计师是为了防止被内存被撑死)可以通过sys.setrecursionlimit(1500)进行修改

递归实现过程是先一层一层的进,然后在一层一层的出来

必须有一个明确的条件结束,要不然就是一个死循环了

每次进入更深层次,问题规模都应该有所减少

递归执行效率不高,递归层次过多会导致站溢出

# 计算4的阶乘 4x3x2x1

# 打印数字从1-100

5.5、闭包现象

定义:内层函数调用外层函数的变量,并且内存函数被返回到外边去了

闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域

python集合和函数

变量名={元素,元素,,,}

nums={11,24,45,96,28}

nums.add(42)

print(nums)

nums={11,24,45,96,28}

nums2=["anfly","tom"]

nums.update(nums2)

print(nums)

1)nums={11,24,45,96,28}  [没有该数字报错]

   nums.remove(24)

   print(nums)

2)nums={11,24,45,96,28}  [随机删]

 nums.pop()

 print(nums)

3)nums={11,24,45,96,28} [没有该数字不会报错]

 nums.discard(24)

 print(nums)

交集:(存在相同元素)

set1={"anfly","tom","haha"}

set2={"anfly","susala"}

set3=set1set2

print(set3)

并集:(得到全部集合中全部的元素)

set1={1,2,3,4}

set2={3,4,5,6}

new_set=set1|set2

print(new_set)

运算符 (+ * in)

内置函数 (len max min del)

列:set1 = {"1","2","3"}

    print(min(set1))

def函数名():

   执行语句

函数名()

列:

defhello():

print("hello word")

hello()

2.函数参数:

def  add2num():

a=11

b=22

c=a+b

print(c)

add2num()

3.位置参数:

def  fun(a,b):

 print("a:",a)

 print("b:",b)

fun(2,3)

4.关键字参数:

def  fun(a,b):

  print("a:",a)

 print("b:",b)

fun(a=2,b=3)   [第一个‘a’可以直接写数字,也可以展示;第二个以及之后‘b’不能直接写数字,要写‘b=3’这种格式]

5.缺省参数

def printinfo(name,age=20):

  print("name:",name)

  print("age:",age)

printinfo(name="anfly")  [展示都能展示出来]

6.不定长参数

1).*args[展示是元组]

defprintinfo(*args):

 print("args:",args)

printinfo(100,200,300,400)

2)**args[展示是k.v格式]

def printinfo(**kwargs):

 print("kwargs:",kwargs)

printinfo(a=100,b=200,c=300,d=400)

7.参数位置顺序

def sun(a,*args,b=22,**kwargs):

     print("a:",a)        ==10

     print("args:",args)    ==(200,300)

     print("b:",b)    ==2

     print("kwargs:",kwargs)  =={‘m’:3,'n':4}

sun(100,200,300,b=2,m=3,n=4)

8.函数返回值

def fan(a,b):

  return a+b

print(fan(1,2))  #3

9.匿名函数(lambda函数也叫匿名函数,即函数没有具体的名称)

案例一:

sum=lambda a,b:a+b

print(sum(1,2))  #3

案例二:

sum=lambda a,b:100

print(sum(1,2))  #100

1.局部变量

def jv():

   a=3 

   print(a)

def jv1():   

   a=99   

   print(a)

jv()       #3

jv1()    #99

2.全局变量

def jv():

   print(a) 

def jv1():   

    a=99   

    print(a)

jv()     #全局变量

jv1()    #99

3.局部变量升成全局变量

def jv():

    a=3 

    global b   

     b="我也是全局变量" 

      print(a)

def jv1():   

       a=99   

        print(a)   

         print(b)

jv()          #3

jv1()        #99 #“我也是全局变量”

Python中range()函数的用法

Python range()函数可创建一个整数列表,一般用在for循环中。

注意:Python3 range()返回的是一个可迭代对象,类型是对象,而不是列表类型,所以打印的时候不会打印列表。

函数语法:

range(start,stop[,step])

参数说明:

start:计数从start开始。默认是从0开始。例如range(5)等价于range(0,5);

stop:计数到stop结束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]没有5;

step:步长,默认为1。例如:range(0,5)等价于range(0,5,1)。

实例:

range(10) # 从 0 开始到 9

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1, 11) # 从 1 开始到 10

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

range(0, 30, 5) # 步长为 5

[0, 5, 10, 15, 20, 25]

range(0, 10, 3) # 步长为 3

[0, 3, 6, 9]

range(0, -10, -1) # 负数

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

range(0)

[]

range(1, 0)

[]

以下是range在for中的使用,循环出runoob的每个字母:

x = 'runoob'

for i in range(len(x)) :

... print(x[i])

...

r

u

n

o

o

b


网站栏目:python函数函数 python方法 函数
文章来源:http://myzitong.com/article/hjhcdo.html