小言_互联网的博客

零基础入门Python小程序(二)

176人阅读  评论(0)

通过(一)分享了一些新手村任务
在来一个遍历列表的字典回顾一下

students = [
    {"name": "刘能"},
    {"name": "赵四"},
    {"name": "广坤"},
    {"name": "小宝"},
    {"name": "永强"},
    {"name": "大脚"},
]
# 在学员列表中搜索指定的姓名
find_name = "刘老根"

for stu_dict in students:
    print(stu_dict)
    if stu_dict["name"] == find_name:
        print("找到了 %s" % find_name)
        # 如果已经找到,应该直接退出循环,而不再遍历后续的元素
        break
    # else:
    #    print("抱歉没有找到 %s" % find_name)
else:
    # 如果希望在搜索列表时,所有的字典检查之后,都没有发现需要搜索的目标
    # 还希望得到一个统一的提示!
    print("抱歉没有找到 %s" % find_name)

print("搜索结束")

接下来是这次和大家分享的

引用地址

def test(num):
    print("在函数内部 %d 对应的内存地址是 %d" % (num, id(num)))
    # 1. 定义一个字符串变量
    result = "hello"
    print("函数要返回数据的内存地址是 %d" % id(result))
    # 2. 将字符串变量返回,返回的是数据的引用,而不是数据本身
    return result

# 1. 定义一个数字的变量
a = 10
# 数据的地址本质上就是一个数字
print("a 变量保存数据的内存地址是 %d" % id(a))
# 2. 调用 test 函数,本质上传递的是实参保存数据的引用,而不是实参保存的数据!
# 注意:如果函数有返回值,但是没有定义变量接收
# 程序不会报错,但是无法获得返回结果
r = test(a)
print("%s 的内存地址是 %d" % (r, id(r)))

局部与全局变量

 # 定义一个局部变量
def demo1():
    # 出生:执行了下方的代码之后,才会被创建
    # 死亡:函数执行完成之后
    num = 10
    print("在demo1函数内部的变量是 %d" % num)

demo1()
# 全局变量
num = 10
def demo2():
    print("demo2 == %d" % num)

demo2()

如何修改全局变量

# 全局变量
num = 10
def demo1():
    # 希望修改全局变量的值-使用global声明一下即可
    # global关键字会告诉解释器后面的变量是一个全局变量
    # 再使用赋值语句时,就不会创建局部变量
    global num
    num = 99
    print("demo1 ==> %d" % num)
def demo2():
    print("demo2 ==> %d" % num)

demo1()
demo2()
#运行结果
99
99

在开发时,应该把模块中的所有全局变量定义在所有函数上方,就可以保证所有的函数都能够正常的访问到每一个全局变量了。

数字交换

a = 6
b = 100
# 解法1:-使用其他变量
# c = a
# a = b
# b = c
# 解法2:-不使用其他的变量
# a = a + b
# b = a - b
# a = a - b
# 解法3:-Python 专有
# a, b = (b, a)
# 提示:等号右边是一个元组,只是把小括号省略了
a, b = b, a
print(a,b)

名单(参数缺省)

def print_info(name, title="", gender=True):
    """
    :param title:
    :param name: 班上同学的姓名
    :param gender: True 男生 False 女生
    """
    gender_text = "男生"
    if not gender:
        gender_text = "女生"
    print("[%s]%s 是 %s" % (title, name, gender_text))
# 假设班上的同学,男生居多!
# 提示:在指定缺省参数的默认值时,应该使用最常见的值作为默认值!
print_info("小明","1")
print_info("老王")
print_info("小美", gender=False)
#多值参数
def sum_numbers(*args):
    num = 0
    print(args)
    # 循环遍历
    for n in args:
        num += n
    return num
result = sum_numbers(1, 2, 3, 4, 5)
print(result)

递归求和

def sum_numbers(num):
    # 出口
    if num == 1:
        return 1
    # 数字的累加 
    temp = sum_numbers(num - 1)
    # 两个数字的相加
    return num + temp
result = sum_numbers(100)
print(result)

转载:https://blog.csdn.net/mndlgzzd/article/details/105656353
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场