可以帮我解释一下def以后这些语句的作用嘛

#首先使用import导入random模块
import random
#然后用int和input来实现用户输入字符获取字符,因为要实现三个自定义,所以设置三个变量名
a = int(input("输入开始值:"))
b = int(input("输入结束值:"))
c = int(input("输出个数"))

#在这里使用def创建作用域来定义我们自定义的函数 def后面跟的就是自定义的函数名
def W_random(a, b, n):  
    B_list = []  #因为数值可变 所以用了中括号
    while len(B_list) < n:
        int = random.randint(a, b)
        if int not in B_list:
            B_list.append(int)
        else:
            pass
    return tuple(B_list)

print(W_random(a, b, c)) #输出
B_list = []  #因为数值可变 所以用了中括号
    while len(B_list) < n:#判断列表中的长度是否小于n,如果小于就继续循环
        int = random.randint(a, b)#获取a-b之间的随机数
        if int not in B_list:#判断当前随机数是否在列表中,如果不在就满足判断
            B_list.append(int)#将随机数添加到列表中
        else:#当前随机数在列表中,不做处理
            pass
    return tuple(B_list)

不断产生a到b之间的随机数,假如B_list中,且随机数不重复