python之路(二)函数

python 函数

1. def 定义函数关键字;

2. 函数名,日后通过函数名调用该函数;

3. 函数声明,不自动执行;

4. 函数的参数;

5. 函数的返回值;

返回值:

1. 未明确指定返回值,返回none;

2. 返回值可以赋值给某个变量;

3. 返回值可以是变量也可以是数据结构。

参数:

1. 形参

2. 实参

3. 函数可以定义多个参数

默认参数:

1. 不传,则使用默认值;

2. 传参,则覆盖默认值。

动态参数:

1. 接收多个参数,传序列时;

2. 内部自动构造元祖;

3. 序列,*,避免内部自动构造元祖。

定义函数的格式:

def   函数名 ():

函数内容;函数内容

函数内容;函数内容

函数名()                                      # 执行函数

#  1. 实现取字符串长度的功能  len 函数

a="hellomyteacher"

print len(a)

# 2. 实现字符串的切割  split 函数

a="student"

b=a.split("u")

print   b

C:\Python27\python.exe "E:/python-file/learn - python.py"

[‘st‘, ‘dent‘]

Process finished with exit code 0

#  自定义函数

def   a():

print  "hello";print 777

a()

C:\Python27\python.exe "E:/python-file/learn - python.py"

hello

777

Process finished with exit code 0

函数通过  reuturn 来实现让函数返回值得功能

函数的返回值有三种情况:

1.  一个返回值的情况

def   test():

i=7

return  i

print test()

2.  一个变量存储多个返回值赋予的情况

def  test2(i,j):

k=i*j

return  (i,j,k)

x=test2(4,5)

print  x

C:\Python27\python.exe "E:/python-file/learn - python.py"

(4, 5, 20)

Process finished with exit code 0

3.  多个变量存储多个返回值的情况

def   test3(i,j):

k=i*j

return  (i,j,k)

x,y,z=test3(4,5)

print     x

print     y

print     z

C:\Python27\python.exe "E:/python-file/learn - python.py"

4

5

20

Process finished with exit code 0

默认参数:

def show(args,arg1=‘a‘):

print(args,arg1)

print(args,arg1)

show(12,arg1=‘1‘)

show(12)

12 1

12 1

12 a

12 a

动态参数:

1)

def show(*args,**kwargs):

print(args,type(args))

print(kwargs,type(kwargs))

show(12,34,a=1,b=2)

(12, 34) <class ‘tuple‘>

{‘a‘: 1, ‘b‘: 2} <class ‘dict‘>

2)

>>> def show(*args,**kwargs):

...     print(args,type(args))

...     print(kwargs,type(kwargs))

...

>>> i = [11,22,33]

>>> v = {‘k2‘:1,‘k1‘:2}

>>> show(i,v)

([11, 22, 33], {‘k2‘: 1, ‘k1‘: 2}) <class ‘tuple‘>

{} <class ‘dict‘>

>>> show(*i,**v)

(11, 22, 33) <class ‘tuple‘>

{‘k2‘: 1, ‘k1‘: 2} <class ‘dict‘>

3)

>>> test = ‘name : {0}, pwd : {1}‘

>>> test.format(‘lihongye‘,‘pwd1‘)

‘name : lihongye, pwd : pwd1‘

>>> test = ‘name : {x}, pwd : {y}‘

>>> test.format(x=‘lihongye‘,y=‘pwd1‘)

‘name : lihongye, pwd : pwd1‘

>>> test_dic = {‘x‘:‘lihongye‘,‘y‘:‘pwd1‘}

>>> test.format(**test_dic)

时间: 2024-08-27 22:31:51

python之路(二)函数的相关文章

python学习笔记(二) - 函数

一. 调用函数 python内置了一些数据类型转换函数,比如int()函数可以把其他数据类型转换为整形 >>> int('123') 123 >>> int(12.34) 12 >>> float('12.34') 12.34 >>> str(1.23) '1.23' >>> unicode(100) u'100' >>> bool(1) True >>> bool('') Fal

python之路 初始函数

python之初识函数: (一)为什么要使用函数:  首先举一个例子,假如我们现在要计算"hello world"这个字符串的长度,我们可以怎么计算1,直接print(len(hello world)) 就可以计算长度,那么现在   用len()这个函数了,我们还可以怎么计算呢,看下面代码 #利用for 循环计算字符串长度 s = "hello world" length = 0 for i in s: length += 1 print(length) 这样我们也

python之路二

一.ipython安装教程 http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/ random rc = ["石头","剪刀","布"] for i in rc: print(rc.index(i),i) 颜色 颜色: 31是红色,32 是绿色 \033[31;1m内容\033[0m \033[31;1m内容\033[0m 3十几是前景色

python之路二十

一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异步通讯的所有功能.也就是说什么情况下我们都可以通过此方法进行异步刷新的操作.但是它的参数较多,有的时候可能会麻烦一些.看一下常用的参数: var configObj = { method   //数据的提交方式:get和post url   //数据的提交路劲 async   //是否支持异步刷新,默认是true data    //需要提交的数据 dataType   //服务器返回数据的类型,例如xml

python之路——初识函数

为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 让你计算'hello world'的长度,你怎么计算? 这个需求对于现在的你其实不难,我们一起来写一下. s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) 好了,功能实现了,非常完美.然后现在又有了一个需求,要计算另外一个字符串的长度,"hello eva". 于是,这个时候你的代码

python之路二十二

Django中提供了"信号调度",用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 相当于我们创建了一个hook. 1. Django的内置信号 Model signals    pre_init                    # django的modal执行其构造方法前,自动触发    post_init                   # django的modal执行其构造方法后,自动触发    pre_save    

python之路二十一

URL        - 两个    Views        - 请求的其他信息        from django.core.handlers.wsgi import WSGIRequest        request.environ        request.environ['HTTP_USER_AGENT']        - 装饰器            FBV:                def auth(func):                    def inn

python之路_函数实例及装饰器介绍

一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[('红心',2), ('草花',2), -('黑桃,'A')] def cards(): num=[] for v in range(2,11): num.append(v) num.extend(['J','Q','K','A']) type=['红心','草花','方块','黑桃'] result=[] for i in num: for j in type: result.append((j,i)) re

python 之路 day10 函数

一:深浅拷贝 :  s = [ [1,2] ,3  ,4  ]       s1 = s.copy()  ,   s1[0][0] = 8 ,  print (s) ,print (s1),   两个的结果都为 [   [8,1] ,  3 ,4  ]   首先是因为列表是可以修改的,再一个跟指针有关系,具体图如下: 浅拷贝(shallow copy) 只会拷贝第一层,如上面的 3,4 ,因为只有一个指针指向 深拷贝(deep copy): 全部克隆  需要模块, import copy 二 :

2017年12月14日 一个Java开发的Python之路----------------(二)

说一个收获最大的,就是这个关闭流对象 之前写java读取文件的时候,最后往往要关闭流对象,以前我一直不明白,为什么,我不使用.close()方法,文件也可以读取成功,总感觉没有什么意义 原来是因为,这个.close()方法,不是给java文件,或者python文件执行的,因为关于文件对象的操作,都是由操作系统去完成的 这个打开,read,和close都是告诉操作系统要执行,至于这个close()是告诉操作系统,说我的文件执行完了,可以回收资源了. 当然你不写关闭,对读写都没有什么影响,但是,可能