1. 程式人生 > >我要學python之python語法及規範

我要學python之python語法及規範

exc utf-8 數值 包括 興趣 相等 als 版本 算數

註釋

單行註釋: #
多行註釋:
"""
寫入註釋內容
"""
‘‘‘
寫入多行註釋內容
‘‘‘

備註:python中單引號和雙引號作用是一致的。

變量

python的命名規則與java或者C#命名規則是類似的,如下

變量命名規則:
1.變量名只能是字母、數字、下劃線的任意組合
2.不能數字開頭
3.關鍵字不能聲明為變量

關鍵字

[‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

這些關鍵字可以進入交互模式下,然後引入keyword模塊,輸出keyword.kwlist

>> import keyword
>> keyword.kwlist
>> [‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

隨著python的發展可能會改變,所以最新的關鍵字列表就用這種方式查看比較好。

輸入

備註:在3.x後的版本和2.6之前的版本,有很多不同,所以在你操作時,先確認好版本。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 2.x版本
name = raw_input("請輸入用戶名:")

#3.x版本
name2 = input("請輸入用戶名:")

#2.7和2.6屬於過度版本,同時可以兼容上面兩種寫法,
#但我覺得3.x才是未來,所以你可以不管以前的

#打印輸出名字

#2.x版本
print name

#3.x版本
print(name2)

流程控制

if...else
if...elif...else
while...
while...else
for...
for...else

這些流程控制上的我要覺得有點意思的是:
while...else
for...else
先來說結果:else塊代碼只有在while和for正常執行完成才會執行,如果break則不會執行。

比如現在我們來寫個小程序,要求如下:
題目: 寫一個python程序,實現猜數字值的功能,讓用戶輸入一個數字,如果猜對了則輸出bingo!如果猜錯了,提示輸入的數字相比目標數字更大還是更小,但最多使用3次機會。
下面我使用while演示一下簡單邏輯:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#預設猜數值
realnumber = 35
#猜測數字次數
times = 3

#循環進行程序輸入判斷
while times > 0:
    target = int(input("請輸入數字:"))
    #判斷是否與目標數值相等
    if target == realnumber:
        print("bingo!")
        break
    elif target > realnumber:
        print("輸入的值比目標值大!")
    else:
        print("輸入數值比目標數值小!")
    times -= 1
else:
    print("三次機會已經用完!")

基本數據類型

int \ long\ float\complex\布爾值\字符串\列表\元祖\字典

1.數值類型

int(整型):取值-231~231-1
long (長整型):-263~263-1
float(浮點型):處理實數,類似於c的double類型,8字節
complex(復數):一般形式:x+yj,x,y都是實數
備註:python中存在小數字池:-5 ~ 257, 類似於系統自帶的常量池

2.布爾值

真和假(1和0)

3.字符串
與java類似的

4.列表

比如說:
namelist = [‘a‘,‘b‘,‘c‘]
或者
namelist = list([‘a‘,‘b‘,‘c‘])
跟java、c#比,類似List
基本操作有:自行查閱相關文檔

5.元祖

ages = (11,12,23,24)
或者
ages = tuple((11,12,23,24))
基本操作有:自行查閱相關文檔
備註:
a.當定義一個單元素元組時,後面必須跟一個逗號,否則拋異常。
b.元祖中的元素不可修改,否則報:TypeError: ‘tuple‘ object does not support item assignment

6.字典

person = {"name": "ckmike", "age": 23, "sex": "男"}
或者
person = dict({"name": "ckmike", "age": 23, "sex": "男"})
跟java、c#相比,類似於Map,它也是無序的
常用操作:自行查閱相關文檔

運算符

  1. 算數運算符:
    包括: 加減乘除(+ - * /),**(冪),// 取商的整數部分,%取余數

  2. 比較運算符:
    包括: ==, != , <> , > , < ,>=, <=

  3. 賦值運算符:
    = 簡單賦值
    += 加法賦值運算,下面的依次類推
    =
    /=
    =
    %=
    //=

  4. 邏輯運算符:
    and 與
    or 或
    not 非

  5. 成員運算符:
    in 判斷指定序列中是否包含指定值
    not in

  6. 身份運算符:
    is 判斷兩個標識是否引用自一個對象
    is not

  7. 位運算符:
    位運算與java、c#等語言都是一樣的

備註:這些運算符的優先級,我不在這裏進行書寫,感興趣的可自行查閱運算符優先級。

我要學python之python語法及規範