一、关于打开文件两种方式
"""第一种使用print进行输出,输出的目的地是文件"""
fp = open(r"D:\test.txt","w")
print("这是利用print输出",file = fp)
fp.close()
"""第二种 使用文件读写操作进行输出"""
with open(r"D:\aa.txt","w") as file:
file.write("这是利用with 进行输出的")
二、lambda函数和map函数
"""lambda"""
"""一 创建匿名函数"""
#正常写法
def sum_a_b1(a,b):
return a+b
print(sum_a_b1(10,20))
#lambda 写法
#默号前面是参数 默号后面是执行的逻辑
sum_a_b2 = lambda x,y : x+y
print(sum_a_b2(10,30))
"""二 和map函数共用"""
pingfang = lambda x:x**2
a=[1,2,3]
#map 会映射list中每一个值 做func 处理
#使用list处理成列表打印出
print(list(map(pingfang,a)))
三、数组 * 数字
a = [1,2]
print(a*2)
# 打印结果:
# [1,2,1,2]
# 在Python3中对于数组、字符串的 * 表示对原数组、字符串的复制,所以 a * 2 表示对列表a的复制,结果为 [1,2,1,2]
# 而且在Python3中字符串、列表和元组支持此种方法复制数据,字典和集合不行
四、除法在py2.0与py3.0区分
print(type(1/2))
# Python2 中除法默认向下取整,因此 1/2 = 0,为整型。
# Python3 中的除法为正常除法,会保留小数位,因此 1/2 = 0.5,为浮点型。
五、python的闭包操作
"""闭包操作
闭包;
函数内的属性,都是有生命周期的,都是在函数执行期间
内部函数 对外部函数 作用域里的变量 的引用
闭包内的闭包函数私有化了变量,完成了数据的封装,类似于面向对象
"""
# 例子1
def func(): #外部函数
a = 1 #外部函数作用域里的变量
print("func")
def func1(num): #内部函数
print("func1")
print(num+a)
return func1
var = func()
var(3)
#例子2
mylist = [1,2,3,4]
def a(mylist):
print("初始list:",mylist)
def b():
mylist[0]+=1
print("操作list:",mylist)
return b
c = a(mylist)
c()
c()
六、Python?的 replace函数用法
"""字符串的replace 方法,如果有2个参数表示将字符串中的某个字符替换成另外一个字符,如果有3个字符,
最后一个参数指的是:替换最大数,实例如下:
a = "hello"
print(a.replace('l','*',2)) 因为最后一个参数是2,所以,最大替换数为:2,所以结果为:he**o
"""
a = "helllo"
print(a.replace('l','*',2))
七、global声明
"""
当内部作用域想修改外部变量时,需要使用global声明。
"""
counter = 1
def doLotsOfStuff():
global counter
for i in (1, 2, 3):
counter += 1
doLotsOfStuff()
print(counter)
八、编码解码
"""
有一段python的编码程序如下,请问经过该编码的字符串的解码顺序是
urllib.quote(line.decode("gbk").encode("utf-16"))
题目中的代码是一个编码过程:
编码:decode()
解码:encode()
url编码:urllib.quote()
line.decode("gbk") 可知 line 是 gbk 编码的
编码过程:
line -> 解码 gbk -> 编码 utf-16 -> 编码 url
解码过程(与编码过程相反):
解码 url -> utf-16 -> gbk
"""
九、字符串的? find?与?index?区别
"""
find:找到返回第一个位置索引,找不到返回-1
index:找到返回第一个位置索引,找不到报ValueError
"""
strs = 'I like python'
one = strs.find('a')
print(one)
two = strs.index('a')
print(two)
十、
|