Python全栈之文件函数和函数参数

目录
  • 1. 文件相关函数
  • 2. 函数_函数的参数
    • 2.1 函数
    • 2.2 函数的参数
  • 3. 收集参数
  • 4. 命名关键字_总结
    • 小提示:
  • 5. 小练习
    • 练习问题:
    • 练习答案:
  • 总结

1. 文件相关函数

# ### 刷新缓冲区
"""
# 刷新缓冲区 flush
    # 当文件关闭的时候自动刷新缓冲区
    # 当整个程序运行结束的时候自动刷新缓冲区
    # 当缓冲区写满了  会自动刷新缓冲区
    # 手动刷新缓冲区
"""
"""
fp = open("ceshi1.txt",mode="a",encoding="utf-8")
fp.write("abc")
# 手动刷新缓冲区,直接把内容写入到文件
fp.flush()
while True:
	pass
fp.close()
"""
# ### 文件相关的函数
"""fp这个对象本身是迭代器,可以把文件中的内容按照换行一行一行遍历出来"""
"""
fp = open("ceshi1.txt",mode="r",encoding="utf-8")
#readable()	    功能: 判断文件对象是否可读
print(fp.readable())
#writable()	    功能: 判断文件对象是否可写
print(fp.writable())
# 遍历fp文件对象
for i in fp:
	print(i)
"""
# 1.readline()     功能: 读取一行文件内容
'''
with open("ceshi1.txt",mode="r",encoding="utf-8") as fp:
	res = fp.readline()
	print(res)
	res = fp.readline()
	print(res)
	res = fp.readline()
	print(res)
	res = fp.readline()
	print(res)
# (1)一次把所有内容都读取出来
with open("ceshi1.txt",mode="r",encoding="utf-8") as fp:
	# 先读取一行
	res = fp.readline()
	# 判断是不是空,不是空在循环
	while res:
		print(res)
		# 在读取一行,放到循环中判断.
		res = fp.readline()
# (2)注意点:readline(读取的字符数)
print("<====================>")
with open("ceshi1.txt",mode="r",encoding="utf-8") as fp:
	"""
	读取的字符数量 > 实际当前行字符数量的时候 => 按照当前行读取
	读取的字符数量 < 实际当前行字符数量的时候 => 按照实际数量来读
	"""
	res = fp.readline(300)
	print(res)
'''
print("<====================>")
# 2.readlines()    功能:将文件中的内容按照换行读取到列表当中
lst_new = []
with open("ceshi1.txt",mode="r+",encoding="utf-8") as fp:
	lst = fp.readlines()
	for i in lst:
		lst_new.append(i.strip())
print(lst_new)

# 3.writelines()   功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据
lst = ['床前明月光', '疑是地上霜', '举头望明月', '低头想家乡']
with open("ceshi2.txt",mode="w+",encoding="utf-8") as fp:
	fp.writelines(lst)
# ### 实现效果:加入换行效果,并且插入一句话:王文真帅呀 , 插在低头想家乡的前面
lst_new = []
# 先把内容插入到原列表中
lst.insert(-1,"王文真帅呀")
# 循环原列表,把每一个元素拼接\n , 放到新列表
for i in lst:
	lst_new.append(i + "\n")
print(lst_new)
# 把新列表中的每行内容插入到文件中
with open("ceshi2.txt",mode="w+",encoding="utf-8") as fp:
	fp.writelines(lst_new)
# 注意点,内容必须是字符串,不能是整型
"""
lst = [1,2,3]
with open("ceshi2.txt",mode="w+",encoding="utf-8") as fp:
	fp.writelines(lst)
"""
# 4.truncate()     功能: 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节)
with open("ceshi2.txt",mode="r+",encoding="utf-8") as fp:
	fp.truncate(3)

"""
seek(字节)
truncate(字节)
read(字符/字节)
readline(字符/字节)
"""

2. 函数_函数的参数

2.1 函数

# ### 函数
"""
概念:功能 (包裹一部分代码 实现某一个功能 达成某一个目的)
特点:可以反复调用,提高代码的复用性,提高开发效率,便于维护管理
"""
# 1.函数基本格式
"""
# 定义一个函数
def 函数名():
	code1
	code
# 调用函数
函数名()
"""
# 定义函数
def func():
	print("我是一个函数 ... ")
# 调用函数
func()
# 2.函数的命名
"""
字母数字下划线,首字符不能为数字
严格区分大小写,且不能使用关键字
函数命名有意义,且不能使用中文哦
驼峰命名法:
	(1) 大驼峰命名法: 每个单词的首字符要大写 (类的命名)
		mycar => MyCar
	(2) 小驼峰命名法: 除了第一个单词首字符小写外,剩下单词首字符大写 (函数或者变量)
		mycar => myCar
_命名法:可以将不同的单词用_拼接在一起
	mycar => my_car
	symmetric_differencesymmetricDifference SymmetricDifference
"""
# 函数定义
def cfb_99():
	for i in range(1,10):
		for j in range(1,i+1):
			print("{:d}*{:d}={:2d} ".format(i,j,i*j) ,end="")
		print()
# 调用函数
for i in range(5):
	cfb_99()

2.2 函数的参数

# ### 函数的参数
"""
参数: 函数运算时需要的值
参数种类:
	(1)形参: 形式参数,在函数的定义处
	(2)实参: 实际参数,在函数的调用处
形参的种类:
	1.普通形参(位置形参) 2.默认形参 3普通收集形参 4.命名关键字形参 5.关键字收集形参
实参的种类:
	1.普通实参 2.关键字实参
原则:
	形参和实参要一一的对应
"""
# 1.普通形参(位置形参)
# 定义函数
"""hang,lie普通形参,在函数定义处"""
def small_star(hang,lie):
	i = 0
	while i < hang:
		j = 0
		while j < lie:
			print("*",end="")
			j +=1
		print()
		i += 1
# 调用函数
"""10,10普通实参,在函数的调用处"""
small_star(10,10)
small_star(2,3)

# 2.默认形参
"""hang,lie默认形参,在函数定义处"""
"""
如果给予实参,那么使用实参
如果没有给予实参,那么使用参数身上的默认值
"""
def small_star(hang=10,lie=10):
	i = 0
	while i < hang:
		j = 0
		while j < lie:
			print("*",end="")
			j +=1
		print()
		i += 1
small_star(4,8)
small_star(8)
small_star()
# 3.普通形参 + 默认形参
"""普通形参必须写在默认形参的前面不能调换位置"""
def small_star(hang,lie=10):
	i = 0
	while i < hang:
		j = 0
		while j < lie:
			print("*",end="")
			j +=1
		print()
		i += 1
small_star(5,7)
# small_star(5)
# small_star() error
# 4.关键字实参
print("<=============>")
"""
1.如果都是关键字实参,可以任意调整实参的顺序
2.普通实参必须写在关键字实参的前面
"""
def small_star(hang,a,b,c,lie=10):
	i = 0
	while i < hang:
		j = 0
		while j < lie:
			print("*",end="")
			j +=1
		print()
		i += 1
# hang a ... lie 具体指定参数的值叫做关键字实参,在函数的调用处;
# small_star(hang=3,a=4,b=5,c=6,lie=7)
# small_star(b=5,c=6,lie=7,a=4,hang=3)
small_star(3,4,b=5,c=6,lie=7)
small_star(3,4,b=5,lie=7,c=6)
# small_star(b=5,c=6,lie=7,3,4) error

3. 收集参数

# ### 收集参数
"""
(1) 普通收集形参: 专门用来收集那些多余的没人要的普通实参
				   收集之后,会把多余实参打包成一个元组
				   参数头上1个星星
	def func(*args):
		pass
	args => arguments
"""
def func(a,b,c,*args):
	print(a,b,c) # 1 2 3
	print(args)  # (4,5,6)
func(1,2,3,4,5,6)

# 任意个数值得累加和
def mysum(*args):
	total = 0
	for i in args:
		total += i
	print(total)
mysum(1,2,3,4,4,45,10,100)
"""
(2) 关键字收集形参:专门用来收集那些多余的没人要的关键字实参
				    收集之后,会把多余关键字实参打包成一个字典
					参数头上有2个星星
	def func(**kwargs):
		pass
	kwargs => keyword arguments
"""
def func(a,b,c,**kwargs):
	print(a,b,c)
	print(kwargs) # {'f': 100, 'e': 200, 'z': 12}
func(c=1,a=3,b=10,f=100,e=200,z=12)

# 拼接任意个数值变成字符串
"""
班长: 赵万里
班花: 马春陪
划水群众: 赵沈阳,李虎凌,刘子涛
"""
def func(**kwargs):
	strvar1 = ""
	strvar2 = ""
	# 定义职位信息
	dic = {"monitor":"班长","classflower":"班花"}
	print(kwargs)
	# 共5次循环
	for k,v in kwargs.items():
		if k in dic:
			# 将2次循环的结果通过+= 拼接在一起
			strvar1 += dic[k] + ":" + v + "\n"
		else:
			# 将3次循环的结果通过+= 拼接在一起
			strvar2 += v + " , "
	print(strvar1.strip())
	print("划水群众:",strvar2.strip(" , "))
	"""
	# print(k,v)
	k       v
	monitor 赵万里
	classflower 马春陪
	water1 赵沈阳
	water2 李虎凌
	water3 刘子涛
	{'monitor': '赵万里', 'classflower': '马春陪', 'water1': '赵沈阳', 'water2': '李虎凌', 'water3': '刘子涛'}
	"""
func(monitor="赵万里",classflower="马春陪",water1="赵沈阳",water2="李虎凌",water3="刘子涛")

4. 命名关键字_总结

# ### 命名关键字参数
"""
(1) def func(a,b,*,c,d) 跟在*号后面的c和d是命名关键字参数
(2) def func(*args,e,**kwargs) 加在*args和**kwargs之间的参数都是命名关键字参数
命名关键字参数 : 在调用函数时,必须使用关键字实参的形式来进行调用;
"""
# 定义方法一
def func(a,b,*,c,d):
	print(a,b)
	print(c,d)
# 必须指定关键字实参,才能对命名关键字形参进行赋值
func(1,2,c=3,d=4)
# 定义方法二
def func(*args,e,**kwargs):
	print(args)   # (1, 2, 3, 4)
	print(e)      # 3
	print(kwargs) # {'a': 1, 'b': 2}
func(1,2,3,4,a=1,b=2,e=3)
# ### 星号的使用
"""
* 和 ** 如果在函数的定义处使用:
	*  把多余的普通实参打包成元组
	** 把多余的关键字实参打包成字典
* 和 ** 如果在函数的调用处使用:
	*  把元组或者列表进行解包
	** 把字典进行解包
"""
def func(a,b,*,c,d):
	print(a,b)
	print(c,d)
tup = (1,2)
# 函数的调用处 *号用法
func(*tup,c=3,d=4) # func(1,2,c=3,d=4)
# 函数的调用处 **号用法
dic={"c":3,"d":4}
func(1,2,**dic)    # func(1,2,c=3,d=4)
# 综合写法
# 函数的调用处
tup = (1,2)
dic={"c":3,"d":4}
func(*tup,**dic)
# 定义成如下形式,可以收集所有的实参
def func(*args,**kwargs):
	pass
# 总结: 当所有的形参都放在一起的时候,顺序原则:
"""
	普通形参 -> 默认形参 -> 普通收集形参 -> 命名关键字形参 -> 关键字收集形参
"""
def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
def f2(a, b, c=0, *, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)
# 以上两个函数 打印结果
#(一)
f1(1, 2) # a =1 b=2 c=0 args=() kw={}
f1(1, 2, c=3) # a=1,b=2,c=3,args=() kw={}
f1(1, 2, 3, 'a', 'b') #a=1 b=2 c=3 args=(a,b) kw={}
f1(1, 2, 3, 'a', 'b', x=99) # a=1 b=2 c=3 args=(a,b) kw={x:99}
f2(1, 2, d=99, ext=None)#a=1 b=2 c=0 d=99 kw={ext:None}
#(二)
args = (1, 2, 3, 4)
kw = {'d': 99, 'x': '#'}
# f1(1,2,3,4,d=99,x=#)
f1(*args, **kw) # a=1 b=2 c=3 args=(4,) kw={d:99,x:#}

#(三)
myargs = (1, 2, 3)
mykw = {'d': 88, 'x': '#'}
# f2(1,2,3,d=88,x=#)
f2(*myargs, **mykw) # a=1,b=2,c=3 d=88 kw={x:#}
#(四)
def f1(a, b, c=0, *args,d,**kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
    print(d)
f1(1,2,3, 'a', 'b',d=67, x=99,y=77) # a=1 b=2 c=3 args=(a,b)  kw={x:99,y:77}
									# d=67

小提示:

出现网络延迟堵塞的时候,自己用flush刷一下
strvar = alex Nb
# 注意:这里虽然说把首字母大写了,但是会把后面的大写字母变成小写
print(srvar.capitalize) #Alex nb

5. 小练习

练习问题:

#1.有如下文件,a1.txt,里面的内容为:
	键盘敲烂,
	月薪过万.
	键盘落灰,
	狗屎一堆.
分别完成以下的功能:
a:将原文件全部读出来并打印。
b:在原文件后面追加一行内容:信不信由你,反正我信了。
c:将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。
d:将原文件全部清空,换成下面的内容:
	每天坚持一点,
	每天努力一点,
	每天多思考一点,
	慢慢你会发现,
	你的进步越来越大。
e:将原文件内容全部读取出来,
	并在'键盘落灰'这一行的前面加一行,'年薪百万'
	然后将更改之后的新内容,写入到一个新文件:a1.txt。
#2.有如下文件,t1.txt,里面的内容为:
	葫芦娃,葫芦娃,
	一根藤上七个瓜
	风吹雨打,都不怕,
	啦啦啦啦。
	上面的内容你肯定是心里默唱出来的,对不对
分别完成下面的功能:
a:以r+的模式打开原文件,判断原文件是否可读,是否可写。
b:以r的模式打开原文件,利用for循环遍历文件对象。
c:以r的模式打开原文件,以readlines()方法读取出来,并循环遍历
d:以r模式读取‘葫芦娃,'前四个字符。
e:以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。
f:以r模式打开文件,从‘风吹雨打.....'开始读取,一直读到最后。
g:以a+模式打开文件,先追加一行:‘老男孩教育'然后在全部读取出来。
h:截取原文件,截取内容:‘葫芦娃,葫芦娃,'

#3.文件a.txt内容:每一行内容分别为商品名字,价钱,个数。
	apple 10 3
	tesla 100000 1
	mac 3000 2
	lenovo 30000 3
	chicken 10 3
变成如下数据格式,并计算出总价格
[
	{'name':'apple','price':10,'amount':3},
	{'name':'tesla','price':1000000,'amount':1}
]
#4.定义函数:打印用户传入的容器类型数据长度
#5.定义函数:参数为容器类型数据,打印所有奇数位索引对应的元素
#6.定义函数:,接收一个参数(可迭代性数据),用_让元素相连成字符串,打印出来
#7.输入字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} 打印出来
#8.输入列表li= [11,22,33,44,55,66,77,88,99,90]
	# 将大于 66 的值保存至字典的k1键中,
	# 将小于 66 的值保存至字典的k2键中。
	# 打印字典 {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

练习答案:

# a
with open("a1.txt",mode="r",encoding="utf-8") as fp:
    print(fp.read())
# b
with open("a1.txt",mode="a+",encoding="utf-8") as fp:
    fp.write("\n\t信不信由你,反正我信了")
# c
with open("a1.txt",mode="a+",encoding="utf-8") as fp:
    print(fp.read())
    fp.write("\n\t信不信由你,反正我信了")
# d
strvar ="""
    每天坚持一点,
	每天努力一点,
	每天多思考一点,
	慢慢你会发现,
	你的进步越来越大。
"""
with open("a1.txt",mode="w+",encoding="utf-8") as fp:
    fp.write(strvar)
# e
with open("a2.txt",mode="r+",encoding="utf-8") as fp:
    lst = fp.readlines()
    print(lst) # ['\t键盘敲烂,\n', '\t月薪过万.\n', '\t键盘落灰,\n', '\t狗屎一堆.\n']
    lst.insert(-2,"\t年薪百万\n")
with open("a3.txt",mode="w+",encoding="utf-8") as fp:
    fp.writelines(lst)
# #####################################
# a
with open("a4.txt",mode="r+",encoding="utf-8") as fp:
    print(fp.readable())
    print(fp.writable())
# b
with open("a4.txt",mode="r",encoding="utf-8") as fp:
    for i in fp:
        print(i)
# c
with open("a4.txt",mode="r",encoding="utf-8") as fp:
    lst = fp.readlines()
    for i in lst:
        print(i)
# d
with open("a4.txt",mode="r",encoding="utf-8") as fp:
    print(fp.read(4))
# e
with open("a4.txt",mode="r",encoding="utf-8") as fp:
    print(fp.readline().strip())
# f
print("<====>")
with open("a4.txt",mode="r",encoding="utf-8") as fp:
    lst = fp.readlines()
    for i in lst[-2:]:
        print(i)
# g
with open("a4.txt",mode="a+",encoding="utf-8") as fp:
    fp.write("\n老男孩教育")
    fp.seek(0)
    print(fp.read())
# h
with open("a4.txt",mode="r+",encoding="utf-8") as fp:
    fp.truncate(24)

# #####################################
"""
[
'\tapple 10 3\n',
'\ttesla 100000 1\n',
'\tmac 3000 2\n',
'\tlenovo 30000 3\n',
'\tchicken 10 3'
]
"""
print("><======================?")
lst_new = []
total = 0
with open("a5.txt",mode="r+",encoding="utf-8") as fp:
    lst = fp.readlines()
    # print(lst)
    for i in lst:
        # 定义空字典
        dic = {}
        # 取出字符串两边的空白
        lst = i.strip().split()
        print(lst)
        # 拼装字典
        dic["name"] = lst[0]
        dic["price"] = int(lst[1])
        dic["amount"] = int(lst[2])
        # 累计当前商品的价格总数
        res = dic["price"] * dic["amount"]
        # 累计所有的商品价格总数
        total += res
        # 把当前商品的信息字典追加到列表中
        lst_new.append(dic)
print(total)
print(lst_new)
"""
[
{'name': 'apple', 'price': 10, 'amount': 3},
{'name': 'tesla', 'price': 100000, 'amount': 1},
{'name': 'mac', 'price': 3000, 'amount': 2},
{'name': 'lenovo', 'price': 30000, 'amount': 3},
{'name': 'chicken', 'price': 10, 'amount': 3}
]
"""
# 4.
def func(container):
    return len(container)
res = func((1,2,3,4))
print(res)
# 5.
def func(container):
    # 方法一
    # for i in range(1,len(container),2):
        # print(container[i])
    # 方法二
    for i in container[1::2]:
        print(i)
func([11,22,33,44,55,666])
# 6.
def func(container):
    """
    # 方法一
    strvar = ""
    for i in container:
        strvar += str(i) + "_"
    return strvar.rstrip("_")
    """
    # 方法二
    lst_new = []
    for i in container:
        lst_new.append(str(i))
    return "_".join(lst_new)

container = [1,2,3,4,5]
res = func(container)
print(res)

# 7
strvar = "k:1|k1:2|k2:3|k3:4"
def func(strvar):
    '''
    # 方法一
    lst = strvar.split("|")
    print(lst) # ['k:1', 'k1:2', 'k2:3', 'k3:4']
    dic = {}
    for i in lst:
        k,v = i.split(":")
        dic[k] = v
        """
        ['k', '1']
        ['k1', '2']
        ['k2', '3']
        ['k3', '4']
        """
    return dic
    '''
    # 方法二
    lst = strvar.split("|")
    lst_new = []
    for i in lst:
        lst_new.append(i.split(":"))
    return dict(lst_new)

print(func(strvar))
# 8
li= [11,22,33,44,55,66,77,88,99,90]
lst1 = []
lst2 = []
dic = {"k1":None,"k2":None}
def func(li):
    for i in li:
        if i > 66:
            lst1.append(i)
        elif i < 66:
            lst2.append(i)
    dic["k1"] = lst1
    dic["k2"] = lst2
    return dic
res = func(li)
print(res)

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python函数中的不定长参数相关知识总结

    一. 不定长位置参数 # 在定义函数参数时,可以在形参的前面加*,该形参将获取所有的位置实参 # 它会将所有的实参保存在一个元组中 def fn(*args): print("args=", args) print("args type:", type(args)) # 带*形参和其他参数配合使用 def fn1(a, b, *args): print(a) print(b) print(args) # 下面这两种写法可以,但是在传实参的时候要注意 def fn2(

  • 关于python中readlines函数的参数hint的相关知识总结

    readlines的帮助信息 >>> fr=open('readme.txt') >>> help(fr.readlines) Help on built-in function readlines: readlines(hint=-1, /) method of _io.TextIOWrapper instance Return a list of lines from the stream. hint can be specified to control the

  • Python 类,对象,数据分类,函数参数传递详解

    目录 1.基本概念 1.1 类与对象的关系 1.3 对象的创建与引用 2.数据的分类 2.1 不可变类型 2.2 可变类型 3.函数传递参数的方式 3.1 值传递 3.2 引用传递 总结 最近在基于python写的接口自动化脚本,从Excel表中读取所有数据,每一行数据保存为字典,再将很多行的字典数据保存到一个列表里,运行时发现,列表中的字典均相同,且一直是excel最后一行的数据,情况类比如下: dd = {"a":1,"b":10} i = 2 list1 =

  • Python中的函数参数(位置参数、默认参数、可变参数)

    目录 一.位置参数 二.默认参数 三.可变参数 四.关键字参数 五.命名关键字参数 六.各种参数之间的组合 函数的参数:Python中函数定义非常简单,由于函数参数的存在,使函数变得非常灵活应用广泛:不但使得函数能够处理复杂多变的参数,还能简化函数的调用. Python中的函数参数有如下几种:位置参数.默认参数.可变参数.关键字参数和命名关键字参数 一.位置参数 位置参数(positional arguments)就是其他语言的参数,其他语言没有分参数的种类是因为只有这一种参数, 所有参数都遵循

  • python教程对函数中的参数进行排序

    内建的 sorted() 函数可接受一个用来传递可调用对象( callable ) 的参数 key,而该可调用对象会返回待排序对象中的某些值,sorted则利用这些值来比较对象. 例如,如果应用中有一系列的 User 对象实例,而我们想通过 user_id 属性来对他们排序,则可以提供一个可调用对象将 User 实例作为输入然后返回 user_id. class User: def __init__(self, user_id): self.user_id = user_id def __rep

  • 关于Python函数参数的进阶用法

    目录 1.关键字参数和位置参数 (1)关键字参数 (2)位置参数 2.接受任意数量的参数 (1)接受任意数量的位置参数 (2)接受任意数量的关键字参数 (3)同时接受任意数量的位置参数和关键字参数 3.keyword-only参数 3.可选参数(带默认值的参数) 1.关键字参数和位置参数 关键字参数(positional argument)和位置参数(keyword argument) Python函数的参数根据函数 在调用时 (注意,不是函数定义时)传参的形式分为关键字参数和位置参数. (1)

  • Python函数中4种参数的使用教程

    1.必需的参数: 必须参数须以正确的顺序传入函数,调用的数量必须和声明时的一样 def f(name,age): print('I am %s,I am %d'%(name,age)) f('alex',18) f('alvin',16) 输出: I am alex,I am 18 I am alvin,I am 16 2关键字参数: 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值.使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数

  • python函数参数,名称空间,以及函数嵌套

    目录 一. 函数参数–动态传参 1.1动态位置接受参数,在参数位置编写*表⽰示接收任意内容 1.2 动态接收关键字参数 1.3无敌传参 * args, * * kwargs 一起使用 1.4 动态参数的另⼀一种传参⽅方式: 二. 命名空间 三. 函数的嵌套 四. 关键字global和nonlocal 一. 函数参数–动态传参 1.1动态位置接受参数,在参数位置编写*表⽰示接收任意内容 注意: 动态参数与位置参数的关系 默认参数和动态参数的关系 小结: 顺序: 位置参数, 动态参数*, 默认值参数

  • Python全栈之文件函数和函数参数

    目录 1. 文件相关函数 2. 函数_函数的参数 2.1 函数 2.2 函数的参数 3. 收集参数 4. 命名关键字_总结 小提示: 5. 小练习 练习问题: 练习答案: 总结 1. 文件相关函数 # ### 刷新缓冲区 """ # 刷新缓冲区 flush # 当文件关闭的时候自动刷新缓冲区 # 当整个程序运行结束的时候自动刷新缓冲区 # 当缓冲区写满了 会自动刷新缓冲区 # 手动刷新缓冲区 """ """ fp =

  • Python全栈之文件操作

    目录 1. 字典的相关函数 2. 集合的操作_函数 3. 文件基本操作 4. 文件扩展模式 小提示: 总结 1. 字典的相关函数 字典的相关函数 # ### 字典的相关函数 dic = {} # 增 # 1.普通方法 (推荐) dic["top"] = "369" dic["middle"] = "左手" dic["bottom"] = "杰克爱" print(dic) # 2.from

  • python全栈要学什么 python全栈学习路线

    IT行业,技术要比学历.年龄.从业经验更为重要,技术水平直接决定就业薪资,想要学好python,首先要先了解精通Python语言基础.Python web开发.Python爬虫.Python数据分析这四大方面. 全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 .测试.运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包

  • python全栈知识点总结

    全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 .测试.运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包括HTML5 CSS3 JS Jquery Ajax,后端至少需要能够熟练使用Django和tornado,当然会flask更好. 扩展资料: 全栈工程师的厉害之处并不是他掌握很多知识,可以一个人干多份工作.而是

  • python全栈开发语法总结

    太多的小伙伴正在学习Python,就说自己以后要做全栈开发,大家知道这是做什么的吗?我们现在所知道的知识点,哪些是以后你要从事这个全栈所需要的呢?从名字上我们可以获知,"全"一样是掌握全部内容,没错,这里就是要自己掌握全部编程技能,足够独立开发的人,因此全栈士不如也说叫"全战士",如果想做,那就看下面能用到的语法吧. 1.中文编码-UTF8字符集 #!/usr/bin/env python # coding:utf8 2.数值 a = 1 b = 2.1 print

  • Python全栈之迭代器和高阶函数

    目录 1. lambda表达式 2. locals和globals 3. 迭代器 小提示: 4. map高阶函数 5. reduce高阶函数 6. filter高阶函数 7. sorted高阶函数 8. 小练习 总结 1. lambda表达式 # ### 匿名函数 : lambda表达式 """ 概念: 用一句话来表达只有返回值的函数 语法: lambda 参数 : 返回值 特点: 简洁,高效 """ # (1) 无参的lambda表达式 def

  • Python如何调用JS文件中的函数

    Python 调用JS文件中的函数方法如下 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r"web.js").read().decode("utf-8")).call('loginHandle','steam') 语句解析,open后跟所执行的js文件位置,call后第一个单引号引起来的为所执行的js文件的某个function, 第二个单引号是前面函数的

  • python如何调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1.操作系统:macos10.13.2 2.php版本:PHP 7.1.7(mac自带) 3.python版本:python3.6.0 4.python库:subprocess 调用php函数 php命令行调用php文件中的函数 php文件:test_hello.php <?php function h

  • Python全栈之学习JS(1)

    目录 1. js的数据类型 1.1 js引入方式 1.2 注释变量 1.3 数据类型 2. js类型转换_运算符 2.1 强制转换_Number 2.2 强制转换_String 2.3 强制转换_Boolean 2.4 自动类型转换_Number_Boolean_String三者之间转换 2.5 js运算符 3. js流程控制 3.1 分支结构 3.2 分支结构_switch_case 3.3 循环结构 4. js函数 4.1 函数 4.2 函数的调用 总结 1. js的数据类型 1.1 js引

  • Python全栈之作用域和闭包

    目录 1. return返回值 2. 全局变量_局部变量 3. 函数名的使用 4. 函数的嵌套 4.1 函数的嵌套 4.2 nonlocal的使用 5. 闭包函数的定义 6. 闭包的特点_意义 小提示: 7. 小练习 总结 1. return返回值 # ### return 自定义函数的返回值 """ 概念:return 把函数内部的数据返回到函数的外面,返回到函数的调用处 1.return + 六大标准数据类型 , 除此之外还可以返回函数 或者 是类对象 2.return

随机推荐