1. 程式人生 > >[Python_2] Python 基礎(1)

[Python_2] Python 基礎(1)

方式 中文 無需 構造 字符串解析 print 乘法表 結束 遍歷字典


0. 說明

  Python 基礎筆記,使用的版本為 Python 3.6.2

  Python 的變量、字符串操作、list、元組、字典、循環、range、類型轉換、運算等操作。


1. 引號的使用

  字符串使用單、雙引號輸出,‘‘‘或"""三引號也可以,後者通常用於多行文檔原生輸出。

# 雙引號
print("hello world")

# 單引號
print(hello world)

# (2.x  ,號結尾不換行打印)(3.x  end=""結尾不換行打印)
print("hello world" , end="")


2. Python 腳本中文亂碼的解決之道

  在 Python 腳本頭部添加 UTF-8 字符集聲明

#-*- coding:utf-8 -*-

  Linux 下的腳本需要在頭部添加解釋器如下,使用 which is python 查看 Python 的位置。

#!/usr/bin/python


3. 變量

  Python 變量不用聲明,開袋即食。

# 無需定義變量
x = 10
print(x)


4. 代碼塊

  Python 的代碼塊以縮進四個字符表示

# 縮進作為代碼段
if True:
    print(1)
    print(2)
else:
    print(0)


5. 手動換行

  手動換行為 \

# 相當於 1+2+3
x = 1 +     2 +     3
print(x)


6. 註釋

  單行註釋 & 多行註釋

# 單行註釋

"""
 多行註釋
 多行註釋
"""


7. 字符串操作

s = "hello world"

# 輸出指定位置的字符
print(s[0])
# ll,前包後不包
print(s[2:4])
# llo world
print(s[2:])
# hell
print(s[:4])
# hello worl
print(s[:-1])
# hello world
print(s[:])

#重復幾遍操作 hello worldhello world print(s * 2) # 濾除兩邊的空格,等價於trim print(" hello world ".strip(" ")) # 濾除左邊的指定字符 print(" hello world ".lstrip(" \r\t\n")) # 濾除右邊的字符 print(" hello world ".rstrip("\r\n;")) # 字符串轉換函數 print(str(100))


7. 格式化操作

# 字符串格式化操作
info = "name is %s and age is %d"%("tom" , 12)
print(info)
# 如果變量多次出現,可以使用format方式
info = "name is {x} , welcome for {x}".format(x="tom")
print(info)


8. 變量定義

# 變量必須初始化
a= 100

# 錯誤,沒有賦值
b

# 同時定義多個變量並賦值
a , b , c = 1 , 2 ,3


9. 數據類型

# int
a = 100

# float
a = 100.0

# python3 沒有長整形

# 復數
a = 1 + 1j
a = 0 + 1j
print(pow(a, 2))
print(a * a)

# 字符串
a = "hello world"
print(a)


10. List

  List表示列表或數組,可以重復,有序,等同於 Java 中的 List 集合,List 內容可以修改。

# []是列表
l = [1,2,3]
print(l)
print(l[0])
print(l[1:])
print(l[:-1])
print(l[-2:])

# 追加元素
l.append(4)
print(l)

# 判斷是否包含指定元素
print(l.__contains__(5))

# 重復操作
print(l * 2)

# 修改元素
l[0] = 100
print(l)

  in 操作

"""
    in 操作表示在集合中是否存在
"""
list = [1, 2, 3]
print(2 in list)


11. 循環

"""
    循環,end="" 不換行打印
"""
list = [1, 2, 3, 4, 5, 6]
for e in list:
    print(e, end="")

"""
    for 循環實現 99 乘法表格
"""
rows = [1, 2, 3, 4, 5, 6, 7, 8, 9]
cols = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for r in rows:
    for c in cols:
        if c <= r:
            print("%d x %d = %d\t" % (c, r, (c * r)), end="")
    print()

"""
    while 循環實現 99 乘法表格
"""
i = 1
while (i < 10):
    j = 1
    while (j <= i):
        print("%d x %d = %d\t" % (j, i, (i * j)), end="")
        j += 1
    print()
    i += 1


12. range 對象

  range 是範圍對象,指定起始(包括)、結束(不包括)和步長。註意 range 在 Python3 和 Python2 是不同的.

"""
    range 快速構造數字序列,[)區間
    Python3 的 range 返回值為一個可叠代的對象,可以用list() 將其轉換為 list
    結果如下:
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    range(1, 10, 2)
    range(10, 1, -1)
"""
r1 = range(1, 10)  # 步長1,必須是整數
r2 = range(1, 10, 2)  # 步長2
r3 = range(10, 1, -1)  # 步長-1
print(list(r1))
print(r2)
print(r3)


13. 元組

  元組類似於數據表中的一條記錄,每個組員有不同的類型,內容不能修改,使用()表示。

"""
    元組,使用()表示,元組不可變
"""
t = (1, "tom", 12)
# t[0] = 100 錯誤,元素不能修改
print(t, end="")
print(t[0:-1], end="")
print()
for e in t:
    print(e)


14. 字典

  字典等同於 Java 中的 map,使用 KV 方式存儲。通過 Key 查找 Value。使用 {} 構造。

"""
    字典,類似於 Java 的 map,以 KV 對表示
"""
d = {1: "tom1", 2: "tom2", 3: "tom3", 4: "tom4"}
d[1]
d[1] = 100
# 包含k操作
print(3 in d)
# 刪除元素
d.pop(1)
print(d)

# 遍歷字典,叠代所有的key
for e in d.keys():
    print(e)
# 遍歷字典,叠代所有的value
for e in d.values():
    print(e)
# 叠代所有的元組,字典看作是元組的集合。
for e in d.items():
    print(str(e[0]) + ":" + e[1])
# 反解析字典每個元素的內容到kv中
for (k, v) in d.items():
    print(str(k) + ":::::" + v)


15. 類型轉換

"""
    類型轉換
"""

# 轉換成字符串 str(x)
print(str(100) + str(2))

# 轉換成整數 int("100")
print(int("100") + 2)

# 轉換成float類型
print(float("3.1415926"))
print(float(10))

# 將字符串解析成數學表達式進行計算
express = "1 + 2 - 3 * 4 / 2"
print(eval(express))

# set()不重復集合
s = set([1, 1, 1, 2, 2, 3])
print(s)

# 列表、元組、字典轉成字符串
print(str([1, 2, 2, 3, 4, 5]))
print(str((1, 23, 45)))
print(str({1: "tom1", 2: "tom2"}))


16. 運算

# -*-coding:utf-8-*-

""""
    運算符
"""
# 整除
print(1 / 2)
# 取余
print(1 % 2)

# 冪函數,2^3
print(2 ** 3)

# 浮點數除法
print(1.0 / 2)
# 整除
print(1.0 // 2)

# 進制變換
print(hex(97))  # 轉換成16進制
print(oct(97))  # 轉換8進制
print(chr(97))  # 轉換成字符

""""
    位運算
"""
print(1 & 2)
print(1 | 2)
print(1 ^ 2)  # 異或
print(~1)  # 取反
print(1 << 1)
# 有符號右移
print(-1 >> 1)

"""
    邏輯運算
"""
print(1 < 2 and 2 > 3)
print(1 < 2 or 2 > 3)
print(not 1 < 2)

"""
    身份運算
"""
a = [1, 2, 3, 4, 5]
b = a[0:3]
# 判斷是否是同一對象
print(a is b)
# 判斷內容是否相同
print(a == b)

"""
    條件運算
"""
age = 15
if age < 18:
    print("少年")
elif age > 60:
    print("老年")
else:
    print("中年")


[Python_2] Python 基礎(1)