Python基础(2)

if 语句

给出一个简单的示例

cars = ["audi", "bmw", "subaru", "toyota"]

for car in cars:
    if car == "bmw":
        print(car.upper())
    else:
        print(car.title())

每条if语句的核心都是一个值为True 或 False的表达式,这种表达式称为条件测试。

检查多个条件:可以使用 and or ;检查特定值:in 或者 not in

if 语句结构有三种:

  • 简单的 if 语句
  • if - else 语句
  • if - elif - else 语句

while处理列表和字典

列表之间移动元素:

F_users = ["alice", "brain", "candace"]
C_users = []

while F_users:
    curr = F_users.pop()
    C_users.append(curr)

删除为特定值的所有列表元素:

pets = ["dog", "cat", "dog", "goldfish", "cat", "rabbit"]

while "cat" in pets:
    pets.remove("cat")

使用用户输入来填充字典:

responses = {}
polling_active = True
while polling_active:
    name = input("\nWhat is your name?")
    response = input("Wich mountain would you like to climb someday?")
    responses[name] = response

input()

input()工作原理:让程序暂停运行,等待用户输入一些文本。

message = input("Tell me something, and I will repeat it back to you: ")
print(message)

使用函数input()时,Python将用户输入解读为字符串。但是我们想要使用整形数据的话,可以使用int()来获取数值输入

height = input("How tall are you,in inches?")
height = int(height)

Python函数

1、定义函数

#定义函数
def greet_user():
    print("Hello!")
#调用函数
greet_user()

2、向函数传递信息

def greet_user(username):
    print(f"Hello,{username.title()}!")
    
greet_user("jesse")	#调用函数

关键字实参

关键字实参是传递给函数的名称值对。关键字实参无需考虑函数调用中的实参顺序,还清楚指出函数调用中各个值的用途。

关键字实参的顺序无关紧要,python知道各个值该赋给哪个形参。

def describe_pet(animal_type, pet_name):
    print(f"\nI have a {animal_type}.")
    print(f"My {animal_type}'s name is {pet_name.title()}")
 
#二者是等价的
describle_pet(animal_type = "hamster", pet_name = "harry")
describle_pet(pet_name = "harry", animal_type = "hamster")

实参占位

在函数定义中,新增可选形参age,并将其默认值设置为特殊值 None(表示变量没有值)。None视为占位值。

def build_person(first_name, last_name, age = None):
    person = {"first":first_name, "last":last_name}
    if age:
        person["age"] = age
    return person

musician = build_person("jimi", "hendrix", age = 27)

禁止函数修改列表

我们可以将列表传递给函数后,可以对其进行修改。是因为不同的变量指向的是同一个内存空间的列表。如果禁止函数修改列表,而是仅仅向函数中传递列表的副本。可以如下可做:

function_name(list_name[:])	#切片表示法`[:]` 创建列表的副本。

传递任意数量的实参

由于预先不知道函数接受多少个实参,可在形参前加*,接收多个实参。

def make_pizza(*toppings):
    print(toppings)
    
make_pizza("pepperoni")
make_pizza("mushrooms", "green peppers", "extra cheese")

形参名 *toppings 中的星号让Python创建一个名为 toppings 的空元组,并将收到的所有值都封装到这个元组中。

使用任意数量的关键字实参

有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键值对,即调用语句提供了多少就接受多少。

def build_profile(first, last, **user_info):
    user_info["first_name"] = first
    user_info["last_name"] = last
    return user_info

user_profile = build_profile("albert","einstein",
                            location = "princeton",
                            field = "physics")

形参 **user_info中的两个星号让Python创建一个名叫 user_info 的空字典,并将收到的所有名称值对都放在这个字典中。

注意:

给形参指定默认值时,等号两边不要有空格: def function_name(parameter_0, parameter_1="default value")

就这么多,日后有遇到的,可进行补充。


posted @ 2023-07-18 15:09  雪国北风  阅读(77)  评论(0编辑  收藏  举报