Python – Tóm Tắt - Máy Học Cho Người Việt
Có thể bạn quan tâm
Tổng số lượt xem trang
Social Profiles
Follow
- BÀI 4: CHUẨN HÓA DỮ LIỆU Sau khi đã tìm hiểu dữ liệu qua thống kê và hình ảnh, chúng ta đã có thể bắt tay vào việc tiền xử lý dữ liệu. Sau bài học này, người học ...
- Bài 5: SIMPLE LINEAR REGRESSION (HỒI QUY TUYẾN TÍNH MỘT BIẾN) Mô hình Linear Regression là một kĩ thuật thường được dùng trong các mô hình phân tích và dự đoán. Mô hình chỉ ra một quan hệ tuyến tính...
- BÀI 1: HIỂN THỊ DỮ LIỆU Sau bài học này, người học có khả năng: · Truy xuất dữ liệu trên các tệp (csv, .txt) · Dùng các thư viện để hiển thị ...
Người đóng góp cho blog
- Phan Trọng Đạt
- Superman Ox
- Unknown
- Unknown
- Unknown
Lưu trữ Blog
Labels
- libray for machine learning
- numpy
- python
- scikit-learn
- scipy
- sklearn
Blog Archive
Users
Thứ Ba, 30 tháng 5, 2017
Python – tóm tắt
Python là ngôn ngữ thông dịch (interpreted language). Mỗi câu lệnh được dịch trực tiếp, thay vì dịch cả chương trình. Trong Python, chúng ta không cần khai báo kiểu cho biến, tham số, hàm và các phương thức. Điều này làm cho Python ngắn gọn và linh hoạt, và không tốn thời gian kiểm tra kiểu trong thời gian biên dịch. Python sẽ kiểm tra kiểu giá trị tại thời gian chạy. Không giống với C++ và Java, Python không yêu cầu dấu kết thúc mỗi câu lệnh ở cuối câu lệnh. Tuy nhiên, nó cũng phân biệt chữ cái hoa/thường khi đặt tên biến. Python được lưu trữ trong tệp có phần mở rộng “.py”. Python được xem là ngôn ngữ dễ học, dễ đọc và dễ bảo trì. Là ngôn ngữ hỗ trợ phương thức lập trình có cấu trúc, lập trình hướng đối tượng, và có bộ thu gom rác tự động. Python cũng dễ dàng tích hợp với nhiều ngôn ngữ khác (C, C++, Java). Variables – Biến Biến là các tên để lưu trữ dữ liệu hay đối tượng. a_string = "hello, world" an_integer = 12 a_float = 3.14 a_boolean = True Print – In dữ liệu Để in ra hằng hay biến print ('hello, world') print (12) print ((5+3)/2) ------ hello, world 12 4 Khi in nhiều biến thì dùng dấu phẩy giữa các biến: print ('abc', 12, a_float) ------ ('abc', 12, 3.14) In một xâu dài thì dùng thêm kí hiệu ‘\’ print 'The only thing to do with good advice is',\ 'to pass it on. It is never of',\ 'any use to oneself.' ------ The only thing to do with good advice is to pass it on. It is never of any use to oneself. Comment – chú thích # khi muốn chú thích một câu lệnh (một dòng) ‘‘‘ Còn với chương trình có nhiều dòng, ta cho đoạn chương trình muốn chú thích vào giữa ’’’ Numbers - Kiểu số Python hỗ trợ kiểu dữ liệu số: int (số nguyên); float (số có dấu phẩy thập phân); complex (số phức) print (17 / 3)# phép chia print (17 // 3) # phép chia lấy phần nguyên print (17 % 3) # phép chia lấy phần dư print (5 * 3 + 2)# phép nhân cộng phần dư ------ 5 5 2 17 Strings - Kiểu chuỗi Có ba chú pháp dùng cho hằng chuỗi: string_single_quotes = 'This' string_double_quotes = "is" string_triple_quotes = """a Python program.""" Chúng ta có thể dùng chú thích trong chuỗi, nhờ kết hợp các cú pháp trên: string1 = 'hello "world"' string2 = "don't" print string1 print string2 ------ hello "world" don't Chúng ta cũng có những thao tác trên chuỗi: strings = string1 + " : " + string2 strings_uppercase = strings.upper() beginning = strings[0:4]# kĩ thuật slicing chỉ số print (strings) print (strings_uppercase) print (beginning) ------ hello "world" : don't HELLO "WORLD" : DON'T hell Chúng ta có thể chuyển đổi qua lại giữa số và chuỗi: i = 12 s = str(i) s = '17' i = int(s) Chúng ta có thể thay thế một xâu con trong xâu lớn: a_string = 'This is a string. A string consists of many characters' newstring = a_string.replace('string', 'hahiho') print (newstring) ------ This is a hahiho. A hahiho consists of many characters Chú ý: một chuỗi (string) trong Python là một hằng số (immutable), tức là nó không thay đổi được giá trị. Tất cả các thao tác trên string đều tạo ra một string mới. List – danh sách Danh sách là một mảng các phần tử. Điều chú ý là các phần tử này không cần cùng kiểu, nó có thể là một đối tượng bất kì. a_list = [1, 2, 3, 'abc'] another_list = [a_list, 'ef', ['This', 10, 'is', a_list ]] print (a_list) print (another_list) ------ [1, 2, 3, 'abc'] [[1, 2, 3, 'abc'], 'ef', ['This', 10, 'is', [1, 2, 3, 'abc']]] Chúng ta có thể truy xuất trực tiếp vào phần tử của danh sách: elem = a_list[2] elem2 = another_list[2][0] print (elem) print (elem2) list2 = a_list[2:4]# kĩ thuật slicing chỉ số trong danh sách print (list2) ------ 3 This [3, 'abc'] Chúng ta có thể thêm phần tử vào danh sách: list2.append('olala') list2.append(66) print (list2) ------ [3, 'abc', 'olala', 66] Chúng ta có thể kiểm tra một phần tử có trong danh sách hay không: if 'olala' in list2: print ('obama') ------ obama Chú ý: một danh sách (list) trong Python có thể thay đổi được giá trị (mutable). Tất cả các thao tác trên list đều tác động nên chính đối tượng đó (ví dụ append). Tuples Tuple tương tự như list, nhưng kích cỡ của nó cố định. Tuple là một mảng không thay đổi được. Một khi một tuple được khởi tạo, các phần tử của nó không thể thay đổi, bị xóa đi hay được chèn thêm vào. a_tuple = (1, 2, 3, 'abc') another_tuple = 'This', 10, 'is', a_tuple print (a_tuple) print (another_tuple) ------ (1, 2, 3, 'abc') ('This', 10, 'is', (1, 2, 3, 'abc')) Giả sử chúng ta cố thêm một phần tử vào tuple a_tuple.append(100) a_tuple.append(100) ------ AttributeError: 'tuple' object has no attribute 'append' Dictionary Mỗi phần tử trong dictionary gồm có 2 thành phần: key và value được tách biệt bởi dấu (:). Mỗi dictionary được khai báo trong ngoặc nhọn {}. Yêu cầu key trong các phần tử của dictionay phải khác nhau, trong khi value có thể không cần. Trong dictionary, value có thể có bất kì kiểu dữ liệu nào, nhưng key phải là kiểu không thay đổi được như string, number hay tuple. stuff = {'name': 'Zed', 'age': 39, 'height': 6 * 12 + 2} print stuff print stuff['name'] print stuff['age'] print stuff['height'] ------ {'age': 39, 'name': 'Zed', 'height': 74} Zed 39 74 Chúng ta có thể thêm phần tử dễ dàng stuff['city'] = "San Francisco" print stuff ------ {'city': 'San Francisco', 'age': 39, 'name': 'Zed', 'height': 74} Chúng ta cũng có thể duyệt để lấy key và value của mỗi phần tử trong dictionary: data = {"a": 1, "b": 2, "c": 3} for k, v in data.items(): print(k, v) ------ ('a', 1) ('c', 3) ('b', 2) Câu lệnh điều khiển Khối cấu lệnh được phân định bằng khoảng trống (spaces hay tabs) ở đầu các dòng lệnh. Đây chính là sự khác biệt của Python với các ngôn ngữ khác. Vì vậy, đừng bao giờ quên tab hay space nhé! if/elseif/else: var1 = 10 var2 = 20 if var1 != var2: print("var1 is not equal to var2") elif var1 > var2: print("var1 is greater than var2") elif var2 > var1: print("var2 is greater than var1") else: print("var1 is equal to var2") ------ var1 is not equal to var2 while count = 0 fruits = ['banana', 'apple', 'mango', 'melon', 'orange', 'pear', 'pineapple'] while count < len(fruits): print 'Current fruit:',fruits[count] count += 1 ------ Current fruit : banana Current fruit : apple Current fruit : mango Current fruit : melon Current fruit : orange Current fruit : pear Current fruit : pineapple for fruits = ['banana', 'apple', 'mango', 'melon', 'orange', 'pear', 'pineapple'] for index in range(len(fruits)): print 'Current fruit :', fruits[index] ------ Current fruit : banana Current fruit : apple Current fruit : mango Current fruit : melon Current fruit : orange Current fruit : pear Current fruit : pineapple Tệp – file File là nơi lưu trữ dữ liệu mà chúng ta cần làm việc nhiều. Khi làm việc với file, chúng ta cần mở (phương thức open()) và sau khi xong, chúng ta cần đóng lại (close()). tep = open('my_file.txt') for dong in tep: print (dong) tep.close() ------ Machine learning is the subfield of computer science that gives computers the ability to learn without being explicitly programmed (Arthur Samuel, 1959). Chúng ta cũng có thể ghi các dữ liệu ra một file: fw = open('out_file.txt', 'w') fw.write('Machine learning \n') # note '\n' is necessary here fw.write('Evolved from the study of pattern recognition and'\ 'computational learning theory in artificial intelligence') fw.close() Tham số thứ hai trong lệnh open(): ‘w’, ‘r’, ‘a’, để chỉ các chế độ làm việc với file: r – reading only (chỉ đọc), w- writing only (chỉ ghi), a – appending (nối vào cuối file). Hàm – function Hàm là một khối các câu lệnh được tổ chức nhằm thực hiện một tác vụ nào đó. Chúng ta xây dựng hàm nhằm sử dụng lại tác vụ, đồng thời tạo cho chương trình dễ theo dõi và sử dụng lại. Chúng ta có thể sử dụng các hàm sẵn có cũng như tự xây dựng trên Python. def printinfo(ten, tuoi): print "Ten : ", ten print "Tuoi: ", tuoi return; printinfo('Hau', '66') ------ Ten : Hau Tuoi: 66 Các lời gọi hàm và dữ liệu truyền vào rất mềm dẻo trong Python: printinfo(tuoi = '80', ten = 'nvhau') ------ Ten : nvhau Tuoi: 80 Hoặc thậm chí chúng ta có thể gán giá trị mặc định trong quá trình xây dựng hàm: def printinfo(ten = 'hau', tuoi = 68): print "Ten : ", ten print "Tuoi: ", tuoi return; Nếu chúng ta không truyền giá trị cho tham số, hàm sẽ in ra giá trị mặc định: printinfo() ------ Ten : hau Tuoi: 68 Python là ngôn ngữ hỗ trợ nhiều thư viện, môi trường và công cụ để xây dựng các ứng dụng khác nhau: lập trình mạng, lập trình web, lập trình cơ sở dữ liệu. Người học nên tham khảo thêm tại các tài liệu [1-4]. Những lưu ý quan trọng cho Python: zip() – là hàm trả ra một danh sách các tuples. a = range(0,5) b = range(-2,3) c = range(1,6) print (a) print (b) print (c) z = zip(a,b,c) print (z) ------ [0, 1, 2, 3, 4] [-2, -1, 0, 1, 2] [1, 2, 3, 4, 5] [(0, -2, 1), (1, -1, 2), (2, 0, 3), (3, 1, 4), (4, 2, 5)] Giả sử chúng ta có một danh sách các tuple và muốn tính tổng của các phần tử thứ nhất, thứ hai, thứ ba, v.v... tương ứng với nhau. Chúng ta cũng có thể dùng zip() để quá trình tính toán thuận tiện hơn: l1 = [(0, -2, 1), (1, -1, 2), (2, 0, 3), (3, 1, 4), (4, 2, 5)] l2=[] for a in zip(*l1): l2.append(sum(a)) print(l2) ------ [10, 0, 15] Trong Python, viết chương trình trên gọn hơn với kết quả không thay đổi: l1 = [(0, -2, 1), (1, -1, 2), (2, 0, 3), (3, 1, 4), (4, 2, 5)] l2 =[sum(a) for a in zip(*l1)] print (l2) Đây là một kĩ thuật được sử dụng rất nhiều trong Python. lambda – là hàm nặc danh trong Python. Nó rất hữu ích khi thực thi một công việc đơn giản nhằm làm đầu vào cho một hàm khác. Cú pháp được viết theo: lambda tham-số : biểu-thức Ví dụ: tong = lambda x,y: x+y print (tong(12)) # kết quả sẽ in ra 3 Hoặc một chương trình kiểm tra số tự nhiên xem có là số chẵn không: ktChan = lambda x: (x%2 == 0) print (ktChan(4))# True print (ktChan(5))# False Dùng hàm lambda làm đầu vào cho hàm filter(hàm-số, đối–số), hàm filter sẽ trả ra danh sách các phần tử nào trong đối-số mà hàm-số cho giá trị True ứng với phần tử đó. ds = [5, 2, 7, 10, 9, 11, 0, 1] sochan = filter(lambda x: (x%2 == 0) , ds) print (sochan) # kết quả sẽ trả ra [2, 10, 0] Người học cần đọc và hiểu tường tận hàm zip và lambda để quá trình cài đặt các thuật toán Máy học dễ dàng hơn. Với những người chưa có nhiều kiến thức và kĩ năng Python, hãy tham khảo thêm tài liệu [1-4]. Người học cũng đừng quá lo lắng khi chưa hiểu kĩ. Python cần thời gian để chúng ta có thể ‘tiêu hóa’ được! Tài liệu tham khảo: 1.https://wiki.python.org/moin/BeginnersGuide/Programmers 2.https://developers.google.com/edu/python/introduction 3.https://docs.python.org/3/tutorial/ 4.https://www.tutorialspoint.com/python/index.htm
Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ1 nhận xét:
balvpro nói...Bài viết rất chi tiết và dễ hiểu thầy ạ. Bạn nào mà dùng Python 3 thì chú ý khi viết hàm print thì thêm ngoặc() vào đầy đủ để tránh lỗi biên.Ví dụ phải viết:print ("Ten : ", ten)thay vì:print "Ten : ", ten- Ý nữa là trong ví dụ về lambda thì cần thêm dấu phẩy giữa 2 tham sốtong=lambda x,y:x+yprint(tong(1,2))#should return 3 here
Đăng ký: Đăng Nhận xét (Atom) Copyright © Máy học cho người Việt | Powered by nvhau66@gmail.com Design by NewWpThemes | Blogger Theme by Lasantha - Free Blogger ThemesNewBloggerThemes.comTừ khóa » Tóm Tắt Python
-
Tự Học PYTHON Cơ Bản Trong 10 PHÚT | NIIT
-
Python (ngôn Ngữ Lập Trình) – Wikipedia Tiếng Việt
-
Kiến Thức PYTHON - Từ Cơ Bản Tới Nâng Cao - JT1
-
Tóm Tắt - IT3241 - Lập Trình ứng Dụng Python - Học Trực Tuyến EAUT
-
Tổng Quan Python. Lập Trình Python Là Gì? - Blog | Got It AI
-
Học Lập Trình Python - Python Cơ Bản
-
Python Là Gì? Lập Trình Python Với 20 Tài Liệu Học Python Cực Chất
-
20 Tài Liệu Lập Trình Python Cơ Bản đến Nâng Cao Hay Nhất
-
Giới Thiệu Môn Học Ngôn Ngữ Lập Trình Python
-
Tóm Tắt Nội Dung Cuốn Fast Lane To Python | Blog Của Chiến
-
[PDF] Bài 2: Ngôn Ngữ Lập Trình Python
-
Tóm Tắt Những Kiến Thức Căn Bản Cần Nhớ Khi Học Lập Trình Python
-
Python (ngôn Ngữ Lập Trình) - Du Học Trung Quốc
-
[PDF] CT225.pdf - Cit..vn