1. 程式人生 > >Python學習:5、if語句,while語句,函數以及商城示例

Python學習:5、if語句,while語句,函數以及商城示例

else 並且 參數傳遞 class color code 多個參數 else語句 參數

條件控制語句

if語句

簡單if判斷語句,當if後面的條件為真的時候,執行print(‘yes‘),否則執行else裏面的語句,print(‘No‘)

if True:
    print(yes)
else:
    print(No)

多次判斷

首先判斷pd是否大於零,否則判斷pd是否小於零

pd = input(請輸入數字:)
pd = int(pd)        #使用input拿到用戶輸入的值得類型都是字符串
if pd > 0:
    print(輸入的為正值)
elif pd < 0:
    print(輸入的為負值)
else:
    
print(輸入的為零)

三目運算

三目運算就是將if else語句通過一條語句表示出來,格式如下

name=值1 if 條件 else 值2
如果"條件"成立就把"值1"賦值給"name"
如果"條件"不成立就把"值2"賦值給"name"
name="alexsel" if 1==1 else "eric"
print(name)

輸出結果:
alexsel

三目運算的的目的就是減少代碼量。

循環語句

一、for循環

遍歷輸出有多個元素的數據,例如一個字符串,一個列表。使用in拿到後面變量裏的單個元素。

str = "alexsel"
list = [1,2,3,alexsel
] for i in str: print(i) print(----------------) for k in list: print(k) 輸出結果: a l e x s e l ---------------- 1 2 3 alexsel

可以使用break提前結束循環

for i in range(10): #使用range一個可循環的0到9的數列。
    print(i)
    if i == 5:
        print(結束循環)
        break    #如果不提前結束就輸出1到9


輸出結果:
0
1
2
3
4
5
結束

使用continue跳過一次循環

for i in range(10): 
    if i == 5:
        continue    #使用這個語句之後,跳過本次循環中在continue之後的語句,在這裏跳過了print(i),5沒有輸出
    print(i)



輸出結果:
0
1
2
3
4
6
7
8
9

二、while循環

while一般形式如下

while 條件:
    語句

當條件為真的時候一直執行,直到條件為假。

var = 1
while var < 10:
    print(var)
    var += 1


輸出結果:
1
2
3
4
5
6
7
8
9

當條件一直為真,會無限循環。

var = 1
while var == 1:
    print(var)


輸出結果:
1
1
1
1
1
....

while循環中使用else,當while循環為假的時候,執行else中的語句。

i = 0
while i < 5:
    print(i)
    i += 1
else:
    print(i等於5)


輸出結果:
0
1
2
3
4
i等於5

函數

一、創建函數

1、創建一個函數的基本格式

def 函數名(形式參數):
    函數體
    return "123"
   

二、函數的返回值

函數執行了return之後就不再執行下面的代碼,並且將返回的值給調用函數之後賦予的變量。

def f2():
    name = alexsel
    return name

tem = f2()
print(tem)



輸出結果:
alexsel

三、函數的調用

使用函數的名字調用函數

def f1():
    print(我被調用了)

f1()    #在這裏函數被調用

四、向函數中傳入參數

傳入函數中的參數需要一一對應,在下面的示例中,alexsel將值傳給name,50傳給age,是第幾個,就傳遞給第幾個。

def obj(name,age):
    return name+的年齡為+str(age) #這裏傳入的參數的類型為數值,我們要做字符串拼接,將它轉換為字符串

str = obj(alexsel,50)
print(str)


輸出結果:
alexsel的年齡為50

五、函數可以有默認參數

一個函數中的參數可以設置默認值,當沒有對參數傳遞值得時候,就使用默認值,有默認值的參數應該放在沒有默認參數的後面。

def drive(name=""):  #name這個有默認參數,有默認參數的應放在無默認參數的後面,否則報錯,無默認參數的必須傳參數,有默認參數的可以不傳參數
    temp=name+"開車"    
    return temp
ret=drive("you") 
print(ret)
ret=drive("he")
print(ret)
ret=drive()
print(ret)

輸出結果:
you開車
he開車
我開車

六.動態參數

1.可以接收多個值的動態參數

def a1(*a):  # 動態參數,可以接受多個值
    print(a, type(a))  # 現在a的類型為元組,把你傳入的實參當作元組的元素

a1(123, 3, 444, 555, [11, 22, 33])  # 這裏的傳入的列表視為一個元素



輸出結果:
((123, 3, 444, 555, [11, 22, 33]), <type tuple>)

2.以及將接收多個參數轉換為字典的動態參數

def a2(**b):  # 動態參數,接收的參數轉換為字典
    print(b, type(b))  # b的類型為字典,傳過來的參數轉換為字典


a2(k1=123, k2=345)



輸出結果:
({k2: 345, k1: 123}, <type dict>)
def a3(p, *a, **aa):        #這裏的a拿到傳入的第一個參數,*a拿到不是字典類型的參數,**拿到傳入是字典類型的參數
    print(p, type(p))
    print(a, type(a))
    print(aa, type(aa))

a3(11, 22, 33, k1=123, k2=456)
# 在這裏自動把11給p,22,33給*a,把k1=123,k2=456給**a
# **要在*前面,這兩個要在一般參數數的後面,而且實參也要按此排序


輸出結果:
(11, <type int>)
((22, 33), <type tuple>)
({k2: 456, k1: 123}, <type dict>)

3、為動態參數傳入 列表、字典、元組的示例:

將字典傳入函數中不能直接傳遞,需要在傳遞的函數之前添加**

def f1(*args):
    print(args)

li = [11, 22, 33]
f1(li)  # 這樣傳參數則這個args元組的第一個元素為列表[11,22,33]
f1(*li)  # 這樣傳參數是會把這個列表的每一個元素一一傳過去結果會是
# 這個列表的每一個元素會成為args元組的每一個元素(11,22,33)

def f2(**kwargs):
    print(kwargs)
dic = {"k1": 123, "k2": "aas"}
#f2(dic)  # 這樣傳參數報錯
f2(k1=dic)  # 這樣傳參數會變成kwargs={"k1":{"k1":123,"k2":"aas"}
f2(**dic)  # 要想把dic裏的元素一個一個傳過去,格式為kwargs={"k1":123,"k2":"aas"},需要在dic前加**

輸出結果:
([11, 22, 33],)
(11, 22, 33)
{k1: {k2: aas, k1: 123}}
{k2: aas, k1: 123}

七、局部變量、全局變量

1、局部變量

局部變量一般在函數中定義,它的作用域也僅僅只在這個函數中可以調用,在函數之外不能調用。

def f1():
    a=123
    print(a)#這個a為局部變量只有這個函數裏才能用
f1()
print(a)#在函數之外輸出這個a會報錯

輸出結果:
123
然後是報錯信息

2.全局變量

a = 1234  # 全局變量
b = 1000001

def f1():
    a = 123  # 這個a為局部變量只有這個函數裏才能用
    print(a)  # 在這裏輸出的是局部變量,在自己的函數中首先尋找自己函數中是否定義了這個變量,如果沒有就使用全局變量
    print(b)

f1()


輸出結果:
123
1000001

如果想在函數之外調用函數中定義的變量,可以在函數中定義一個全局變量

a = 1234

def f1():
    global a  #在這裏定義了一個全局變量,在下面對全局變量進行重新賦值
    a = 123
    print(a)  # 輸出結果為:123

f1()
print(a)  # 輸出結果為:123


輸出結果:
123
123

Python中還有大量的內置函數,我們在以後的學習中會繼續講解,今天的學習到此結束了,如果有錯誤的地方歡迎大家指出。

Python學習:5、if語句,while語句,函數以及商城示例