python三个基础语法

本文介绍了Python中的三个基础语法概念:使用`if__name__==__main__`判断主程序执行,`__init__.py`在包管理中的作用,以及`args`和`kwargs`在函数参数中的解包和字典传递。通过实例演示了如何避免代码重复输出和组织模块结构。
摘要由CSDN通过智能技术生成

视频资料链接:
(1)https://www.bilibili.com/video/BV1SF411k7Er/?spm_id_from=333.337.search-card.all.click&vd_source=84d747ae63525b79ef57f7be80b7c9f9
(2)https://www.bilibili.com/video/BV1zK4y1z7kv/?spm_id_from=333.337.search-card.all.click&vd_source=84d747ae63525b79ef57f7be80b7c9f9
(3)https://www.bilibili.com/video/BV1bJ4m1b7eH/?spm_id_from=333.337.search-card.all.click&vd_source=84d747ae63525b79ef57f7be80b7c9f9

下面的示例可以帮助我们学习python的三个基础语法。

例1: i f _ _ n a m e _ _ = = ‘ _ _ m a i n _ _ ’ if \_\_name\_\_==‘\_\_main\_\_’ if__name__==‘__main__’ 的作用

第一步:在script1.py中编写以下代码:

def add(a,b):
    print(f"{a}+{b} = {a+b}")

if __name__ == '__main__':  
    add(3,4)

第二步:在script2.py中编写以下代码:

from script1 import add
add(1,2)

运行script1.py和script2.py文件,分别输出“3+4=7”和“1+2=3”。如果不用 i f _ _ n a m e _ _ = = ‘ _ _ m a i n _ _ ’ if \_\_name\_\_==‘\_\_main\_\_’ if__name__==‘__main__’,则script2.py也会(额外)输出“3+4=7”,这不是我们希望的。

例2: _ _ i n i t _ _ \_\_init\_\_ __init__ 的作用

第一步:在my_package文件夹中编写空的__init__.py文件。
第二步:在my_package文件夹中编写greetings.py文件,其中定义了say_hello()函数:

def say_hello():
    print("Hello,world!")

第三步:在my_package文件夹编写test.py文件:

from my_package import greetings
greetings.say_hello()

则可以输出“Hello,world!”(如果没有__init__.py,我电脑也可以正常输出,但是有的版本不行)。

例3:* a r g s args args和** k w a r g s kwargs kwargs的作用

考虑如下代码:

def order_pizza(size, *toppings, **details):
    print(f"Ordered a {size} pizza with the following toppings:")
    for topping in toppings: #all of our toppings are in a tuple
        print(f"- {topping}")
    print("\nDetails of the order are:")
    for key, value in details.items(): #dictionary as key value pairs
        print(f"- {key}: {value}")
    
order_pizza("large", "pepperoni", "olives", delivery = True, tips = 5)

输出结果:

Ordered a large pizza with the following toppings:
- pepperoni
- olives

Details of the order are:
- delivery: True
- tips: 5

这里*toppings 和 *args是一样的,对应到元组数据类型;**details和**kwargs是一样的,对应到键-值对的字典类型。
另外,*被称为unpacking operator(解包运算符),它会解压迭代器中的元素,例如:

nums = [2,5,7,1,9]
print(nums) #输出 [2, 5, 7, 1, 9]
print(*nums) #输出 2 5 7 1 9
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值