顯示具有 python3 標籤的文章。 顯示所有文章
顯示具有 python3 標籤的文章。 顯示所有文章

2015年11月23日 星期一

Python3 字串或程式碼太長

Python3: 3.4.3

寫Python的人應該都知道,Python利用縮排來定義程式碼區塊,
縮排規則比大多數的程式語言還要嚴格,
如果遇到一個很長的字串,例如:
string = 'aaaaaaaaaaaaaaaaaaa bbbbbbbbbbbb cccccccccc ddddddddddddddddddd'
可以利用括號來換行:
string = ('aaaaaaaaaaaaaaaaaaa'
    'bbbbbbbbbbbb '
    'cccccccccc '
    'ddddddddddddddddddd')
括號會把每個字串銜接起來。
如果是程式碼太長也可以使用一樣的方法:
    number = (a * b * c * 
        d * e * f * g * h)

Python3 三元運算式

Python3: 3.4.3

在C語言(或其他C-like)中,時常運用三元運算式(Ternary Operator),
通常是這樣寫:
min = (a <= b) ? a : b;
而在Python3中,則是:
min = a if a <= b else b

2014年5月3日 星期六

Python3 連結MySQL(MariaDB, Pernona)

Version info:
Python: 3.4.0
MySQL: 5.5.37
OS: Ubuntu Linux 14.04

首先,下載並安裝Python3-mysql.connector套件。

sudo apt-get install python3-mysql.connector
範例程式:

import mysql.connector
#輸入DB的使用者名稱,使用者密碼,主機名稱與DB名稱。
cnx = mysql.connector.connect(user='user_name', password='user_password', host='localhost',database='db_name')
cursor = cnx.cursor()
#設定編碼。
cursor.execute('set names utf8')

query = "SELECT * from a_table"
cursor.execute(query)
#抓取資料。
data = cursor.fetchall()
#完成,回傳一個tuple型態的資料。
print(data)
#下面的程式片段是要讓程式回傳一個list,其中每一筆資料使用dict格式,也就是key-vaule的形式,像是:result[0]['abc']表示第一筆且column名稱為「abc」的資料。
column_name = cursor.column_names
result = list()
temp = dict()

for i in range(len(data)):
    for j in range(len(column_name)):
        temp[column_name[j]] = data[i][j]
    result.append(temp)
    temp = dict()
print(result)

#關閉與資料庫的連結
cnx.close()


2015/09/27
PyMySQL用法也跟mysql.connector一樣。
參考資料:
How to connect Python programs to MariaDB