<![CDATA[Latest posts for the topic "Hướng dẫn lập trình Python "]]> /hvaonline/posts/list/24.html JForum - http://www.jforum.net Hướng dẫn lập trình Python Cài đặt Python Cài đặt Python và chạy là bước đầu tiên. Nó có thể rất dễ dàng. Nếu bạn đang sử dụng Gentoo GNU/Linux, bạn đã có sẵn Python 2.4 được cài đặt. Hệ thông packaging cho Gentoo, Portage, được viết bằng Python :x . Nếu bạn đang chạy Debian GNU/Linux, Ubuntu, Kubuntu và MEPIS, hãy chạy lệnh sau : Code:
sudo apt-get install python
Nếu bạn đang sử dụng các Linux distro khác, có thể Python là các package được chuẩn bị trước cho nó. Sử dụng tài nguyên và công cụ thông thường bạn sử dụng cho các package khác để tìm Python package Nếu bạn không làm được tất cả các điều trên, bạn cần phải cài đặt bằng tay. Nó không khó, nhưng cần phải chú ý là dễ làm hỏng hệ thống của bạn trừ khi bạn làm theo hướng dẫn đơn giản này : cài đặt Python vào một vị trí độc lập, ví dụ /opt/python/2.4.3 hay gì đó tuỳ phiên bản Python ... Để thực hiện cài đặt, download Python , unpack và chạy lênh sau : Code:
./configure --prefix=/opt/python2.4/
make
make install
Cùng bắt đầu Chúng ta bắt đầu tìm hiểu về phần lập trình, để khởi đầu, ta xây dựng một công cụ blog đơn giản, không có giao diện như Web, nhưng nó là một bài tập tốt. Python đi kèm với REPL - một phát minh của cộng đồng Lisp. REPL là viết tắt của cụm từ Real Eval Print Loop, và nó có nghĩa là đây là chương trình có thể đọc được các biểu thức và câu lệnh, đánh giá, in kết quả và đợi . Giờ ta chạy REPL ( nhớ điều chỉnh được dẫn của bạn theo vị trí bạn đã cài đặt Python trước đây ) Code:
$ python
Python 2.4.3 (#1, Sep  1 2006, 18:35:05)
[GCC 4.1.1 (Gentoo 4.1.1)] on linux2
Type "help", "copyright", "credits" or "license" for
more information.
>>>
3 dấu lớn hơn ( >>> ) là dấu nhắc của Python, bạn sẽ viết các câu lệnh và biểu thức vào đây. Để thoát khỏi chương trình, nhấn Ctrl-D Thử một vài biểu thức đơn giản: Code:
>>> 5
5
Giá trị của 5, tất nhiên = 5. Code:
>>> 10 + 4
14
Thú vị hơn không nào? Có các kiểu biểu thức khác, như là một chuỗi: >>> "Xin chao" 'Xin chao' Dấu nháy được sử dụng để tạo chuỗi. Dấu nháy đơn hay kép đều như nhau. Trong thực tế, bạn có thể thấy ta đã sử dụng nháy kép, nhưng Python trả lại là nháy đơn. Giờ ta thử một danh sách Code:
>>> [1,3,2]
[1, 3, 2]
Dấu ngoặc vuông được sử dụng để tạo các danh sách, mỗi item được phân cách bởi một dấu phẩy. Và như có thể cộng các số, ta có thể cộng ( hay ghép) các danh sách : Code:
>>> [1,3,2] + [11,3,2]
[1, 3, 2, 11, 3, 2]
Giờ, chúng ta chuyển sang một thứ thú vị hơn , blog. Blog là một chuỗi các bài viết, và danh sách Python là một cách tốt để tái hiện một blog, với bài viết và chuỗi. Trong REPL, chúng ta có thể làm một blog đơn giản thế này : Code:
>>> ["Entry thu nhat", "Python that tuyet"]
['Entry thu nhat', 'Python that tuyet']
>>>
Đó là một danh sách các chuỗi. Bạn có thể tạo một danh sách bất cứ cái gì bạn muốn, bao gồm cả danh sách của danh sách. Hạn chế là tất cả các biểu thức sẽ được đánh giá, trình bày và biến mất. Chúng ta không có cách nào để gọi blog lại và thêm cho chúng các item khác hay xem lại chúng.Do đó, ta thực hiện phép gán : Code:
>>> blog = ["Entry thu nhat", "Python that tuyet"]
>>>
Giờ blog là một biến chứa danh sách. Không giống các ví dụ trước, không có gì được in ra tại thời điểm này, vì nó chỉ là một phép gán. Phép gán là một câu lệnh, và câu lệnh không trả lại giá trị. Đơn giản đánh giá biến cho chúng ta thấy nội dung : Code:
>>> blog
['Entry thu nhat', 'Python that tuyet']
Truy cập blog của bạn thật dễ dàng. Chúng ta nhận biết mỗi bài viết bằng 1 số : Code:
>>> blog[0]
'Entry thu nhat'
>>> blog[1]
'Python that tuyet'
Chú ý rằng Python bắt đầu đếm từ 0 . còn tiếp...]]>
/hvaonline/posts/list/17999.html#108082 /hvaonline/posts/list/17999.html#108082 GMT
Re: Hướng dẫn lập trình Python Tóm lược cách hoạt động Một blog sẽ không phải là một blog nếu bạn không thể thêm bài viết mới, do đó, bạn làm thế này: Code:
>>> blog = blog + ["Entry moi"]
>>> blog
['Entry dau tien', 'Python that tuyet', 'Entry moi']
Ở đây ta thêm cho blog một giá trị mới, là blog cũ , và một entry mới. Chúng ta có thể rút gọn trong một hàm : Code:
>>> def add_entry(blog, new_entry):
...     return blog + [new_entry]
...
>>>
def là từ khóa được sử dụng để định nghĩa một hàm hoặc một phương thức mới ( chúng ta sẽ nói nhiều hơn về các hàm trong lập trình có cấu trúc và phương thức trong lập trình hướng đội tượng trong chủ đề này ) , tiếp theo là tên hàm. Trong dấu ngoặc đơn, chúng ta có các tham số chính thức.Sau dấu hai chấm, dấu nhắc đã chuyển từ >>> sang ... để cho thấy ta đang ở trong 1 hàm. Một hàm được bao gồm tất cả các dòng được lùi vào (theo bậc) so với dòng def. Khi các ngôn ngữ lập trình khác sử dụng các dấu ngoặc hoặc từ khoá begin/end, Python sử dụng sự lùi vào ở đầu dòng. Ý tưởng ở đây là nếu bạn là lập trình viên giỏi, bạn sẽ tự làm việc đó.Đây là một vấn đề gây tranh luận; có thể bạn không thích nó lúc ban đầu, nhưng bạn phải học để làm việc đó Khi làm việc với REPL, bạn có thể an toàn nhấn Tab để tạo một bậc lùi vào, và cho dù phím Tab có thể làm việc đó, sử dụng 4 lần space là một cách giới thiệu nhiều hơn. Nhiều text editor biết cách đặt 4 lần space khi bạn nhấn Tab khi chỉnh sửa file Python. Nhưng bạn đừng bao giờ kết hợp giữa Tab và space.Trong các ngôn ngữ lập trình khác, nó có thể làm cộng đồng không thích bạn, nhưng trong Python, nó có thể làm chương trình gặp những thông báo lỗi khó hiểu Để luyện tập, chúng ta cùng tiếp tục làm, nhập header của lớp def add_entry(blog, new_entry):, nhấn Enter, nhấn Tab, nhập return blog + [new_entry] , nhấn Enter, nhấn Enter lần nữa.Chúng ta sẽ thấy : Code:
>>> blog = add_entry(blog, "Entry thu 4")
>>> blog
['Entry dau tien', 'Python that tuyet', 'Entry moi', 
'Entry thu 4']
>>>
add_entry sử dụng 2 tham số. Đầu tiên là chính blog, và nó được gán vào blog. Đó là một mánh khoé. Cái blog bên trong hàm không giống với blog bên ngoài hàm. Chúng ở các phạm vi khác nhau. Do đó Code:
>>> def add_entry(blog, new_entry):
...     blog = blog + [new_entry]
không làm việc, blog chỉ được chỉnh sửa bên trong hàm. Blog của chúng ta lớn dần lên, và trước đây bài viết chỉ là những chuỗi đơn giản, giờ chúng ta muốn nó có cả tiêu đề và thân. Chúng ta có thể làm thế này : Code:
>>> blog = []
>>> blog = add_entry(blog, ("Blog moi", "Entry dau tien"))
>>> blog = add_entry(blog, ("Tuyet ", "Python that tuyet"))
>>> blog
[('Blog moi', 'Entry dau tien'), 
('Tuyet', 'Python that tuyet')]
>>>
Ở dòng thứ nhất, ta reset blog thành một danh sách trống. Sau đó, thêm 2 bài viết. Danh sách các bài viết được tạo ra bởi các dấu ngoặc, và các thành phần được phân cách bởi các dấu phẩy. Nó tương tự với một danh sách, nhưng chúng khác nhau. Nó được gọi là tuple. Bạn có thể cập nhật thành phần của một tuple. Các tuple được sử dụng để xây dựng một vài kiểu cấu trúc với các thành phần cố định. Lấy ví dụ Code:
>>> (1,2,3)
(1, 2, 3)
Truy cập từng phần của bài viết cũng tương tự truy cập từng phần của blog >>> blog[0][0] 'Blog moi' >>> blog[0][1] 'Entry dau tien' Đây có thể là một giải pháp tốt nếu bạn muốn lưu giữ chỉ tiêu đề và nội dung bài viết. Nhưng , khi ta muốn thêm vào ngày và thời gian, trích dẫn, tag hay tin nhắn ? Bạn có thể bắt đầu nghĩ bạn cần treo một tờ giấy lên tường, để nhớ mục lục của từng trường, như thế này :
Thật không dễ chịu chút nào . Để giải quyết vấn đề này. Python đưa đến cho chúng ta lập trình hướng đối tượng .. Còn tiếp... Tham khảo LinuxJournal]]>
/hvaonline/posts/list/17999.html#108219 /hvaonline/posts/list/17999.html#108219 GMT
Re: Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#108364 /hvaonline/posts/list/17999.html#108364 GMT Re: Hướng dẫn lập trình Python

RonRoyII wrote:
Bác có thể cho tôi ebook để tự hoc có phải là tốt hơn ko bác hướng dẫn như vay khó hoc lém phiền bác cho ebool đi!  
bồ nghĩ tớ ngồi copy / paste từ quyển ebook nào đó ra đây chắc :D Nếu bồ muốn đọc dần, thì nhấn vào nút bản in bên dưới bài viết rồi in ra, hoặc tự góp lại thành ebook. ]]>
/hvaonline/posts/list/17999.html#108372 /hvaonline/posts/list/17999.html#108372 GMT
Re: Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#108405 /hvaonline/posts/list/17999.html#108405 GMT Re: Hướng dẫn lập trình Python

oak wrote:
Có ai nói là bạn copy /paste đâu nhỉ.Bạn ấy chỉ hỏi xin cái e-book thôi mà.Dù sao bài vết cũng khá hay cố gắng viết đều dều nghen onlinehack. @RonRoyII: /hvaonline/posts/list/15055.html bạn vào đây tải cái sổ tay lập trình 2.0 nó cũng có dạy về python.(Nên tìm kỹ trước khi hỏi - câu quen thuộc nhưng vẫn phải nhắc lại) 
Tui có biết là có ebook chỉ học python nhưng ma ko tương tân cho người mới học như bác nói.]]>
/hvaonline/posts/list/17999.html#108795 /hvaonline/posts/list/17999.html#108795 GMT
Re: Hướng dẫn lập trình Python http://www.vithon.org/tutorial/2.5/tut.html. Bạn đọc mấy cái này trước để có căn bản trước, cảm bài viết của bạn onlinehack. Cho mình hỏi python có thể nhúng vào web như php không? nếu được thì bạn hướng dẫn cho mình và mọi người nhé. Thân!]]> /hvaonline/posts/list/17999.html#110883 /hvaonline/posts/list/17999.html#110883 GMT Re: Hướng dẫn lập trình Python http://python.org đi . oak nói đúng đó ]]> /hvaonline/posts/list/17999.html#110885 /hvaonline/posts/list/17999.html#110885 GMT Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#199930 /hvaonline/posts/list/17999.html#199930 GMT Hướng dẫn lập trình Python

brucelee.star wrote:
tại sao python của mình lại bị lỗi này nhỉ? các bạn giải thích giùm với... >>> blog[0] sau đó ấn enter thì nó báo lỗi: Traceback (most recent call last): File "<pyshe11#0>", line 1, in <module> blog[0] NameError:name 'blog' is not defined (python 3.0) 
Python báo lỗi not defined kìa bạn, bạn tìm tài liệu nào đó về đọc đi, hay ngay chính topic này của onlinehack cũng đã chỉ rồi. VN mình có vithon.org với nguyên bộ python tutorial được dịch công phu, bạn vào đó mà đọc. Code:
>>> blog = [ 'new', 'old' ]
>>> blog[0]
'new'
]]>
/hvaonline/posts/list/17999.html#199936 /hvaonline/posts/list/17999.html#199936 GMT
Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#199958 /hvaonline/posts/list/17999.html#199958 GMT Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#203895 /hvaonline/posts/list/17999.html#203895 GMT Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#206375 /hvaonline/posts/list/17999.html#206375 GMT Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#212008 /hvaonline/posts/list/17999.html#212008 GMT Hướng dẫn lập trình Python

zjm_zjm wrote:
Bạn nào có biết những trang wed hay diễn đàn nào nói về python không. có ít diễn đàn về cái này quá  
http://vithon.org đó bạn . ]]>
/hvaonline/posts/list/17999.html#212291 /hvaonline/posts/list/17999.html#212291 GMT
Hướng dẫn lập trình Python

brucelee.star wrote:
tại sao python của mình lại bị lỗi này nhỉ? các bạn giải thích giùm với... >>> blog[0] sau đó ấn enter thì nó báo lỗi: Traceback (most recent call last): File "<pyshe11#0>", line 1, in <module> blog[0] NameError:name 'blog' is not defined (python 3.0) 
Do bồ chưa gõ dòng lệnh sau đã có trong bài viết :) : Code:
blog = ["Entry thu nhat", "Python that tuyet"]
]]>
/hvaonline/posts/list/17999.html#253022 /hvaonline/posts/list/17999.html#253022 GMT
Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#272037 /hvaonline/posts/list/17999.html#272037 GMT Hướng dẫn lập trình Python

dannylee93 wrote:
mình đang dùng python 3.2,cái phần mềm chạy code python như dos trong win đó.ai biết lệnh xoá màn hình ko.như trong pascal là clrscr ấy :D.ths 
Sao bạn lại không thử tìm kiếm trước khi đặt câu hỏi nhỉ? Nhưng dù sao cũng cảm ơn bạn, trước tôi cũng không biết cái này, nhờ câu hỏi của bạn mà tôi tìm hiểu và thêm được một kiến thức mới. Các OS đều có command clear screen cho riêng mình, mình đang lập trình Python nhưng ai cấm mình "lợi dụng" mấy cái command này nhỉ? Code:
import os

os.system('cls') #Windows

os.system('clear') #Linux
]]>
/hvaonline/posts/list/17999.html#272046 /hvaonline/posts/list/17999.html#272046 GMT
Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#280275 /hvaonline/posts/list/17999.html#280275 GMT Hướng dẫn lập trình Python

tdungsi1 wrote:
Cho mình hỏi, cùng một câu lệnh nhưng khi soạn thảo trên website python.org thì nó bình thường, và lúc dùng nó trong phần mềm soạn thảo ở máy tính cá nhân thì nó báo lỗi như trong hình. Bạn giúp mình sửa lỗi này với nhé. Nếu được thì bạn có thể gửi cách sửa lỗi vào GMail này cho mình luôn nhé. GMAIL : ngoquangtri2504@gmail.com http://s28.postimg.org/t6sv8ijz1/Python01.png 
Dòng return bạn phải lùi vào 4 khoảng trắng. Code:
>>> def nfunc(blog, newen):
...     return blog + [newen]
]]>
/hvaonline/posts/list/17999.html#280308 /hvaonline/posts/list/17999.html#280308 GMT
Hướng dẫn lập trình Python /hvaonline/posts/list/17999.html#280335 /hvaonline/posts/list/17999.html#280335 GMT