python教程:函数快速入门

yizhihongxing

函数的定义和使用

def test(x):       # x代表形参
	'''
	2*x+1
	:param x:整形数字
	:return:返回计算结果
	'''
	y = 2*x+1
	return y
p = test(3)     # test()表示运行名为test函数,3代表实参,给x进行赋值
print(p)

函数的定义:

  • def: 表示函数的关键字
  • 函数名: 函数的名称, 根据函数名调用函数
  • 函数体: 函数中进行一系列的逻辑计算
  • 参数: 为函数执行完毕后, 可以给调用者返回数据

一. 为什么要用函数?

  • 减少代码量
  • 保持一致性
  • 易维

二. 函数的参数

函数有三种不同的参数:

普通参数

######### 定义函数 #########
# name 叫做函数func的形式参数,简称:形参
def func(name):
    print name
  
# ######### 执行函数 ######### 
#  'wupeiqi' 叫做函数func的实际参数,简称:实参
func('wupeiqi')

默认参数

def func(name, age = 18):
      
	print "%s:%s" %(name,age)
  
# 指定参数
func('wupeiqi', 19)
# 使用默认参数
func('alex')

注:默认参数需要放在参数列表最后

动态参数 *args

def func(*args):
  
	print args
  
  
# 执行方式一
func(11,33,4,4454,5)
  
# 执行方式二
li = [11,2,2,3,3,4,54]
func(*li)

动态参数 **kwargs

def func(**kwargs):
  
	print args
  
  
# 执行方式一
func(name='wupeiqi',age=18)
  
# 执行方式二
li = {'name':'wupeiqi', age:18, 'gender':'male'}
func(**li)

三. 函数的变量

函数的变量可分为 全局变量和局部变量

全局变量(大写)

定义:没有缩进的变量

局部变量(小写)

定义:子程序下定义的变量

name = 'lhf'                 # 这里就指全局变量


def change_name():
    name = '帅了一比'      # 这里就指局部变量
    print('change_name', name)


change_name()
print(name)    

#结果
change_name 帅了一比
lhf

global和nolocal

global声明是全局变量,nolocal指定上一级变量

未声明全局变量

x = 99
def func():
    x = 88
func()
print(x)     #输出99

声明全局变量

x = 99
def func()
    global x
    x = 88
func()
print(x)    #输出88

未指定上一级变量

def func():
    count = 1
    def foo():
        count = 12
    foo()
    print(count)
func()    #输出1

指定上一级变量

def func():
    count = 1
    def foo():
        nonlocal count
        count = 12
    foo()
    print(count)
func()     #输出12

四. 递归函数

ps: 用的好的都是大牛~

就是函数自己调用自己

特性:

  • 必须有一个明确的结束条件,

  • 每次进入深一层递归时,问题规模都应有所减少

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 def calc(n):
     print(n)
     if int(n / 2) == 0:
         return n # 当上面的条件成立后一个真值,返回到函数
     res = calc(int(n / 2))    
     print(n,res) 
     return res # 返回res的值,要将真值一层一层传递回去
 
 calc(10)   

五. lamabda匿名函数

lambda用法,冒号之前的是入参,冒号之后的是表达式,返回的值,最简单的函数

print [(lambda x:x*x)(x)for x in range(11)]
#结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print (lambda x:x*x)(3)
#结果:9
g=lambda x:x*x
print g(4)
#结果:16

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python教程:函数快速入门 - Python技术站

(0)
上一篇 2023年4月2日 下午5:38
下一篇 2023年4月2日

相关文章

  • Python教程:常用网页字符串处理技巧

    首先一些Python字符串处理的简易常用的用法。其他的以后用到再补充。 1.去掉重复空格 s = “hello hello hello” s = ‘ ‘.join(s.split()) 2.去掉所有回车(或其他字符或字符串) s = “hello\nhello\nhello hello\n” print(s) s = s.replace(“\n”,””) p…

    Python开发 2023年4月2日
    00
  • Python中12个常用模块的使用教程

    1. time模块 import time *一*#时间戳–》结构化时间–》格式化的字符串时间 —————————————————————————– res1=time.localtime(654126574) print(res1 ) #res1===…

    Python开发 2023年4月2日
    00
  • Python重用父类方法

    一、重用父类方法 1 与继承没有关系的重用 指名道姓的使用 在子类里想用父类的方法,我们可以直接用父类名.方法名()—>父类里方法有几个参数就传几个参数 我们看起来是子类在调用父类的方法,但是实际上,这并没有存在继承关系 class A: def __init__(self,name,age): self.name=name self.age=ag…

    Python开发 2023年4月2日
    00
  • python学习:map函数和filter函数用法教程

    map()函数可以对一个数据进行同等迭代操作。 例如: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) print(list(r)) map函数传入的第一个参数就是函数本身,即f。第二个参数是要操作的数据 map() 作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简…

    Python开发 2023年4月2日
    00
  • Python教程:读取文件有三种方法:(read、readline、readlines)详细用法

    python3中,读取文件有三种方法:read()、readline()、readlines()。 此三种方法,均支持接收一个变量,用于限制每次读取的数据量,但是,通常不会使用。 本文的目的:分析、总结上述三种读取方式的使用方法及特点。 一、read方法 特点:读取整个文件,将文件内容放到一个字符串变量中。 缺点:如果文件非常大,尤其是大于内存时,无法使用r…

    Python开发 2023年4月2日
    00
  • Python3教程:在python/Shell/MySQL中时间获取与格式转换的方法总结

    时间的获取及时间各格式间的转换是比较常用的操作,但一是多种语言经常容易弄混,二是同一种语言同一个功能可能有不同的实现函数,导致每次处理时间经常要百度所以来记录一下。 另外个人真不喜欢同样功能有多种写法的形式,从理想角度说多种实现方式让不同的人都能以其喜欢的方式进行编写;但实际上当你忘记的时候,你就总要怀疑是不是这么写、可不可以这么写、到底怎么写,然后到网上看…

    Python开发 2023年4月2日
    00
  • Python学习:dict和set类型的用法

    1.什么是dict 我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字: [‘Adam’, ‘Lisa’, ‘Bart’] 或者考试的成绩列表: [95, 85, 59] 但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。 如果把名字和分数关联起来,组成类似的查找表: ‘Adam’ ==> 95 ‘Lisa…

    Python开发 2023年4月2日
    00
  • python去除列表中重复元素的方法

    列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法。分享给大家供大家参考。具体如下: 比较容易记忆的是用内置的set l1 = [‘b’,’c’,’d’,’b’,’c’,’a’,’a’] l2 = list(set(l1)) print (l2) 还有一种据说速度更快的,没测试过两者的速度差别 l1 = [‘b’,’…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部