Python学习02——基础(二)

python程序开发时,如果不知道下一步要做什么操作,可以用 pass 做占位符,防止语法错误

TODO注释:# TODO 要写的代码功能

会加粗高亮语句,不容易忽略,PyCharm左下角也会有相关的TODO提示

PyCharm中要修改某个变量名,右键此变量 Refactor->Rename ,此时修改此变量会修改当前文档中所有的同变量

#! /Library/Frameworks/Python.framework/Versions/3.7/bin/python3
# linux 系统下默认解释器 Shebang (#! 解释器路径)
# linux 系统下添加可执行文件权限 文件目录下: chmod +x 文件名

python全局变量

开发时,应该把全局变量定义在所有函数上方

全局变量前面应该增加 g_ 或 gl_ 前缀,防止混淆

python中不允许在函数内部直接修改全局变量,如果使用赋值语句会在函数内部重新定义一个局部变量

函数内部修改全局变量:需要使用 global 对全局变量进行修改

num = 10


def demo():
    global num
    num = 99
    print(num)


print(num)

多个变量分别接受返回值

g_num01 = 0
g_num02 = 0


def demo():
    num01 = 77
    num02 = 88
    return num01, num02


# 这样g_num01, g_num02分别接收到num01, num02
g_num01, g_num02 = demo()

函数内部使用赋值语句,不会影响调用函数时传递的实参变量

如果传递的参数是可变类型(列表、字典),在函数内部,使用方法(append、extend、+= 等)修改了数据内容,同样会影响到外部数据

缺省参数

def print_info(name, gender = True)

缺省参数即是调用该函数时,缺省参数的值若未被传入,则传入默认预设的值。
注意,必须将所有带有默认值的参数置于参数列表的末尾。
当带有多个缺省参数的函数被调用时,可单独指定某个缺省参数的值。如:

def print_info(name, age = 18,gender = True )
print_info("zhan", gender = False )

多值参数

函数参数列表中,参数前增加一个*可以接收元组,增加两个*可以接收字典。
*args(arguments) 存放元组参数
**kwargs 存放字典参数

def demo(num, *nums ,**nums )

Python元组和字典的拆包

在调用带有多值参数的函数时,如果希望:(1)将一个元组变量传递给args(2)将一个字典变量传递给keargs。就可以选择拆包,简化参数的传递,拆包的方式是:

    在元组变量前加一个星号*
    在字典变量前增加两个星号**

def demo(*args, **kwargs):
    print(args)
    print(kwargs)


gl_nums = (1, 2, 3)
gl_dict = {"name": "小明", "age": 18}
demo(*gl_nums, **gl_dict)

输出:
(1, 2, 3)
{‘name’: ‘小明’, ‘age’: 18}

如果调用函数变量前不使用星号:

def demo(*args, **kwargs):
    print(args)
    print(kwargs)


gl_nums = (1, 2, 3)
gl_dict = {"name": "小明", "age": 18}
demo(gl_nums, gl_dict)

输出:
((1, 2, 3), {‘name’: ‘小明’, ‘age’: 18})
{}

发布了97 篇原创文章 · 获赞 21 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/sun124608666/article/details/102587124