Tải bản đầy đủ (.ppt) (24 trang)

blue moon python trọn đời

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (442.1 KB, 24 trang )

Python, ngôn ngữ lập trình
cho phần đời còn lại
Nguyễn Thành Nam

TPHCM, 2008-11-15




Nội dung







Kinh nghiệm bản thân
Giới thiệu Python
Nguyên lý căn bản của Python
So sánh với ngôn ngữ khác
Giới thiệu Vithon
Hỏi và cùng trả lời

Blue Moon Consulting Co., Ltd © 2008 – –


Kinh nghiệm bản thân









Biết đến Python từ 2003
Học trong 5 tiếng
Sử dụng hàng ngày cho đến tận bây giờ
Sáu từ để diễn đạt: Học 5 tiếng, dùng
suốt đời!
Gặp nhiều khó khăn trong việc soạn slide
Gần quên Java và C/C++
Đã quên sạch Perl, PHP và Ruby

Blue Moon Consulting Co., Ltd © 2008 – –


Giới thiệu Python




Ra đời năm 1991
Tác giả Guido Van Rossum, Hà Lan
Là ngôn ngữ lập trình









Tổng quát
Kịch bản (scripting)
Kiểu vịt (duck typing)
Kiểu động (dynamic typing)
Nhưng có kiểu (strongly typed)

Kèm sẵn pin (Battery included)

Blue Moon Consulting Co., Ltd © 2008 – –


Nguyên lý căn bản của Python


Ưu tiên cho việc đọc lại code
• Khoảng trắng bắt buộc
• Hạn chế sử dụng ký tự đặc biệt
• Chương trình phải được viết ra để cho
người đọc, và chỉ là sự trùng hợp để
máy tính thực thi (Abelson & Sussman,
MIT)



Sự đơn giản được xem trọng
• Đã có while, nên bỏ do-while
• Đã có elif, nên bỏ switch-case


Blue Moon Consulting Co., Ltd © 2008 – –


Nguyên lý căn bản của Python


Ngôn ngữ khác có hộp, Python có thẻ
Ngôn ngữ khác
Python (tên)
(biến)
a=1
a=2
b=a

Blue Moon Consulting Co., Ltd © 2008 – –


Nguyên lý căn bản của Python


Kiểu cơ bản: int, long, float, dãy
(sequence), từ điển (dictionary)









A = 123 # int
B = 123456789123456789 # long
C = 123.456 # float
D = (1, 2, 3) # tuple
E = [1, 2, 3] # list
F = “12345” # string
G = { 1 : ‘abc’, 2 : “def” } # dictionary

Blue Moon Consulting Co., Ltd © 2008 – –


Nguyên lý căn bản của Python


Cấu trúc lặp và điều khiển
• if/elif/else
• while
• for



Xử lý biệt lệ





try/except
try/finally

try/except/else
try/except/finally (Python 2.5+)

Blue Moon Consulting Co., Ltd © 2008 – –


Nguyên lý căn bản của Python






Khai báo hàm bằng def
Khai báo lớp bằng class
Đa kế thừa (multiple inheritance)
Tất cả mọi đối tượng (gói, mô-đun, lớp,
hàm, biến, v.v…) đều chỉ là “tên” trong
không gian tên (namespace) tương ứng
Và chỉ đơn giản như thế thôi!

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Tính dễ đọc
Perl
~!@#$%^&*()
Ruby
~!@#$%^&*()


Python
~%^&*()

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Hoán vị 2 số
C
int
t =
a =
b =

a, b, t;
a;
b;
t;

Python
a, b = b, a
a, b, c=b, c, a

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Tính toán số lớn
Java


Python

BigInteger a, b, c;
a =
12345678901234567890
a = new
BigInteger(“12345678 b =
901234567890”);
12345678901234567890
b = new
c = a * b
BigInteger(“12345678
901234567890”);
c = a.multiply(b);
Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
In các phần tử trong mảng n > 1
Java

Python

System.out.print(a[0]) print “ “.join(a)
;
for (int i = 1; i <
a.length; i++) {
System.out.print(“ “
+ a[i]);

}

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
In các phần tử trong mảng n > 1
Java

Python

System.out.print(a[0]) print “ “.join(a[:;
1]), “va”, a[-1]
for (int i = 1; i <
a.length - 1; i++) {
System.out.print(“ “
+ a[i]);
}
System.out.print(“ va
“ + a[a.length –
1]);
Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Đọc file
Java

Python


// too many lines
// to show
// here

f = open(filename,
“rb”)
d = f.read()
f.close()

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Đọc từng dòng
Perl

Python

open(DATA,
f = open(filename,
“filename”);
“r”)
while ($line = <DATA>) for line in f:
{
print line
print $line;
f.close()
}
close(DATA);


Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Lọc phần tử trong mảng
Java

Python

for (int i=0; i <
a.length; i++) {
if (a[i] % 2 == 0)
b.add(a[i]);
}

b = [x for x in a if
(x % 2) == 0]

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Lấy file từ URL
PHP

Python

$file =
import urllib2
fopen(“ r =

ogle.com”);
urllib2.urlopen(“htt
p://www.google.com”)

include(“http://remote/attack.php”);

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Đảo chuỗi
PHP

Python

strrev(“abc”);

“abc”[::-1]

# cba

Ruby
“abc”.reverse

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Chuyển mã
PHP


Python

gzdeflate(base64_decod “abc”.encode(“zlib”).e
e(base64_encode(gzco
ncode(“base64”).deco
mpress(“abc”))))
de(“base64”).decode(
“zlib”)

Blue Moon Consulting Co., Ltd © 2008 – –


So sánh với ngôn ngữ khác
Ứng dụng web
PHP

Python

N/A

Ví dụ chương trình cờ tướng
sử dụng AJAX với tính
năng trò chuyện viết trong
48 tiếng đồng hồ.

Blue Moon Consulting Co., Ltd © 2008 – –


Giới thiệu Vithon










Vietnamese Python
Python cho người Việt
Do người yêu thích Python
Cho người yêu thích Python
Tài liệu, diễn đàn, dự án, bài viết, bài
dịch
Hãy cùng tham gia

Python là số một nha!

Blue Moon Consulting Co., Ltd © 2008 – –


Cảm ơn
Life is short, use Python!
Python cho phần đời còn lại!
Nguyễn Thành Nam


Blue Moon Consulting Co., Ltd © 2008 – –



Hỏi và cùng trả lời

Blue Moon Consulting Co., Ltd © 2008 – –



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×