Skip to main content

Posts

Showing posts with the label OOP

[Python] __new__ và __init__, zip

Vài ghi chép vụn vặt... Bài viết dùng python 2.7.5. 1. zip Trả lời cho các câu hỏi: hàm zip trong python là gì? hàm zip trong python làm gì? cái tên hàm rất rất rất dễ hiểu nếu bạn biết zip là gì: nó là cái khoá kéo (phéc măng tuya ???). Có 2 dải, và nó sẽ ghép chúng thành từng cặp (tuple). Với function zip, nó có thể zip nhiều list với nhau (2 trở lên, và sẽ cắt ở độ dài của list ngắn nhất - nếu kéo khoá mà 1 bên hết thì phải dừng lại thôi :D) Code (viết trên ipython): In [8]: numbs = range(1,10) In [9]: name = ['C', 'Python', 'Java', 'Ruby', 'Perl', 'Go'] In [10]: zip(numbs, name) Out[10]: [(1, 'C'), (2, 'Python'), (3, 'Java'), (4, 'Ruby'), (5, 'Perl'), (6, 'Go')] In [11]: adjs = ['perfect', 'awesome', 'bloated'] In [12]: zip(numbs, name, adjs) Out[12]: [(1, 'C', 'perfect'), (2, 'Python', 'awesome'), (3, ...

OOP languages

Nếu bạn đi hỏi phần lớn những người lập trình hướng đối tượng ngôn ngữ nào tốt nhất để học OOP hoặc đơn giản hơn là "google cụm từ pure oop language" , câu trả lời nhận được sẽ không bao giờ  là C++! "I invented the term ' Object-Oriented ', and I can tell you I did not have C++ in mind."     — Alan Kay Nhưng với cái giáo trình cũ rích mà trường mình vẫn dạy, bạn vẫn học C++ ;) Một sự thay thế tốt hơn: http://en.wikipedia.org/wiki/Objective-C Ngôn ngữ này nếu bạn chưa nghe đến bao giờ và nghĩ nó "vô giá trị" thì hãy nhớ rằng Objective-C là ngôn ngữ được dùng để viết phần mềm IPhone :D Objectivi C = C + OOP (Lấy ý tưởng từ 1 ngôn ngữ "cực OOP" - smalltalk) Smalltalk nghe tên có vẻ thuộc loại siêu hiếm có :)) nhưng nó chính là ngôn ngữ thuần OOP nhất. Chả biết là để làm gì ngoài học :p Smalltalk được thiết kế nhằm bảo vệ tối đa các đặc điểm ngắn gọn và trong sáng của nó và không hướng đến tính khả dụng (usability) hay tính ...

Học và làm, một vài điều khác

Một vài điều thấy khác biệt khi đi làm và đi học (về vấn đề kỹ thuật lập trình OOP...). 1. Mô hình 3 lớp. Đó là 3 lớp : Business  , Data Access và Giao diện :)) Tại sao đi làm người ta dùng cái mô hình này ? Lí do chính là khả năng phân chia công việc, giúp lập trình viên có thể làm việc độc lập với nhau. Họ chỉ cần ngồi lại với nhau 1 buổi để thống nhất những chức năng của chương trình, rồi quy định các Interface để giao tiếp với nhau rồi ai việc nấy làm.Xong thì ghép vào chạy.

Đề thi Lập trình hướng đối tượng

Sinh viên được phép mang tài liệu (đến lúc thi mới biết, có thằng mở cả laptop) Câu 1: (3 điểm) Tính bao đóng (encapsulation) trong LTHĐT là gì. Tầm quan trọng của tính bao đóng. Nêu 1 VD minh họa Câu 2: (4 điểm) Viết lớp String để biểu diễn 1 chuỗi kí tự . Trong lớp String dùng thành phần dữ liệu kiểu char* để biểu diễn nội dung chuỗi. Lớp String cần có các hàm thành phần sau: Hàm tạo không tham số Hàm tạo một tham số là 1 chuỗi kiểu char* Hàm tạo sao chép (thực hiện Deep Copy) Toán tử gán một String cho một String Toán tử + để nối nội dung hai String Hàm Display() để hiển thị nội dung String Hàm hủy Câu 3 (3 điểm): Viết lớp Stack để biểu diễn một ngăn xếp các String, trong lớp Stack có các hàm thành phần void Put(String *) (chỗ này đề nó ghi nhầm là Pop) và String Pop. Yêu cầu dùng danh sách móc nối để biểu diễn Stack.

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG