day3-Python集合、函数、文件操作,python包的概念

时间:2023-03-08 21:37:26

本节大纲:

day3-Python集合、函数、文件操作,python包的概念

1 python程序由包(package)、模块(module)和函数组成。包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。

2 包就是一个完成特定任务的工具箱。

3 包必须含有一个__init__.py文件,它用于标识当前文件夹是一个包。

4 python的程序是由一个个模块组成的。模块把一组相关的函数或代码组织到一个文件中,一个文件即是一个模块。模块由代码、函数和类组成。导入模块使用import语句。

5 包的作用是实现程序的重用

一:在执行list()函数或者dict()函数首先是调用list()函数或者dict()方法会自动调用该函数的__init__方法进行数据的初始化,list()函数通过一个可迭代的对象,用for循环进行遍历插值。

 list_test=list((,,,))
print(list_test)
[, , ]

上述的过程:首先list()函数调用本身的__init__方法进行数据的初始化,通过for循环,把元组(1,2,3,) 遍历插入列表[1,2,3,]

二:集合

集合是无序数据类型,元素不可以重合。如果集合内元素重复会自动去重。用大括号表示和字典表示一样,字典是无序的数据类型,但是key-value的映射。

 set_a=set([1,2,2,3,])
print(set_a) {1, 2, 3}

可以通过内部函数set()对集合进行转换。字典、字符串、列表都可以转换成集合。

 set_b=set({'name':'evil',})
set_c=set('evil')
set_d=set([1,2,3,])
print(set_b,set_c,set_d) {'name'} {'i', 'l', 'e', 'v'} {1, 2, 3}

1、操作集合

 1)add()函数。添加元素给集合。

 s_tets=set()
s_tets.add(456)
s_tets.add(456)
s_tets.add(456)
print(s_tets)
{456}

应用场景:爬虫。在返回url保存的时候可以用集合操作,默认去除重复的元素。

2)difference()函数。比如a.difference(b)表示a存在元素b不存在元素。但是a和b本身的集合不发生改变。

 s1_testa={1,2,3,}
s2_testb={2,5,6,}
print(s1_testa.difference(s2_testb))
print(s2_testb.difference(s1_testa))
print(s2_testb,s1_testa) {1, 3}
{5, 6}
{2, 5, 6} {1, 2, 3}
3、symmetric_difference()函数,比如a.symmetric_difference(b)表示a和b集合去掉交集部分的结合。并不能改变集合a和b的值。
s1_testa={1,2,3,}
s2_testb={2,5,6,}
print(s1_testa.symmetric_difference(s2_testb))
print(s2_testb,s1_testa)
{1, 3, 5, 6}
{2, 5, 6} {1, 2, 3}
3)上述的操作不能修改原集合的值。如果想修改原集合的值。用如下函数:a.difference_update(b)函数。会修改集合a的值。b值不变。a值会变成。a存在的元素且b不存在的元素的值。
 set_a={1,2,3,4,}
set_b={'c',6,3,5,}
set_a.difference_update(set_b)
print(set_a)
print(set_b)
{1, 2, 4}
{'c', 3, 5, 6}
4)同样a.symmetric_difference_update(b)函数也会修改a的值,使a的值变为,a、b集合的去除公共元素的集合。
 set_a={1,2,3,4,}
set_b={'c',6,3,5,}
set_a.symmetric_difference_update(set_b)
print(set_a)
print(set_b)
{1, 2, 4, 5, 6, 'c'}
{3, 5, 6, 'c'}

5)删除集合指定元素。discard()函数。如果该元素不存在不会报错。

 set_a={1,2,3,4,}
set_a.discard(1)
print(set_a)
set_a.discard(111)
print(set_a)
{2, 3, 4}
{2, 3, 4}

同样也可以用remove()函数,但是不存在元素会报错。KeyError: 111

 set_a={1,2,3,4,}
set_a.remove(111)
print(set_a)
set_a.remove(111)
KeyError: 111 set_a={1,2,3,4,}
set_a.remove(4)
print(set_a)
{1, 2, 3}

也可以用pop()函数删除元素。但是随即删除一个元素。

 set_a={1,2,3,4,5,6,7,8}
set_a.pop()
print(set_a) {2, 3, 4, 5, 6, 7, 8}

6)批量添加元素。用update()函数。通过for循环对迭代的对象(比如说列表,字符串,字典的keys以及字典的value值),进行add()操作添加。

 1 set_a=set()
2 list_a=[1,2,3,4,5,4]
3 set_a.update(list_a)
4 print(set_a)
5 {1, 2, 3, 4, 5} set_a=set()
set_b=set()
list_a={'name':'evil','age':22}
list_b={'name':'evil','age':22}
set_a.update(list_a)##默认对key值进行迭代。
print(set_a)
set_b.update(list_b.values())
print(set_b)
{'name', 'age'}
{'evil', 22}

7)当我们在执行一些列表或者其他操作的时候,会调用list()函数的一些方法。比如:

 list_a=[1,2,3] ##调用list的__init__方法
print(list_a[0])##调用list的__getitem__方法
list_a[0]=44##调用list的__setitem__方法
del list_a[2]##调用list的__delitem__方法

8)在写列表或者字典、集合、元组的时候,进行最后元素加个逗号,在以后django学习的过程中不加逗号有时候会报错。

 list_a=[1,2,3,]
dict_a={'a':2,'b':3,}
tuple_a=(1,2,3,)
9)集合的并集、交集。

aaarticlea/png;base64,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" alt="" />

交集函数:a.intersection(b)和a.intersection_update(b)前一个函数不改变原先集合(a,b)的值,后一个更新被交集的集合(a)。

 s1_testa={1,2,3,}
s2_testb={2,5,6,}
s3=s1_testa.intersection(s2_testb)
print(s3,s1_testa,s2_testb)
{2} {1, 2, 3} {2, 5, 6}
s1_testa={1,2,3,}
s2_testb={2,5,6,}
s1_testa.intersection_update(s2_testb)
print(s1_testa,s2_testb)
{2} {2, 5, 6}

并集函数:a.union(b)

 s1_testa={1,2,3,}
s2_testb={2,5,6,}
s3=s1_testa.union(s2_testb)
print(s3,s1_testa,s2_testb)
{1, 2, 3, 5, 6} {1, 2, 3} {2, 5, 6}

10)练习:

在cmdb日常资产管理的时候,日常服务器检测硬件信息收集中,如果一个服务器4个内存插槽,#1、#2、#4插槽分别插,4G、8G、16G。如果现在变化#1插槽变为16G,#2不变,3#插槽插4G的,#4不插。该如何更新信息呢?

1、该删除那个元素?

2、该更新那个元素?

3、那个元素变了,需要更新?

 dict_old={
'#1':4,
'#2':8,
'#4':16,
}
dict_new={
'#1':4,
'#2':8,
'#3':4,
}

答案:

 1 set_old=set(dict_old.keys())##生成keys值得集合
2 set_new=set(dict_new.keys())
3 del_item=set_old.difference(set_new)##old有的new没有的
4 print('delete item %s'%del_item)
5 up_item=set_new.difference(set_old)##new有的old没有
6 print('add item %s'%up_item)
7 a=set_old.intersection(set_new)## old和new的集合
8 for i in a:
9 if dict_new[i]!=dict_old[i]:
10 print('update item: %s'%i)##交集的元素value值不相当,需要更新的。

三:函数:函数组成:

def functionname(parameter):###由关键字def进行定义,然后函数名字(functionname)和函数参数。

#function description ###函数的描述,作用;参数作用;

function body ##函数体,执行代码

 return value## 函数返回值。缺省值是None。

以下是发邮件代码:

 def sendmail():
try:
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
msg = MIMEText('邮件内容', 'plain', 'utf-8')
msg['From'] = formataddr(["xxx",'xx@126.com'])
msg['To'] = formataddr(["走人",'xx@qq.com'])
msg['Subject'] = "主题" server = smtplib.SMTP("smtp.126.com", 25)
server.login("username", "password")
server.sendmail('xxx@126.com', ['xxx@qq.com',], msg.as_string())
server.quit()
except:
# 发送失败
return "失败"
else:
# 发送成功
return "cc" ret = sendmail()
print(ret)
if ret == "cc":
print('发送成功')
else:
print("发送失败")

执行顺序:

aaarticlea/png;base64,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" alt="" />

 python在执行py文件的时候从上到下依次执行。上面的sendmail.py文件,首先执行1:定义一个函数sendmail() 并不执行函数体。而是往下执行,遇到函数依然这样执行,首先让解释器知道定义这个函数,到第2部分的时候,也就是函数的调用部分的时候,
解释器会跳到该程序sendmail()函数部分,并给sendmail的形参传入相应的参数值。执行函数体,也就是标记的3部分。当函数体执行完之后,返回函数值赋值给ret值。然后程序往下执行,第4部分。
1)函数一旦执行return语句的时候,函数立即终止。不会执行函数体下面的代码。
 def  test():
print(1+1)
return True
print(222) if __name__=='__main__':
test()
2

2)函数的参数:
1、普通参数(严格按照顺序,讲实际参数赋值给形式参数)
2、默认参数(必须放置在参数列表的最后)
3、指定参数(将实际参数赋值给指定形式参数)
4、动态参数:
  * 默认传入的参数。全部放在元组中。
  ** 默认传入的参数。全部放在字典中。
1、有限的形参。
 def mon(x,y):###其中x,y是形参。
a=x+y
return a
res=mon(1,2)##给函数mon()传入实参。并执行函数体a=1+2 并返回a的值。赋值给res
print(res)
3

执行顺序:
aaarticlea/png;base64,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" alt="" />
1)首先读取程序定义函数mon()部分。
2)然后执行mon(1,2)函数调用部分并给函数mon(x,y)的形参传入实参(1,2)再执行3部分的函数体,执行函数体并函数返回a的值 。
3)返回a的值 并赋值给res变量,这是执行第4步。
4)然后执行第5部分打印输出res变量。

需要注意的是:

1)在有限的形参的函数,在给传入实参的时候,实参的个数和形参的个数必须一致。

2)实参和形参 是一一对应的。如果没有默认参数的情况下,数目必须一致。

否则会报错:TypeError: mon() missing 1 required positional argument: 'y'。

2、默认参数:

在函数的定义的过程中,可以给形参定义缺省值。如果该形参没有传入实参的时候会用缺省值。如果传入的实参个数和形参的个数一致的时候,不会使用缺省值。

 def mon(x,y=9):
a=x+y
return a
res=mon(1)
res1=mon(1,4)
print(res)
print(res1)
10
5

默认情况未指定实参数位置,实参传入会从左到右 一次匹配形参。如果你指定默认参数位置的时候,未指定参数按默认形式匹配,指定的参数会按指定匹配。如下所示。

 def mn(a,b=2,c=2):
SUM=a+b+c
return SUM res=mn(1,2)
res1=mn(1)
res2=mn(1,c=3)####默认是从形参的开头从左到右一次匹配。
print(res,res1,res2) 5 5 6

需要注意:

默认参数的位置必须在最后,比如上面的 不可以这么写:def mon(y=9,x)这样会报错!!

3)指定参数:

当我们用形参的时候,在传入实参的时候不指定位置的时候,会依次对应。如果在传入实参的指定参数的时候,实参的位置的可以无序的。比如:

 def mon(x,y=9):
a=x+y
return a
res=mon(x=1)
res1=mon(x=1,y=4)
res2=mon(y=2,x=4)
print(res)
print(res1)
print(res2)
10
5
6

4)不固定参数。*args

 def mn(*args):
print(args,type(args))
mn(1,2,3,4,)
mn([1,2,3,4,]) def mn_1(args):
print(args,type(args))
mn_1([1,2,3,]) (1, 2, 3, 4) <class 'tuple'>
([1, 2, 3, 4],) <class 'tuple'>
[1, 2, 3] <class 'list'>

如果想传入的参数是字典。该怎么办呢???

 def mn(*args):
return args dic={'a':2,'b':3}
res=mn(*dic)
print(res) ('b', 'a') ###这种情况 只能传入字典的key值 形式元组。

同样如果这么处理的话,传入的列表。不在是由传入列表组成的元组。而是把列表中的元素 变为元组的元素。

 def mn(*args):
return args 4 list_1=[1,2,3,4,]####传入的是列表的实参 直接转成元组的。而不是([1,2,3,4,])
5 res=mn(*list_1)
print(res) (1, 2, 3, 4)

也就是说,在形参不带*和不带*区别:

  1)args:不带*的参数,在传入实参的时候 ,传入的实参的个数也是一个。需要数目一致。传入的实参的数据类型是什么,赋值之后数据类型就不会改变。

  2)*args:带*的参数,在传入实参的时候,实参的个数可以是一个,多个。没有个数的限制。但是传入的实参,最后赋值之后,会形式一个元组形式的元素组成,,无论你传入是字符串、数字、列表还是字典。元素保持传入实参的数据类型,比如是列表,传入时候元组是由列表元素组成。

 def mn(*args):
print(args,type(args))
mn(1,2,3,4,)
mn([1,2,3,4,],2)
mn({
'name':'evil',
'age':22,
}) (1, 2, 3, 4) <class 'tuple'>
([1, 2, 3, 4], 2) <class 'tuple'>
({'age': 22, 'name': 'evil'},) <class 'tuple'>
5)带**形参形式。
这种形式的参数必须要传入这种形式的:key=value。否则报错。形参赋值之后是由元素的组成的字典。
 def mk(**args):
return args res=mk(a=2,)
res1=mk(op={
'age':21,
'name':'tom',
})
print(res,type(res))
print(res1,type(res1))
{'a': 2} <class 'dict'>
{'op': {'name': 'tom', 'age': 21}} <class 'dict'>

如果传入的实参是字典,不是key=value  该如何处理呢???

 def mn(**kwargs):
return kwargs dic={'a':2,'b':3}
res=mn(**dic)#####需要注意进行调用的时候进行**形式进行形参的赋值。
print(res) {'a': 2, 'b': 3}

6)万能参数:(格式*在**前面)

 def mn(*args,**kwargs):
return args
def mn1(*args,**kwargs):
return kwargs res=mn(1,2,3,)
print(res,type(res))
res_1=mn1(a=2)
print(res_1,type(res_1)) (1, 2, 3) <class 'tuple'>
{'a': 2} <class 'dict'>

也就说,当形参:(*args,**kwargs)形式的时候,当传递参数不固定的字符串、列表、字典等,则赋值给形参args并形成一个元组。而传递实参是key=value形式的时候,则赋值给:kwargs 形成一个字典。

我们称这种形参方式叫做万能参数(自己称呼)。

 def mn(*args,**kwargs):
print(args)
print(kwargs) res=mn(1,2,3,a=2,c=3,) (1, 2, 3)
{'c': 3, 'a': 2}

也就是说:

aaarticlea/png;base64,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" alt="" />

按上图的所示进行实参的赋值。

3)format()函数字--符串的初始化:

2种形式:

1、

 name='evil'
age=''
id=1318
pre='''
This is %s information:
NAME:%s
AGE:%s
ID:%s
'''%(name,name,age,id)
print(pre) this is evil information:
NAME:evil
AGE:22
ID:1318

2:用formate()函数进行初始化。如上的例子修改为:

 name='evil'
age=''
id=1318
pre='''
This is {0} information:
NAME:{1}
AGE:{2}
ID:{3}
'''.format(name,name,age,id)
print(pre) This is evil information:
NAME:evil
AGE:22
ID:1318

其中有{num}比如上面的{0},{1}....是占位符。与后面的变量的依次对应。

需要注意的是其中0,1,2,3的数字对应后面的变量(name,name,age,id)所形成的元组的索引或者是字典的key值。不能随便修改成下面。会报错的或者显示的效果不是我们想要的。

 name='evil'
age=''
id=1318
pre='''
This is {1} information:
NAME:{2}
AGE:{2}
ID:{3}
'''.format(name,name,age,id)
print(pre) This is evil information:
NAME:22
AGE:22
ID:1318

或者报错:

name='evil'
age=''
id=1318
pre='''
This is {1} information:
NAME:{2}
AGE:{2}
ID:{4}
'''.format(name,name,age,id)
print(pre) Traceback (most recent call last):
File "C:/xx", line 9, in <module>
'''.format(name,name,age,id)
IndexError: tuple index out of range

format()函数结构:

aaarticlea/png;base64,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" alt="" />

所以根据可以传递列表、key=value形式:

 info=['evil',22]
print('my name is {0} and age is {1}'.format(*info)) my name is evil and age is 22

用*info形式的进行传入实参。列表info会转换成('evil',22)的元组。然后进行索引的对应。

 info={'name':'evil','age':22}
print('my name is {name} and age is {age}'.format(**info)) my name is evil and age is 22

注意这种形式实参传入,其中的占位符是字典的key值,而不是索引!!! 传入的是字典不是元组了。也就是用format()函数的**kwargs参数。

aaarticlea/png;base64,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" alt="" />

4)关于函数的返回值。

一个函数的返回值是任意的可以是一个列表、一个字典、一个布尔值、数字、或者没有返回值。没有返回值的情况,缺省值是None。

返回值布尔值:如下简单登陆验证。

 dic_a={
'name':'evil',
'password':'',
}
def login(username,password):
if username==dic_a['name'] and password==dic_a['password']:
return True
else:
return False
if __name__=='__main__':
user=input('Entre your username:')
paswd=input('password:')
res=login(user,paswd)
if res:
print('Welcome to python')
else:
print('sorry login fail bye!') Entre your username:evil
password:22
Welcome to python

返回值列表:

 def chek():
user=input('entre your username:')
age=input('entre your age:')
addr=input('entre your adrr:')
return [user,age,addr]
if __name__=='__main__':
res=chek()
print('name:{0} age:{1},addr:{2}'.format(*res)) entre your username:tom
entre your age:22
entre your adrr:LianoNing
name:tom age:22,addr:LianoNing

返回值字典:

 def chek():
user=input('entre your username:')
age=input('entre your age:')
addr=input('entre your adrr:')
return {
'name':user,
'age':age,
'addr':addr
}
if __name__=='__main__':
res=chek()
print('name:{name} age:{age},addr:{addr}'.format(**res)) entre your username:evil
entre your age:22
entre your adrr:;LiaoNing
name:evil age:22,addr:;LiaoNing

没有返回值:

 def mn(x,y):
a=x+y res=mn(1,2)
print(res)
None

5)相同函数名字执行顺序:

 def mn(x,y):
a=x+y
return a
def mn(x,y):
a=x*y
return a
res=mn(1,2)
print(res)
2

相同的名字的函数,执行 临近函数调用最近的函数定义,如上。

6)函数传入给给形参的引用,形参引用实参,而不是内存中重新开辟一个值,赋给形参。

 def mn(x):
x.append(999)
list_1=[1,2,3,4]
mn(list_1)
print(list_1) [1, 2, 3, 4, 999]

当x进行操作的时候,添加元素999的时候,会更新list_1.

aaarticlea/png;base64,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" alt="" />

7)函数的变量:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR8AAADSCAIAAAD8NFPEAAAJcUlEQVR4nO2dS5KjvBJGtS4WpPVoNZregSe9BxbwL0N3wEMCY5xJkUjgc+KL6GoXJWSUx8mjotslALDB1Z4AwGPBLgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKx4rF0OHk3t+hJxj1nKmY/+v//9Rx6cW2jW9ORUINVvpmXHGp2WFrz68bQpWItzUkHLIkMaFKy5CanAK1KmNcHamo0W7CKrNCVYQ1PRglpkM+0I1so8tKAW2UkjgjUxiQNgF9kJdh0HtcjXtCBY/RkcALvI12DXQbCLfA12HQG1iDDVBcMu8thglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJglxrsIsJgl5oft8udTfV3ZHqsKtdq3d0f4NkFUVbGJq+zebB12KXmGQv/XgfWFv3duupH6cBRrVyrdXd/gDsu81edaqsk4namYZeauyztA3Ta4RZtDbvUNLuW+1LV1sGWNjXDLjWtLeEvS/VOU5phl5pGVg6p9mlBM+xS06ZdSPWJio5hl5qm7KJZCanSyrBLTTt2IdUBrnQMu9S0YBf96o9cs4jYpab6hTJencIFTQy71FS0C69Ox3Q1sUtNxRtQtUvxmdgtKHapud4uzgatMTpLxC4119/VrV17v8LpK4tdaq60C7Uu5tzFxS412PVgsKsyVz6LrF1sv8iJ64tdai57EFkueR8694Eu9K/XK/Whcz72oXPjHz6mFL1zzsc0jzO8NPzINKyPKb1kjCNOY/ahc64L/frHp82+jJyGd+Xj+7fG3Wyytf25nLXE2KWmil0rpvLNlZ366DvnQ+ic89471/nYT3IVdi19k9tVlLuP45GY5Upv23wUY+djovywmGe+ZHz5mDNysKsa1e3a/Mh/r9rBtEXZTuXpP2hQdrmN/aZZxoHtWp/71n4F58HGbrrYNb3rFLDru1pjIYaxHOfP9ejHNhX6lNJY/PNnfj45y1IsWsKqHe0X3LrcfZyHXUw1fW5OkxVjz/O+tMv7rtS7bu96nSQYdqmpZddYgV0Ifu5MQxfqQj9UdRfiurbL5lAIl1KKfqpw7790rcU05pqP/l3LpeAz2Yo4TTgPNk9veun7GWZxOmoEdtWhWu+KKZWtIXeoLvQp+lygPqY+hBB817ku9ItTMFd0sVFGH6OX1Gsu+vcRUnrN54Sf0PScmFtyvrqb394BW7RgVx0q2tXnfvXWl1Ja/SXFGEI39rqxb3RdMVAh3uJG4ib9+iIu+KIHTbcipiE/967XnoS5E9a97nphVy1q2dV13dSm3HT3LRf5WzkW51rTPYM+xuBnPRdXZJ/urc/kiyMfo5/23qdlb0mS6678jvIHwfpGCL3rFLBLYVe+JCndGUtveflSluP6boGb7yLI20KKoTjHTFmuUY3ZlNy78s9u3Y3I241XlfnUNH05xdz7FDiFs5YYu9RcYNdKsPWd8JJ8xyIWz5LGWi/uxo0VGf2iylVPk4tWt1H9yxuXS7s+PDXOo3y+6nt/qnYB2FWNWnbtf5bHfDFWbO3jq7DidZZdyydUW91yHLOc+NA/Sy/njrp4g+vndJ/esaFs2FWNa+z6x+8ZVuLE9cUuNZfZhWDXc+7iYpca7How2FWZK+1CsCs5fWWxS83Fdv3j39WwZzjCFgtXuVbr7v4A19s1L1XtInwmdguKXWpq2YVgFpiuJnapqWjXP84Sz8PobBC7/kRdu3DsFK5ZROxS04JdOHaYC1oWdh2nHbtwTM78S1QXL03lWq27+wO0ZheO7XO9VNh1nDbtKh1Dsxf/b/JQq3V3f4CW7UKzFqTCruM0snJoVtKUVNh1nNaWUKvZM2RbvZ3qhxe7zqHZtXy8bO3rhF1/5S5L+xfZqvv2Pp87HnbsUnPHZT5WGZ+wtugxRxi71Dxm7f9SNGdR/b1YH6jKtVp39wd4fE2Qs4JdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdarCLCINdau5rV0rRO+dcF/q0+tbwjW260KfF9qkPnXPOx/dd7I2ztf2zg11qbmrXpNa2MNE753xcv9c+dOPGg1A7dKH/PM74cvWDcHGwS80d7ZrV8nHx5bzB196V6UOXx1m3QXpXGexSczu7prZTWFK8NGzzoecsGTqZ96Vd3g8niWl3HHpXHbDLNmMz6bq3E7tRjKHo93qOcz4OfnShn6+5cu+aX9ofZBa8+jG5LNil5l52lSmvo5Z8en3uOtKDMxu3HHM8m6x+BC4Odql5sl3L7tOFfmHXx96U7eO6qwx2qbmdXTslP2kxOZRbz/TVqnet9BxGLlobvasMdqm5nV1zPvau+eX93pW3dT5OXy1G27/y2njO9uxgl5rn2ZVffbvJvvkD2aHNS7W3Uau/8VrBriPcSLAv7cQ5H1Mfug/Pl7NC5TDz/ffFM2Yfvj1w/i3ZqquVsIs8Ndh1EOwiX4Ndx0EwspMW1ErYRR4Z7PorCEY204ha6dZ2JQQjb2lHrYRd5ElpSq10d7tSSsODnOrrSqqnNbXSA+waQLAfT4NqpcfYlWhiv5ph3WtX3zaNTusw8y/9VF91Ypp5oWtX3B5NT+4vfPuVO7g3tetLxD1mCXBHsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsAK7AKzALgArsAvACuwCsOL/rksgQmt3DJMAAAAASUVORK5CYII=" alt="" />

全局变量:所有作用域都可读。

对全局变量进行重新赋值,需要global

全局变量要大写。比如:NAME .....

私有变量:在函数里的变量是私有的,作用域只在函数体内。

全局变量作用域全局,如上所示。

私有变量:

 def sum(x,y):
a=2
b=a+x+y
print(b)
return b
def a(x,y):
print(b)
sum(1,2)
a(1,2) NameError: global name 'b' is not defined
5

如果私有变量超出函数体的时候,别的函数调用这个变量会出现错误。如上所示。

可以把私有变量变为全局变量,如下所示:

 def sum(x,y):
a=2
global b
b=a+x+y
print(b)
return b
def a(x,y):
print(b)
sum(1,2)
a(1,2)
5
5

注意:global 变量名,变量名赋值。这种写法,不要:先变量名,然后global 变量。这样会抛出一个warning 异常。

 def sum(x,y):
a=2
b=a+x+y
global b
print(b)
return b
def a(x,y):
print(b)
sum(1,2)
a(1,2) SyntaxWarning: name 'b' is assigned to before global declaration global b
5
5

aaarticlea/png;base64,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" alt="" />

8)函数的注释:

注释:包括函数的功能。参数的说明。以及返回值的说明。好的description帮助别人能快速了解你的代码。

 USER_INFO={
'name':'evil',
'age':'',
}
def login(username,password):
'''
用户登录
:param username:用户名字
:param password:用户密码
:return:True表示登录成功,False表示登录失败。
'''
if username==USER_INFO['name'] and password==USER_INFO['age']:
return True
else:
return False if __name__=='__main__':
user=input('Entre your login:')
paswd=input('Entre your password:')
res=login(user,paswd)
if res:
print('Welcome to Python!!')
else:
print('sorry login fail!!')
Entre your login:evil
Entre your password:22
Welcome to Python!!

9)三元运算(是针对if else来说)

我们常用的:

 if 1==1:
a=2
print(a)
else:
a=3
print(a)
2

用三元运算可以这么写:

 a=2 if 1==1 else 3
print(a)
2

lamdba表达式:

 sum=lambda x,y:x+y
print(sum(1,2))
3

aaarticlea/png;base64,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" alt="" />

之前的写法:

 def sum(x,y):
return x+y
print(sum(1,2)) 3

lamdba 是适用于简单的运算和判断,不适用于复杂的判断逻辑。

10)常用函数:

1:all()当所有元素为真才为真。

2:any()至少其中一个元素为真才为真。

 m=all([1,2,3,4,])
print(m)
n=any([None,False])
print(n) True
False
 m=all([1,2,3,0,])
print(m)
n=any([None,True])
print(n)
False
True

3:abs() 求绝对值:

 print(abs(-))
 

3:bool() 求布尔值。

 print(bool())
True

4:bytes()字符串转换字节。需要指定转换编码比如:utf-8 ,gbk.

 a='evil'
print(bytes(a,encoding='utf-8'))
b='汉武帝'
print(bytes(b,encoding='utf-8'))
b'evil'
b'\xe6\xb1\x89\xe6\xad\xa6\xe5\xb8\x9d'

那字节怎么转换成字符串呢?同样用str()函数。但是必须指定相应的编码才可以哦。不正确的编码会报错哦。

 print(str(b'\xe6\xb1\x89\xe6\xad\xa6\xe5\xb8\x9d',encoding='utf8'))

 汉武帝

11)文件操作:

 操作文件时候需要2个步骤:1)打开文件。2)操作文件。
1:打开文件模式有:
 f=open('haproxy','r',encoding='utf-8')##以只读模式,以utf-8编码打开文件
f1=open('haproxy','w',encoding='utf-8')##以写模式,以utf-8编码打开文件,如果文件存在则直接清空,如果没有则创建。
f2=open('haproxy','x',encoding='utf-8')##在python3中新加的,文件存在报错,不存在则创建并写入内容。
f3=open('haproxy','a',encoding='utf-8')###文件追加内容。
r+,w+,a+表示既可读也可以写。
'b'模式以二进制形式打开文件。rb,wb,ab.
如果平时open打开文件是乱码,一般是编码有问题。现在一般使用编码utf-8编码。
注意:在使用open()函数打开文件的时候,在文件操作完毕的时候需要把文件句柄关闭即:
 f=open('xxx','mod',encoding='xx')
xxxxx
f.close()

 由于这么操作的时候容易忘记关闭文件句柄。用with   as  函数来管理上下文件。文件操作完毕自动关闭文件。
 with open('haproxy.txt','r',encoding='utf-8') as file_obj:
pass

在python2.7以后with函数可以同时操作多个文件。最常用的操作就是:一个文件在读,一个文件在写。
 with open(1.txt','r',encoding='utf-8') as file_obj,open('1.back','w',encoding='utf-8')as file_obj1:
for i in file_obj.readlines():
i.replace('evil','tom')
file_obj1.write(i)
2:操作文件:
文件在硬盘以2进制存储,默认情况当python在以(r+,w+,a+等模式)读的时候,在不指定编码的时候,以pytho解释器默认编码,编码成字符串,供程序员进行读写。
如果以rb,wb,ab方式是不用python默认编码,直接以字节方式进行访问,存储的方式2进制,所以要把字符串写入文件,需要把字符串转化成字节才能写入。
1)常用的操作文件的函数。
file.fulsh(),强制把内存的内容刷进硬盘。
实验:
用input()交互方式,在等待用输入的时候,看文件是否内容。
 with open('test.txt','a') as f1:
f1.write('this is test!')
dengdai=input('entre your NUM:')
运行该程序,查看文件。文件缓存区的内容没有写入磁盘内,加上file.fulsh(),我们在看下。

day3-Python集合、函数、文件操作,python包的概念

 with open('test.txt','a') as f1:
f1.write('this is test!')
f1.flush()
dengdai=input('entre your NUM:')

day3-Python集合、函数、文件操作,python包的概念

发现文件句柄没释放,已经把文件内容写入文件里。
2) file.read()在指定字节大小,可以读指定字节,在没指定,读取文件整个内容。
 with open('test.txt','r') as f1:
for i in f1.read():
print(i) t

文件内容:
1111this is test!
3)file.readline()仅读取文件一个行。
 with open('test.txt','r') as f1:
for i in f1.readline():
print(i)

4)file.readlines()读取文件,一行为单位,并根据换行来保存值列表,这个函数很常用。
 with open('test.txt','r') as f1:
for i in f1.readlines():
print(i) 1111this is test!
5)file.seek()指定文件指定到指定位置(字节)。
 with open('test.txt','r') as f1:
f1.seek()
for i in f1.readlines():
print(i) this is test!
文件内容:1111this is test!
将文件指针移到第四个字节。然后操作读。
6)file.tell()获取文件当前指针。
 with open('test.txt','r') as f1:
f1.seek()
for i in f1.readlines():
print(i)
print(f1.tell()) this is test!

因为文件读完,文件指针在文件的末尾。
7)file.truncate (),根据文件指针位置,在文件指针位置以后被清空。
 with open('test.txt','r+') as f1:
f1.seek()
f1.truncate()

上述文件内容,指定文件指针位置,文件指针位置以后都清除。
8)file.write()写数据,有b按字节写入,没指定按字符串写入。
 with open('test.txt','r+') as f1:
f1.seek()
f1.write('goodbye!')
1111goodbye!

9)需要注意,在读文件的时候,最好用如下方式进行读,这种方式是生成迭代器,效率较高。相比read(),readline(),readlines()
 with open('test.txt','r',encoding='utf-8') as f1:
for i in f1:
print(i)