1. 程式人生 > >python:函式和迴圈判斷

python:函式和迴圈判斷

---恢復內容開始---

輸出顯示

先說一下最基礎的輸出:

print('hello world')

唯一值得提到是字串的format函式。

format函式代替了C中的%s。

print('{0} say:{0} {1}。'.format('python', 'hello world'))

{0}是format的第一個字串,{1}是format的第二個字串。

IF判斷

if 1 > 2:
    print('1>2')
else:
    print('1<=2')

在if判斷中,還有elif,在之後的聯絡中,可能會用。

for迴圈

for item in [1, 2, 3]:
    print(item)
for item in [1, 2, 3]:
    print(item)
    if item == 2:
        break
else:
    print(5)

在這裡我們要注意,for迴圈中還可以加else,我在C++,java中都沒有遇見怎麼好用的功能,只有全部迴圈完成,才能執行else;當break時,就不能執行else。

 

函式

普通引數

def f1(name):
    print('hello', name)

f1('alex')

預設引數

def f1(name='no name'):
    print('hello', name)

f1()

預設引數無引數傳入也可以執行

 

還有兩種是普通引數和預設引數的延伸——收集引數。

收集引數

def f2(*args):
    print(type(args))
    for i in args:
        print(i)
f2('alex', 'alen')

收集引數可以傳入好多引數,只要不是關鍵字引數,沒有被預設引數搶走,都會存成tuple。

def f3(**kwargs):
    print
(type(kwargs)) for k, v in kwargs.items(): print(k + '-------' + v) f3(name = 'alex', sex = 'male')

而傳進的多餘的關鍵字引數,會存在字典(dictionary)中

關鍵字引數

 在呼叫函式時,如果要指定傳某個引數,而不是按順序傳引數,就用到了關鍵字引數。

多種引數混合呼叫的順序問題