python简说(九)函数

时间:2022-07-14 13:53:20

一.列表生成式

s =[1,2,3,4,5,6,7,8]
for i in s:
print(i+1)
res = [ i+1 for i in s]
res = [str(i) for i in s]

二.函数

1.基本概念

实现某个功能的一些代码。

提高代码的复用性。

函数必须被调用才会执行。

函数里面定义的变量:局部变量,只要一出了函数都不能用了

def hello():
  print('hello')
hello() #调用函数

2.return 的作用:

1、把函数处理的结果返回

2、结束函数,函数里面遇到return,函数立即结束

3.全局变量

list、字典、集合,不需要声明

字符串、int、float、元组 需要声明global

4.浅拷贝:两个变量指向的是同一块内存地址

深拷贝:是会开辟一个新的内存,存放数据,就是两块不同内存。

list不能remove,会出问题

5.传参方式

def mysql(host,user,password,port,charset,sql,db):

1. mysql('ip','user','sdfsdf',3306,'sdfsdf','select','db')

2.mysql(user='root',password='123456',host='192.168.1.3',port=3306,sql='sdfsdf',db='sdfsdf',charset='sdfsdf')

3.mysql('192.168.1.1','root',port=3306,password='sdfsdf')

4. def mysql2(ip,*args):

print(args)

mysql2('user',13345435,00000,'sefsd','sdfds')

5.def calc(a,b,c):

print(a+b)

return a+b

l = [1,2,3]

calc(*l)

6.关键字参数

def mysql(**mysql_info):

print(mysql_info)

mysql(header='sdfsdfsdf=sdfdsfs',file='/xx/xxx/a.txt')

7.def mysql(host,user,password,port,charset,sql,db):

print('连接mysql')
dic = {
'host':'192.168.1.1',
'user':'root',
'password':123456,
'port':3306,
'charset':'utf-8',
'sql':'sql',
'db':'db'
}
mysql(**dic)

总结:

参数类型:
1、必填参数,位置参数
2、默认值参数,非必传
3、可变参数,非必传,不限制参数个数,
比如说给多个人发邮件,发邮件的人数不确定
4、关键字参数,非必传,不限制参数个数
会把传过来的关键字参数,放到一个字典里面,传参的时候必须得用k=v这样子来传