飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
# 1.利用元组返回多个数据
def meansure():
    a = 1
    b = '123'
    #return (a,b),这个括号可以不用写
    return a,b
result = meansure()
print(result)

# 单独处理 a / b ?  采用多个变量同时接收的方式
print(result[0],end=" ")
print(result[1])# 可以采用这种方式,不推荐
gl_a , gl_b = meansure()
print(gl_a,gl_b)


# 2.面试题---交换两个数字

# 借助第三个变量
a = 6
b = 10
c = a
a = b
b = c
print(a,b)

# 不用第三个变量
a = 6
b = 10
a = a + b
b = a - b
a = a - b
print(a,b)

#python 自己的方式
a = 6
b = 10
a,b = b,a
print(a,b)


# 3.可变参数和不可变参数

# 函数中传输不可变参数,不影响外部变量的值

def demo(num):
    num = 100
    print(num)  # 输出100

gl_num = 99
demo(gl_num)
print(gl_num)  # 输出99,变量的值未改变

# 函数中传入不可变的参数进行赋值运算,依然不影响要外部的变量
def demo2(num_list):
    num_list = [1,2,3]
    print(num_list) # 输出[1, 2, 3]

gl_list = [4,5,6]
demo2(gl_list)
print(gl_list) # 输出 [4, 5, 6]

# 函数中传入不可变的参数进行方法的修改,将影响要外部的变量
def mutable (num_list):
    num_list.extend([1,2,3])
    print(num_list)  # 输出[6, 7, 8, 1, 2, 3]

gl_list = [6,7,8]
mutable(gl_list)
print(gl_list) # 输出[6, 7, 8, 1, 2, 3]

# 4.列表变量使用+= 本质是在执行extend ,方法引用不变 ,其余的使用+= 是在先相加再赋值,引用改变。
def demo4(num_list):
    num_list += num_list
    # num_list = num_list + num_list
    print(num_list)  # 输出[1, 2, 3, 1, 2, 3]

gl_list = [1,2,3]
demo4(gl_list)
print(gl_list) # 输出[1, 2, 3, 1, 2, 3]    如果是num_list = num_list + num_list ,则输出[1, 2, 3]

def demo5(num):
    num += num  # 输出 174
    print(num)

gl_num  = 87
demo5(gl_num)
print(gl_num) # 输出87

# 5. 省略参数的函数

gl_list2=[9,3,5,4]
# 默认生序排列gl_list2.sort()
gl_list2.sort(reverse=True)
print(gl_list2) #输出[9, 5, 4, 3]

# 函数传参的时候如何指定默认值?
# 省略的参数必须在尾部
# 若有多个省略参数,则传参时的实参需要指明参数
def print_info(name,title="",gender = True):
    gender_text = "男"
    if not gender :
        gender_text = "女"

    print("%s 是 %s生"% (name,gender_text))
print_info("小明",gender ="True") # 小明 是 男生,这里gender必须指明,不能忽略直接传入True
print_info("小刚") # 小刚 是 男生,这里省略了性别这个参数,依然输出默认值。

# 6.多值参数
# 用一个* 来接受元组 一般采用*args
# 用两个** 接受字典,一般采用**kwargs

def demo6 (num,*nums,**person):
    print(num)
    print(nums)
    print(person)
demo6(1) #输出1  ()  {}
demo6(1,2,3,4,5) # 输出 1 (2, 3, 4, 5)  {}
demo6(1,2,3,4,5,6,name = "小明")  # 输出 1,(2, 3, 4, 5, 6)  {'name': '小明'}

#遍历多值参数,实现累加

def sum_number(*args):
    num = 0
    print(args)
    for i in args:
        num += i
    return num
result = sum_number(1,2,3,4)
print(result)  # 输出10


# 元组和字典的拆包

def demo7(*args,**kwargs):
    print(args)
    print(kwargs)
gl_nums = (1,2,3)
gl_dict = {"name":"小明","age":18}
# demo7(gl_nums,gl_dict)       # 输出((1, 2, 3), {'name': '小明', 'age': 18}) {}
demo7(*gl_nums,**gl_dict) # 进行拆包  # 输出(1, 2, 3){'name': '小明', 'age': 18}

(1, '123')
1 123
1 123
10 6
10 6
10 6
100
99
[1, 2, 3]
[4, 5, 6]
[6, 7, 8, 1, 2, 3]
[6, 7, 8, 1, 2, 3]
[1, 2, 3, 1, 2, 3]
[1, 2, 3, 1, 2, 3]
174
87
[9, 5, 4, 3]
小明 是 男生
小刚 是 男生
1
()
{}
1
(2, 3, 4, 5)
{}
1
(2, 3, 4, 5, 6)
{'name': '小明'}
(1, 2, 3, 4)
10
(1, 2, 3)
{'name': '小明', 'age': 18}

Process finished with exit code 0

posted on 2019-12-30 09:55  飞行的猪哼哼  阅读(28)  评论(0)    收藏  举报