Python学习日志(6)-笨办法学python18课

python版本:3.6.1

练习18.名称,变量,代码,函数

本课学习的是如下所示的代码段,按照Shaw的意思来说,这是一个小脚本。

1   # this one is like your scripts with argv
2   def print_two(*args):
3       arg1, arg2 = args
4       print(f"arg1: {arg1}, arg2: {arg2}")
5
6   # ok, that *args is actually pointless, we can just do this
7   def print_two_again(arg1, arg2):
8       print(f"arg1: {arg1}, arg2: {arg2}")
9
10  # this just takes one argument
11  def print_one(arg1):
12      print(f"arg1: {arg1}")
13
14  # this one takes no arguments
15  def print_none():
16      print("I got nothin'.")
17
18
19  print_two("Zed","Shaw")
20  print_two_again("Zed","Shaw")
21  print_one("First!")
22  print_none()

在这个脚本中,我有几点比较在意:

1、如第2、3、4句中的,args、arg1、arg2。经过测试这单格式可以任意替换的,并没有实际意义,但有可能是通用词,便于理解。(但是没有发挥实际作用)

我将其替换成了如下所示的文字,能够正常运作。

1 def print_two(*pen):
2     word1, word2 = pen
3     print(f"'文字1': {word1}, '文字2': {word2}")

2、如第2-4句相较于第7-8句,多了一句来说明args对应的是什么,这里想要更简洁的代码,就可以采取第二部分的形式,不使用*args,直接使用arg1、arg2。

# 括号中出现*args。
def print_two(*args):
# 定义*args
    arg1, arg2 = args
    print(f"arg1: {arg1}, arg2: {arg2}")

# 括号中出现arg1、arg2。相比于上面的def代码,这一部分代码缩减了一行代码。
def print_two_again(arg1, arg2):
    print(f"arg1: {arg1}, arg2: {arg2}")

另外,*args是一个特殊定义的代码,前面的星号不能删去,否则在用户端无法正常运作。我的理解是,args(替换成animals也是一样)是一个代码,一个代码的情况下无法去定义两个代码(arg1、arg2)。若要args去定义两个代码,就必须在前面加上星号。除非不用args,改用像第二部分的2个代码。

3、这一段代码作为小脚本,开始有了实用价值,可以进行一些小的运作。我编写了如下的一段代码:(加上了汉字引导说明,以及input功能,修改了个别代码名)

1 def print_two(*pen):
2     word1, word2 = pen
3     print(f"'文字1': {word1}, '文字2': {word2}")
4
5 def print_two_again(arg1, arg2):
6     print(f"arg1: {arg1}, arg2: {arg2}")
7 
8 def print_one(arg1):
9     print(f"arg1: {arg1}")
10 
11 def print_none():
12     print("I got nothin'.")
13 
14 
15 print("现在,请输入你的文字。记得每次输入后,按下回车。")
16 print_two(input("第一部分"), input("第二部分"))
17 print_two_again(input(),input())
18 print_one("First!")
19 print_none()

可以得到如下的运作结果。

PS C:\Users\江仞树\lpthw> python .\ex18-1.py
现在,请输入你的文字。记得每次输入后,按下回车。
第一部分dog
第二部分cat
'文字1': dog, '文字2': cat
shark
whale
arg1: shark, arg2: whale
arg1: First!
I got nothin'.

总结,第18课非常有意思,加上之前课程学习的内容,可以在这一课进行一些小脚本的运作,让我感到了不少的乐趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值