python三个基础语法
视频资料链接:
(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