ex19-20 函数变量和文件

Posted 丁头零零

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ex19-20 函数变量和文件相关的知识,希望对你有一定的参考价值。

ex19

函数中的全局变量和脚本中的变量没有联系,函数中的变量可以通过多种方式赋予。

 1 #-*- coding: UTF-8 -*- 
 2 def cheese_and_crackers(cheese_count,boxes_of_crackers):
 3   print "You have %d cheese!" % cheese_count
 4   print "You have %d boxes of crackers!" % boxes_of_crackers
 5   print "Man that‘s enough for a party!"
 6   print "Get a blanket.\n"
 7   #创建函数:设置两个参数;四个包含了参数的print。
 8   
 9   
10 print "We can just give the function number directly:"
11 cheese_and_crackers(20,30) #直接对函数中的参数赋值
12 
13 print "OR,we can use variables from our script."
14 amount_of_cheese = 10
15 amount_of_crackere = 5
16 
17 cheese_and_crackers(amount_of_cheese,amount_of_crackere)#通过脚本中的变量来对函数的参数赋值
18 
19 print "We can even do math inside too."
20 cheese_and_crackers (10+20,5+6)#在函数内进行运算
21 
22 
23 print "And we can combine the two,variable and the math."
24 cheese_and_crackers(amount_of_cheese+10,amount_of_crackere+1000)#在函数内进行运算,并通过脚本中的变量进行
25 #发现一个特点,创建的这个函数,不仅仅是包括参数,还包括下边二级代码的那一系列指令。

附加练习:自己编写一个函数,并至少用10种方式运行(我只用了3种 ==)

 1 #-*- coding: UTF-8 -*- 
 2 def shopping_list (what_I_want,price):#老是会忘记冒号,要经常提醒自己。
 3    print "So I wanna %s And its price is %d RMB"% (what_I_want,price)#前面设置两种不同的格式化字符,后边也可以给放到一个括号里边)
 4    print "Fine,let us just take it."
 5    
 6 print "Now I gonna go shopping." 
 7 shopping_list ("Juice" ,10)
 8 
 9 print "Now I want two kinds of beer."
10 shopping_list("IPA"+"\tLager",10+15)#如果想要\t起到空格的作用,那么就需要在前面设置为%s
11 
12 print "OK i also wanna something for dinner."
13 dish = "pork"+"&eggs"
14 the_price = 30+10#要非常注意,脚本中的变量和函数中的全局变量不要设置成相同
15 shopping_list(dish,the_price)
16 
17 print "HAHA man you look just like a idiot."

ex20

 

 1 #-*- coding: UTF-8 -*- 
 2 from sys import argv
 3 
 4 script,input_file = argv
 5 
 6 def print_all(f):#创建函数,读取并打印文件内容
 7  print f.read()#后边如果不加(),就没法读,或者读了也没法打印
 8 
 9 def rewind (f):#创建函数,把文件指针设置到从头开始
10  print f.seek(0)
11  
12 def print_a_line(line_count,f):#创建函数,按照行来读取并打印文件
13  print line_count,f.readline()
14  
15 current_file = open(input_file)#打开文件
16 
17 print"First lets read the whole file.\n"
18 
19 print_all (current_file) #一开始还疑惑是否可以直接用 Input_file ,后来发现自己傻了,肯定要先打开啊~~
20 
21 print "Now let‘s rewind,kind of like a tape."#不是很明白这里rewind的意义,难道在进行上一步之后指针到了最后了?
22 
23 rewind(current_file)
24 
25 print "Let‘s print three lines."
26 #逐行读取并打印
27 current_line = 1
28 print_a_line(current_line,current_file)
29 
30 current_line = current_line + 1 #也可以写成current_line += 1
31 print_a_line(current_line,current_file)
32 
33 current_line = current_line + 1
34 print_a_line(current_line,current_file)
35 
36 ‘‘‘
37 file.seek()方法标准格式是:seek(offset,[whence=0])offset:相对于whence的偏移量,字节数,可以为负数,
38 whence省略时,默认从文件开头算起
39 whence:给offset参数的偏移参考,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起
40 ‘‘‘

 

以上是关于ex19-20 函数变量和文件的主要内容,如果未能解决你的问题,请参考以下文章

笨办法学习python3练习代码:argv参数变量与文件操作

第 7 行的 InflateException 二进制 XML 文件:膨胀类片段时出错

无法找到指定dll库文件skinH_EL.dll中的输出命令skinH_Attach_EX_

代码审计变量覆盖漏洞详解

web代码片段

VSCode自定义代码片段——声明函数