1. 程式人生 > 其它 >iOS 用多執行緒控制程式執行順序

iOS 用多執行緒控制程式執行順序

集合簡介

• 集合表現形式set 集合和列表非常相似
• 不同點

• 集合只能儲存不可變物件
• 集合中儲存的物件是無序的
• 集合不能出現重複元素
• 使用{}來建立集合
• 可以通過set()來將序列和字典轉換成集合
• len() 使用len()來獲取集合中元素的數量
• add()像集合中新增元素
• update()將一個集合中的元素新增到另一個集合當中
• pop()隨機刪除集合中的一個元素一般是刪除最後一個元素
• remove() 刪除集合中指定的元素
• clear() 清空集合

集合的運算

& 交集運算
a={1,2,3,4,5,6,7}
b={4,5,6,
7,8} s=a&b print(s)| 並集運算 • - 差集運算 • ^ 亦或集 • <= 檢查一個集合是否是另一個集合的子集 • < 檢查一個集合是否是另一個集合的真子集 • >=檢查一個集合是否是另一個集合的超集 • >檢查一個集合是否是另一個集合的真超集

函式

  1. 函式簡介
    • 函式也是一個物件
    • 函式用來儲存一些可執行的程式碼,並且可以在需要時,對這些語句進行多次呼叫
語法
def 函式名([形參1,形參2,形參3....]):
    程式碼塊
函式名(實參) {有幾個形參,就有幾個實參}

注意

函式名必須符合識別符號的規範(可以包含字母、數字、下劃線但是不能以數字開頭)
print是函式物件 print()是呼叫函式
  1. 函式的引數
    2.1 形參和實參
• 形參(形式引數) 定義形參就相當於在函式內部聲明瞭變數,但是並不是賦值
• 實參(實際引數)指定了形參,那麼在呼叫函式時必須傳遞實參,
實參將會賦值給對應的形參,簡單來說有幾個形參就要有幾個實參

2.2. 函式的傳遞方式

• 定義形參時,可以為形參指定預設值。指定了預設值以後,如果使用者傳遞了引數則預設值不會生效。如果使用者沒有傳遞,則預設值就會生效

 位置引數:位置引數就是將對應位置的實參賦值給對應位置的形參
 關鍵字引數 : 關鍵字引數可以不按照形參定義的順序去傳遞,
而根據引數名進行傳遞
 混合使用位置引數和關鍵字引數的時候必須將位置引數寫到關鍵字引數前面去
  1. 不定長引數
    • 定義函式時,可以在形參前面加一個*,這樣這個形參可以獲取到所有的實參,它會將所有的實參儲存到一個元組中
    • 帶*號的形參只能有一個,可以和其他引數配合使用
    • *形參只能接受位置引數,不能接受關鍵字引數
    • **形參可以接收其他的關鍵字引數,它會將這些引數統一儲存到字典當中。字典的key就是引數的名字,字典的value就是引數的值
    • **形參只有一個,並且必須寫在所有引數的後面
  2. 引數的解包
• 傳遞實參時,也可以在序列型別的引數前新增星號,
這樣它會自動的將序列中元素依次作為引數傳遞
• 要求序列中的元素的個數必須和形參的個數一致
 函式的解包
 def fun(a,b,c)
     print(a)
     print(b)
     print(c)
 t=(1,2,3)
 fun(*t)
 

def fun(a,b,c)
     print(a)
     print(b)
     print(c)
 t=('a':1,'b':2,'c':3)
 fun(**t)

作業

  1. 列印名片程式:輸入姓名,電話號碼,性別,最後打印出來名片
    • 控制姓名長度為6-20
    • 電話號碼長度11
    • 性別只能允許輸入男或女
    • 每一樣資訊不允許為空
def Print_name_card(name,phone,sex):
    falg = True
    while falg:
        if name !='' and phone != '' and sex != '':
            if len(name) < 6 or len(name) > 20:
                print("您輸入不符合規範姓名(6-20)長度,請重新輸入姓名:")
                name = input("請輸入姓名:")
            elif len(phone) != 11:
                print("您輸入不符合規電話號碼(11)長度,請重新輸入電話號碼:")
                phone = input("請輸入電話:")
            elif sex != '男' and sex != '女':
                print("您輸入不符合性別,請重新輸入性別:")
                sex = input("請輸入性別:")
            else:
                Print_name_cards = """
                   姓名:%s,
                   電話:%s,
                   性別:%s
                """ % (name, phone, sex)
                print(Print_name_cards)
                falg = False
        else:
            if name =='':
                print("您的姓名不能為空")
                name = input("請輸入姓名:")
            elif phone =='':
                print("您的電話不能為空")
                phone = input("請輸入電話號碼:")
            elif sex =='':
                print("您的性別不能為空")
                sex = input("請輸入性別:")
name = input("請輸入姓名:")
phone = input("請輸入電話:")
sex = input("請輸入性別:")
Print_name_card(name,phone,sex)