码迷,mamicode.com
首页 > 编程语言 > 详细

python基础函数、方法

时间:2018-05-14 16:55:21      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:关键字   输出   hand   dong   有一个   语法   shandong   通过   htm   

python的函数和方法,通过def 定义:

函数的特性:

  1. 减少重复代码
  2. 使程序变的可扩展
  3. 使程序变得易维护

函数和方法的区别:函数有返回值、方法没有

语法定义:

def sayhi():#函数名
    print("Hello, I‘m nobody!")
 
sayhi() #调用函数
可以带参数
#下面这段代码
a,b = 5,8
c = a**b
print(c)
  
#改成用函数写
def calc(x,y):
    res = x**y
    return res #返回函数执行结果
 
c = calc(a,b) #结果赋值给c变量
print(c)

注:函数参数说明,定义函数中的参数称为形参,调用函数中的参数称为实参。

def test(x,y):
    print x
    print y
x=1
y=2
test(y=y, x=x)
>>1
>>2

  

实参要与形参中的个数相同,正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可,但记住一个要求就是,关键参数必须放在位置参数之后。

具体见:http://www.cnblogs.com/alex3714/articles/5740985.html

非固定参数

若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

def stu_register(name,age,*args): # *args 会把多传入的参数变成一个元组形式
    print(name,age,args)
 
stu_register("Alex",22)
#输出
#Alex 22 () #后面这个()就是args,只是因为没传值,所以为空
 
stu_register("Jack",32,"CN","Python")
#输出
# Jack 32 (‘CN‘, ‘Python‘)

还可以有一个**kwargs

def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个dict形式
    print(name,age,args,kwargs)
 
stu_register("Alex",22)
#输出
#Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空
 
stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
#输出
# Jack 32 (‘CN‘, ‘Python‘) {‘province‘: ‘ShanDong‘, ‘sex‘: ‘Male‘}

 参数组包括:*args(把多传入的位置参数变成一个元组形式)、**kwargs(会把多传入的关键字参数变成一个字典形式)

注:默认参数要写到**kwargs参数组的前面,向**kwargs传递的实参必须是关键字参数。

def test(x,*y):
    print x
    print y
test(2,3,4 )
>>2
>>(3, 4)
def test(x,f=18,**y):
    print x
    print f
    print y
test(2,z=3,m=4 )
>>2
>>18
>>{‘z‘: 3, ‘m‘: 4} 

 注:函数定义模块要写到调用该函数的前面。

python基础函数、方法

标签:关键字   输出   hand   dong   有一个   语法   shandong   通过   htm   

原文地址:https://www.cnblogs.com/iexperience/p/9036563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!