重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

python中公共函数,Python基础函数

python中函数的作用

Python 函数定义以及参数传递

创新互联是一家专注于做网站、成都做网站与策划设计,柞水网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:柞水等地区。柞水做网站价格咨询:18980820575

1.函数定义

#形如def func(args...):

doSomething123

以关键字def 开头,后面是函数名和参数下面是函数处理过程。

举例:

def add( a, b ):

return a+b12

参数可以设定默认值,如:

def add( a, b=10 ): #注意:默认值参数只会运算一次

return a+b12

默认值参数只会运算一次是什么意思?

def func( a, b=[] ): #b的默认值指向一个空的列表,每次不带默认值都会指向这块内存

b.append(a) return b

print(func(1))#向默认的空列表里加入元素1 ,默认列表里已经是[1]print(func(2))#向默认的列表里加入元素2,默认列表里已经是[1,2]print(func(3,[]))#向b指向的空列表里加入元素1 ,默认列表里还是[1,2]print(func(4))#向默认的列表里加入元素4,默认列表里已经是[1,2,4]'''

结果:

[1]

[1, 2]

[3]

[1, 2, 4]

'''12345678910111213141516

这下明白为什么默认参数只计算一次了吧,函数参数不传递时默认值总是指向固定的内存空间,就是第一次计算的空间。

2.参数传递

def func(a, b):

print('a=%d, b=%d' % (a,b) )12

在使用函数时可以如下方式,结果都是相同的

func(10,20) #不使用参数名,需要按参数顺序传递func(a=10,b=20) #使用参数名可以不按顺序传递func(b=20,a=10)#结果:a=10, b=20a=10, b=20a=10, b=201234567

如果函数定义形式如下方式:

def func(*args): #这种定义会把传递的参数包成元组

print(args,type(args))

func(10,20)#结果:#(10, 20) class 'tuple'1234567

举一个和上述过程相反的例子:

def func(a,b):

print('a=%d, b=%d' % (a,b) )

a = (10, 20)

func(*a) #在调用函数使用`*`则会把元组解包成单个变量按顺序传入函数#结果:a=10, b=20123456

总结:*号在定义函数参数时,传入函数的参数会转换成元组,如果 *号在调用时则会把元组解包成单个元素。

另一种定义:

def func(**kw):#使用**定义参数会把传入参数包装成字典dict

print(kw, type(kw) )

func(a=10,b=20)#这种函数在使用时必须指定参数值,使用key=value这种形式#结果:{'b': 20, 'a': 10} class 'dict'12345

相反的例子:

def func(a,b):

print('a=%d, b=%d' % (a,b) )

d = {'a':10, 'b':20 }

func(**d) #在调用时使用**会把字典解包成变量传入函数。12345

def func(*args, **kw):#这种形式的定义代表可以接受任意类型的参数

print(args,kw )12

总结:**号在定义函数参数时,传入函数的参数会转换成字典,如果 **号在调用时则会把字典解包成单个元素。

lambda表达式

lambda表达式就是一种简单的函数

形如 f = lambda 参数1,参数2: 返回的计算值

例如:

add = lambda x,y: x+y

print(add(1,2))'''

结果:3

'''12345

python怎么把sleep()封装成公共函数方法

首先呢,sleep就是一个函数,

# 使用方法

import time

time.sleep(1) # 睡眠1s种

当然你要二次封装也没有问题

import time

def diy_sleep(times=3)  # 你可以传参也可以不传参,默认是休眠3s

time.sleep(times)

这样 你就可以直接应用diy_sleep()函数

Python中range()函数的用法

此刻的心情:

2018年五一后入职新公司做项目实施,一直忙碌着公司的项目;国庆后更是被调到东莞支援项目,工作时间真的成了996了,唯一休息的一天也懒的出去。看看电影、洗洗衣服、与小棉袄视频下、学习学习Python也还挺有趣,也很充实。

Python中range()函数的用法

1、函数原型:range(start, end, scan):

参数含义:

start:计数从start开始。默认是从0开始。

例如range(5)等价于range(0, 5); end:技术到end结束,但不包括end.

例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1。

例如:range(0, 5) 等价于 range(0, 5, 1)

2、python中的range()函数的功能很强大,所以我觉得很有必要和大家分享一下,就好像其API中所描述的:

If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates arithmetic progressions

--有道翻译的结果:如果确实需要迭代一组数字,那么内置函数range()就派上用场了。它生成算术级数。

3、实例调用 

#r如果你需要遍历一个数字序列,可以使用内置函数range()

#1、下面遍历一个列表

the_count=[1,2,3,4,5,6]

for number in the_count:

print("this is count %d" % number)

print("--------------------")

#2、遍历一个混合列表

list=[1,2,3,4,"zll",5,6,"hello",7,8.9]

for i in range(len(list)):

print (list[i],end="、")

print("\n--------------------")

#3、用range()函数生成一个列表

for i in range(5):

print(i,end="、")

print("\n--------------------")

#4、range(10),其中参数10代表:从0到10的一个序列,当然不包含10

print("range(10)表示:" ,range(10))

listA=[i for i in range(10)] print(listA)

print("--------------------")

#5、我们也可以自定义起始点和结束点 #我们定义了一个从5开始的起始点,到100结束的结束点

print("range(5,100)表示",range(5,100))

listB=[i for i in range(5,100)]

print(listB) print("--------------------")

#6、定义了这些后,我们还可以定义步长 #我们定义一个从1开始到30结束,步长为3的列表

print('range(1,30,3)表示:',range(1,30,3))

listC = [i for i in range(1,30,3)]

print(listC)

4、自己运行试试结果哦...


网站标题:python中公共函数,Python基础函数
网站网址:http://cqcxhl.com/article/hcehcj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP