python语言中param_四、python之函数详解一

本文详细介绍了Python函数的定义、调用及其各种参数类型,包括必填参数、默认值参数、可变参数和关键字参数。通过示例说明了如何使用`def`定义函数,如何传递和使用参数,以及如何利用`return`返回函数结果。同时,文章还讨论了全局变量和局部变量的区别,并提供了检查字符串是否为小数的函数示例。
摘要由CSDN通过智能技术生成

一、函数

1.说白了就是把一组代码合到一起,可以实现某种功能,需要再用到这种功能的话,直接调用这个函数就行

2.函数、方法是一回事

3.定义一个函数的格式是:def+函数名+()

4.函数必须调用了之后才能执行

eg:

my_open

fw = open('a.txt','a+')

fw.seek(0)

all_users = {} # 用来存放所有的用户名和密码

def read_users(file_name):#括号里面是形式参数,其实就是一个变量

#函数体

print(file_name)

with open(file_name) as fr:

for line in fr:

up = line.strip().split(',') # 分隔账号密码

# print('分隔完之后的账号密码',up)

s_username = up[0] # 账号

s_pwd = up[1] # 密码

all_users[s_username] = s_pwd

print('调用函数之前:',all_users)

read_users('a.txt')#调用函数传进去的参数叫做实际参数,简称实参

#函数名加上括号就是调用,函数需调用之后才能执行

print('调用函数之后:',all_users)

简单写

def hello(name):

#必填参数,位置参数

print('hello %s'%name)

hello('郑爽')

eg1:

def reg(name,age,sex='男'):

age、name必填参数,位置参数

sex是默认值参数,不是必传

print('hi %s,age is %s,sex is %s'%(name,age,sex))

reg('小迪',19,'nan')

eg2

5.*args#可变参数

eg:

def post(*args):

可变参数,也叫参数组,也不是必填的,它接收到的是一个元组

它把调用函数时穿进去的每一个参数都放到一个元组里

print(args)

post('001','denglu','http://www.baiudd.com','post','a=1')

post('001','denglu')

post('001','denglu','post')

post('001')

post()

def other(name,age,country='china',*args):

print(name)

print(age)

print(country)

print(args)

other('wubing','999')

eg:

def other(name,age,country='china',*args):

print(name)

print(age)

print(country)

print(args)

other('')

6.**kwargs,关键字参数,接收的是一个字典,调用得用xx=11

传入字典调用的时候就得写**{'age':18,'name':'xiaodi'}

d = {'age':18,'name':'xiaodi'}

def kw(**kwargs):

print(kwargs)

kw()

eg:

def other2(name,country='china',*args,**kwargs):

#如果必填参数、默认值参数、可变参数和关键字参数你要一起用的话,必须参照必填参数、默认值参数、可变参数和关键字参数的顺序接受,否则就报错

print(name)

print(country)

print(args)

print(kwargs)

other2('wubing')

other2('xiaodi','beijing','python','yin',user = 'ywq')

7.关键字参数调用

eg:

def write(filename,model,ending,user,os,money,other):

print(filename)

print(model)

print(ending)

print(user)

print(os)

print(money)

print(other)

write(os='windows',user='wubing',model='w',filename='a.txt',ending='utf-8',money=222,other='hahah')

8.函数的返回值

def plus(a,b):

return函数

1.调用碰到return,立即结束这个函数

2.调用完函数之后,返回计算的结果

3.函数可以没有返回值,如果没有返回值的话,默认返回none

4.如果这个函数的处理结果需要在别的地方用到,那就需要给函数返回值

5.如果函数return多个值得话,那么他会把多个值放到一个元祖里面去

c = a+b

return c

print(c)

plus(1,2)

eg:

score1 = 50

score2 = 90

def echo(sum):

print('总分是%s'%sum)

res = plus(score1,score2)

print(res)

echo(res)

lis = [5,2,6,44,77]

print(lis.sort)

9.小程序

#1、判断小数

# 1.92

# -1.988

def is_float(s):

'''

这个函数是用来判断传入的是否为小数,包括正小数和负小数

:param s: 传入一个字符串

:return: True or False

'''

s = str(s)

if s.count('.')==1:#判断小数点个数

sl = s.split('.')#按照小数点进行分割

left = sl[0]#小数点前面的

right = sl[1]#小数点后面的

if left.startswith('-') and left.count('-')==1 and right.isdigit():

lleft = left.split('-')[1]#按照-分割,然后取负号后面的数字

if lleft.isdigit():

return True

else:

return False

elif left.isdigit() and right.isdigit():

#判断是否为正小数

return True

else:

return False

10.全局变量和局部变量

# score3 = [1,2,3,4,5]

# score3 = {"id":1}

score3 = 100

def my_open():

#在函数里面定义变量叫局部变量,它只能在函数里面用

#出了该函数外,就不能使用了

#在函数外面定义的变量,是全局变量,在函数内也可以使用

#如果想在函数里面修改全局变量的值,那么要先用global关键字声明

#要修改全局变量是int、string的话,必须得写global

#如果是字典和list的话,要修改的话,不能加global

fw = open('a.txt','a+')

fw.seek(0)

print('score3',score3)

d={'id':2}

d['price']=99

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值