Python
一、環境搭建
Python下載
略
idea配置
略
二、基礎知識
變量、語句、縮進、註釋
變量命名規則
- 標識符只能由字母,數字或者下劃線組成
- 標識符第一個字符不能爲數字
- 關鍵字不能聲明爲標識符
- 儘量做到見名知意
語句
程序由語句組成,表達式用來計算,語句用來執行
縮進
- 縮進的作用
在代碼行前面添加空格或縮進,可以使程序更有層次和結構感,從而使程序更易讀.
- Python中的縮進
在Python程序中,縮進不是任意的.平級的語句行(代碼塊)的縮進必須相同
註釋
- 單行註釋:#號
- 多行註釋:三引號(單引或者雙引)
輸入輸出語句
輸入語句
#Python 2.7
name = raw_input("What is your name?")
#Python 3.x
name = input("What is your name?")
輸出語句
#Python 2.7
print name
#Python 3.x
print (name)
編程文件及執行
模塊命名規範
小寫字符,單詞之間用_分割
Hello World程序
print("Hello World")
1.數據類型
六種標準數據類型
- number(數字):int、float、bool
支持int、float、bool、complex(複數)
- str(字符串)
Python中的字符串用單引號(‘)或雙引號(“)括起來,同時使用反斜槓()轉義特殊字符。
- list(列表)
列表元素可重複,可修改
列表是寫在方括號([])之間,用逗號分隔開的元素列表.
索引值以0爲開始值,-1爲從末尾的開始位置.
加好(+)是列表連接的運算符,星號(*)是重複操作.
- tuple(元組)
元組與列表類似,不同之處在於元組的元素不能修改.
元組寫在小括號()裏,元素之間用逗號隔開.
- set(集合)
集合是一個無序不重複元素的序列.
集合的基本功能是進行成員關係測試和刪除重複元素.
可以使用大括號{}或者set()函數創建集合.注意:創建一個空集合必須用set()而不是{},因爲{}是用來創建一個空字典.
- dict(字典)
列表是有序的對象集合,字典是無序的對象集合.
兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取.
字典是一種映射類型,字典用”{}”表示,它是一個無序的鍵(key):值(value)對集合.
鍵(key)必須使用不可變類型.
在同一字典中,鍵(key)必須是唯一的.
不可變數據類型
- number(數字)
- str(字符串)
- tuple(元組)
可變數據類型
- list(列表)
- set(集合)
- dict(字典)
查詢和判斷對象類型的方法
Python內置的type()函數可用來查詢對象類型.
isinstance用來判斷.
2.運算符
Python支持的運算符類型
- 算數運算符
- 比較運算符
- 賦值運算符
- 邏輯運算符
- 成員運算符
- 身份運算符
運算符優先級
按照優先級由高到低排列如下
運算符 | 描述 |
---|---|
** | 指數(最高優先級) |
~ + – | 按位翻轉,一元加號和減號 |
* / % // | 乘,除,取模和取整除 |
+ – | 加法減法 |
>> << | 右移,左移運算符 |
& | 位‘AND’ |
^| | 位運算符 |
<= < > >= | 比較運算符 |
<> == != | 等於運算符 |
= %= /= //= .= += *= **= | 賦值運算符 |
is is not | 身份運算符 |
in not in | 成員運算符 |
and or not | 邏輯運算符 |
三、條件語句與循環語句
條件語句
ython條件語句是通過一條或多條語句的執行結果(True或者False),來決定執行的代碼.
(1)if語句格式
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
(2)if嵌套格式
在嵌套if語句中,可以把if…elif…else結構放在另外一個if…elif…else結構中.
if 表達式1:
語句
if 表達式2:
語句
elif 表達式3:
語句
else:
語句
elif 表達式4:
語句
else:
語句
循環語句
Python中的循環語句有for和while.
- while
while 判斷條件:
語句
- for
for <variable> in <sequence>:
<statements>
else:
<statements>
-
循環中斷語句
- break語句:跳出本層循環體
- continue語句:跳過本次循環體剩餘語句
- pass語句作用:保持程序結構的完整性
-
循環中的else子句僅在沒有調用break時執行.
-
range()函數可創建一個整數列表,一般用在for循環中.
函數語法range(start,stop[,step])
參數說明
start:計數從start開始.默認是從0開始.例如
range(5)
等價於range(0,5);
stop:計數到stop結束,但不包括stop.例如
range(0,5)
是[0,1,2,3,4]
沒有5.step:步長,默認爲1.例如
range(0,5)
等價於range(0,5,1)
四、程序練習
- 猜字謎
import time
name = "林令德"
number = "201701011326"
con = """
我的名字是%s,我的學號是%s, 現在時間是%s
"""
print(con % (name,number,time.strftime("%Y-%m-%d")))
number = 36
guess = -1
print("數字猜謎遊戲!".center(36,'-'))
while guess != number:
try:
guess = input("請輸入你猜的數字:")
# print(type(guess))
guess = int(guess)
except ValueError as e:
print("\033[0;31m\t請輸入數字\033[0m")
continue
# print(type(guess))
if guess == number:
print("\033[0;32m\t恭喜,你猜對了!\033[0m")
elif guess < number:
print("\033[0;31m\t猜的數字小了\033[0m")
else:
print("\033[0;32m\t猜的數字大了\033[0m")
- 100以內偶數和
a = 0;
for i in range(100):
if i % 2 == 0:
a += i
con = """一百以內的偶數的和爲%s"""
print(con % (a))
- 100以內奇數和
a = 0
for i in range(100):
if i%2!=0:
a += i
con = """一百以內的奇數的和爲%s"""
print(con %(a))