# if 語句 給出一個簡單的示例 ```python cars = ["audi", "bmw", "subaru", "toyota"] for car in cars: if car == "bmw": print(car.upper()) else: print(car.title()) ` ...
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")
就這麼多,日後有遇到的,可進行補充。