```python
import sys
import getopt
def site():
name = None
url = None
argv = sys.argv[1:] #sys.argv[1:]表示什么呢,也不是第一个参数啊?
#try子句的作用是啥,opts,args表示啥?
try:
opts, args = getopt.getopt(argv, "n:u:",
["name=",
"url="]) # 长选项模式
except:
print("Error")
#下面的for循环每句代码都是啥意思?
for opt, arg in opts:
if opt in ['-n', '--name']:
name = arg
elif opt in ['-u', '--url']:
url = arg
print( name + " " + url)
#python中没有主函数吗,这里的site前面是不是隐用一个空行告知site已经处在主函数内部?
site()
```
问题还真多,说明你对python的语法一点都不熟悉啊
一个一个来吧
1.[1:]是切片操作,x[a:b:c]表示将x从a位置开始到b位置每隔c进行切片,返回一个新list,其中abc都可以省略。a的默认值是0,b默认值是-1,c默认值是1.
如果a和b是负值,表示从后往前数;如果c是负值,表示倒序
2.getopt返回一个元组,里面有2个元素。那么用2个参数来接收的时候,元组会自动拆箱,分别给2个变量赋值。当然,也可以反过来,把两个值赋值给一个变量,自动装箱。
3.try,except是捕获异常,如果代码执行出现异常则会被捕获,进入except继续执行
4.for里面有2个变量,跟上面的2一样,因为opts里面是2项,所以迭代的时候要用2个变量来接,否则会被装箱变成元组
5.python没有主函数,写在主py文件里的代码就直接运行