



















Preview text:
  lOMoAR cPSD| 58490434
Tự học Python Cơ Bản Trong 10 phút        
Python là một ngôn ngữ đề cao khả năng dễ đọc, ngắn gọn là quan trọng là LÀM  ĐƯỢC NHIỀU THỨ.     
Ngôn ngữ Python được coi là ngôn ngữ lập trình dễ học nhất. Vậy, hôm nay mình 
sẽ cùng bạn thử Tự học Python Cơ Bản trong 10 PHÚT xem nhé.      * 
Lưu ý: Trước khi bắt đầu, bạn nên Cài đặt Python và Cài đặt Pycharm 
(Nhớ xem cả cách chạy thử một tập tin Python trong bài hướng dẫn cài đặt  Pycharm nữa nhé).    * 
Bài viết này mình sử dụng để giúp các bạn học viên Khóa học Python có 
một chút nền tảng đề khi bắt đầu học sẽ dễ hơn.           
Tự học Python cơ bản trong 10 phút     
OK, nếu bạn đã chuẩn bị xong. Hãy bắt đầu cùng mình Tự học Python Cơ bản  trong 10 phút nào!        lOMoAR cPSD| 58490434      
Mục lục (* Click vào mục lục để chạy đến từng phần):     
1. Thử chạy trình thông dịch Python 
2. Thử chạy tập lệnh Python 
3. Các kiểu dữ liệu phổ biến trong Python 
4. Tìm hiểu về Biến trong Python 
5. Tìm hiểu về Hàm trong Python 
6. Tạo hàm tùy chỉnh trong Python 
7. Tìm hiểu về biểu thức điều kiện trong Python 
8. Tìm hiểu về List trong Python 
9. Tìm hiểu về Modules trong Python 
Tổng kết Tự học Python Cơ Bản trong 10 Phút     
1. Thử chạy trình thông dịch Python     
Python đi kèm với một trình thông dịch tương tác. Khi bạn 
gõ python trong shell hoặc command prompt, trình thông dịch python sẽ hoạt 
động với một dấu nhắc >>> và chờ lệnh của bạn.          $ python 
Python 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:54:52) 
[ Clang 6.0 (clang - 600.0.57)] on darwin 
Type "help", "copyright", "credits" or "license" for more information.  >>>        lOMoAR cPSD| 58490434      
Bây giờ bạn có thể gõ bất kỳ biểu thức python hợp lệ tại dấu nhắc lệnh này. 
Python sẽ đọc biểu thức bạn vừa gõ, đánh giá nó và trả lại kết quả.      Ví dụ:    >>>  42  42 
>>>   4 + 2  6     
Bài tập 1: Hãy mở trình thông dịch Python mới và sử dụng nó để tìm giá trị  của 2 + 3       
Lưu ý: Trong các ví dụ, mình sẽ sử dụng command prompt (command line). 
Nếu bạn sử dụng Pycharm thì hãy bỏ các dấu 
>>> và ... . Khi muốn in kết 
quả thì ném biểu thức vào trong lệnh print()         
2. Thử chạy tập lệnh Python          lOMoAR cPSD| 58490434    
Hãy mở trình soạn thảo văn bản / Pycharm của bạn, nhập đoạn code sau       
print ( "hello, world!" )       python hello.py     
và lưu nó dưới dạng hello.py. Lưu ý là phải lưu đúng đuôi .py nhé!      Và đây là kết quả;        $ python hello.py hello,  world!   
3. Các kiểu dữ liệu phổ biến trong Python     
Python có hỗ trợ cho tất cả các kiểu dữ liệu cơ bản và cũng có kiểu dữ liệu ghép rất  mạnh.     
Python có kiểu số nguyên: integers        >>> 1 + 2 3          lOMoAR cPSD| 58490434    
Python cũng rất giỏi trong việc xử lý số rất lớn.     
Ví dụ: Chúng ta hãy thử tính 2^1000.        >>> 2 ** 1000 
1071508607186267320948425049060001810561404811705533607443750388370351051124936122 
4931983788156958581275946729175531468251871452856923140435984577574698574803934567 
7748242309854210746050623711418779541821530464749835819412673987675591655439460770 
62914571196477686542167660429831652624386837205668069376     
Kết quả là một con số khá lớn, phải không? Bạn nào đếm được kết quả chính xác 
có bao nhiêu số liên hệ mình sẽ có quà nhé: ;)     
Python có kiểu số dấu phẩy động: float        >>> 1.2 + 2.3  3.5 
Python có kiểu dữ liệu chuỗi: String       
>>> "hello world"  'hello world' 
>>> print("hello world") hello  world     
Chuỗi có thể được đặt trong dấu ngoặc đơn '' hoặc dấu ngoặc kép "". Cả hai đều  giống hệt nhau.        lOMoAR cPSD| 58490434      
Trong Python, các chuỗi rất linh hoạt và rất dễ dàng để làm việc với chúng.       
>>> 'hello' + 'world'  'helloworld'   
>>> "hello" * 3  'hellohellohello'   
>>> print("=" * 40) 
========================================     
Hàm len tích hợp (built-in function) được sử dụng để tìm độ dài của chuỗi.       
>>>   len ( 'helloworld' )  10     
Python cũng hỗ trợ các chuỗi trên nhiều dòng. Chúng được đặt trong ba dấu 
ngoặc kép hoặc ba dấu ngoặc đơn, như ví dụ sau:       
text = """Đây là một chuỗi nhiều dòng.  Dòng thứ 2  Dòng thứ 3 
và nó có thể chứa đoạn text "Trong dấu nháy" như thế này. """      Kết quả:          lOMoAR cPSD| 58490434      
>>>   print ( text ) 
Đây là một chuỗi nhiều dòng.  Dòng thứ 2  Dòng thứ 3 
và nó có thể chứa đoạn tex "Trong dấu nháy" như thế này.       \ n   \ t            Ví dụ:       
>>>  print "a \ n b \ n c"  a  b  c     
Python có kiểu dữ liệu dạng danh sách (được gọi là List). List là một trong những loại 
dữ liệu hữu ích nhất của Python.       
>>>   x = [ "a" , "b" , "c" ]  >>>  x  [ 'a', 'b', 'c' ] 
>>>  len ( x )  3 
>>>   x [ 1 ]  'b'       []          lOMoAR cPSD| 58490434    
Python cũng có một kiểu dữ liệu khác gọi là tuple để biểu diễn các bản ghi với  chiều rộng cố định.     
Tuples hành xử giống như List, nhưng chúng là bất biến.       
>>>  point = ( 2 , 3 ) 
>>>   point  (2 , 3)     
Khi khai báo một tuple, bạn có thể bỏ qua dấu ngoặc đơn.       
>>> point = 2, 3 
>>> point (2, 3)     
Cũng có thể gán một tuple nhiều giá trị cùng một lúc:            lOMoAR cPSD| 58490434    
>>>  yellow = ( 255 , 255 , 0 ) 
>>>   r , g , b = yellow 
>>>   print ( r , g , b )  255 255 0           name : value       
>>>  person = { "name" : "NIIT" , "email" : "hello@niithanoi.edu.vn" } 
>>>   person [ 'name' ]  'NIIT' 
>>>   person [ 'email' ]  'hello@niithanoi.edu.vn'     
Python cũng có một kiểu dữ liệu set. Một set là một tập hợp các phần tử không có  thứ tự và duy nhất.       
>>> x = {1, 2, 3, 2, 1}  >>> x   {1, 2, 3}     
* Bạn hãy thử thực hiện lại lệnh >>> x xem. Kết quả nhận được là như thế  nào?     
Python có kiểu boolean. Nó có hai giá trị đặc biệt true và false để đại diện cho  Đúng và Sai.     
Cuối cùng, Python có một kiểu dữ liệu đặc biệt gọi là  None để đại diện cho  không có gì.        lOMoAR cPSD| 58490434        
>>> x = None  >>> print(x)  None      
Bây giờ bạn đã biết hầu hết các cấu trúc dữ liệu phổ biến của Python.     
Nhìn thì chúng rất đơn giản, nhưng thành thạo vận dụng các kiểu dữ liệu này cũng 
cần một chút luyện tập đấy.     
Và hãy chắc chắn bạn đã hiểu tất cả các ví dụ trên, thử viết và chạy lại xem kết quả 
vài lần để đảm bảo bạn quen thuộc trước khi chúng ta chuyển sang phần tiếp  theo.       
4. Tìm hiểu về Biến trong Python     
Bạn chưa được học về biến trong Python nhưng bạn đã nhìn thấy biến ở phần  trước.     
Bây giờ, chúng ta sẽ xem xét kỹ hơn về biến trong Python.     
Trong Python, biến không có kiểu. Chúng chỉ cần giữ chỗ đó có thể giữ bất kỳ giá 
trị có bất kỳ kiểu dữ liệu nào.          lOMoAR cPSD| 58490434       >>> x = 5  >>> x  5 
>>> x = 'hello'  >>> x  'hello'      
Điều quan trọng là bạn có thể nhận thấy sự khác biệt giữa các biến và chuỗi.     
Thông thường người mới học lập trình sẽ bị lừa bởi điều này. Bạn có thể nhận ra 
bất kỳ lỗi nào trong ví dụ sau không?       
>>>   name = "NIIT" 
>>>   print("name")     
Nếu có thì chúc mừng bạn, biến trong Python cũng không có gì khó khăn cả.       
5. Tìm hiểu về Hàm trong Python     
Hàm - hay còn gọi là function.     
Trong Python, có nhiều hàm dựng sẵn (built-in functions). Ví dụ,  print một 
hàm được tích hợp sẵn được sử dụng phổ biến nhất.        lOMoAR cPSD| 58490434        
>>>   print ( 'hello' )  hello 
>>>   print ( 'hello' , 1 , 2 , 3 )  hello 1 2 3     
Chúng ta cũng đã thấy hàm len ở phần trước. Hàm len tính chiều dài của 
một chuỗi, list hoặc các tập hợp khác.       
>>> len("hello")  5 
>>> len(['a', 'b', 'c']) 3     
Một điều quan trọng về Python là nó không cho phép các hoạt động trên các kiểu 
dữ liệu không tương thích. Ví dụ:       
>>>   5 + "2" 
Traceback (most recent call last): 
 File "" , line 1 , in < module > 
TypeError : unsupported operand type(s) for +: 'int' and 'str'     
Đó là bởi vì không thể cộng số với chuỗi.     
Chúng ta cần chuyển đổi 5 thành một chuỗi hoặc '2' thành một số.     
Để làm điều này, chúng ta có hàm dựng sẵn 
int sẽ chuyển đổi một chuỗi       lOMoAR cPSD| 58490434    
thành một số và hàm str sẽ chuyển đổi bất kỳ giá trị nào thành một chuỗi.          >>> int("5")  5 
>>> str(5) '5'      Và:       
>>>   5 + int ( "2" )  7 
>>>   str ( 5 ) + "2"  '52'       
Ví dụ: Đếm số chữ số trong một số với Python     
Ở phần trên mình đã đố bạn đếm được số chữ số của kết quả 2^1000 đúng  không?     
Tuy nhiên, đếm bằng tay thì quá khổ.     
Hãy viết một chương trình để đếm số chữ số trong một số, ví dụ, chúng ta có các  số:            lOMoAR cPSD| 58490434     >>>  12345  12345       
>>>   2 ** 100 
1267650600228229401 496703205376        >>> 2 ** 1000 
1071508607186267320948425049060001810561404811705533607443750388370351051124936122 
4931983788156958581275946729175531468251871452856923140435984577574698574803934567 
7748242309854210746050623711418779541821530464749835819412673987675591655439460770 
62914571196477686542167660429831652624386837205668069376       
Chúng ta sẽ sử dụng hàm str để chuyển số về dạng chuỗi. Sau đó sử dụng 
hàm len để tính độ dài của chuỗi đó, cụ thể:       
>>>   len ( str ( 12345 ))  5 
>>>   len ( str ( 2 ** 100 ))  31 
>>>   len ( str ( 2 * 1000 ))  302      Bạn đã hiểu chưa?     
* Đọc đến đoạn này mà mới có đáp án thì không có quà nữa đâu nhé. ;)          lOMoAR cPSD| 58490434      
6. Tạo hàm tùy chỉnh trong Python     
Giống như cách gán một giá trị cho một biến, một đoạn logic cũng có thể được 
liên kết với một tên bằng cách định nghĩa nó là một hàm.      Ví dụ:       
>>> def square(x): ...  
return x * x ...  >>> square(5)  25      Trong đó:        • 
từ khóa def để định nghĩa một hàm  • 
square là tên hàm (tùy bạn đặt)  •  x là tham số của hàm     
Phần thân của hàm được thụt lề. Thụt lề cũng là để cách phân nhóm các câu lệnh  Python.     
Các dấu ... là dấu nhắc lệnh thứ câp mà các thông dịch Python sử dụng để      lOMoAR cPSD| 58490434    
biểu thị rằng nó đang chờ một số dữ liệu được nhập vào.     
Các hàm trong Python có thể được sử dụng trong bất kỳ biểu thức nào:     
>>> square(2) + square(3)  13 
>>> square(square(3))  81     
Các chức năng hiện có cũng có thể được sử dụng để tạo ra các hàm mới.       
>>>  def sum_of_squares ( x , y ): 
...  return square ( x ) + square ( y )  ... 
>>>   sum_of_squares ( 2 , 3 )  13     
Các hàm trong Python cũng giống như các giá trị khác, chúng có thể được gán, 
được chuyển dưới dạng đối số cho các hàm khác, .... ví dụ:       
>>>   f = square 
>>>   f ( 4 )  16   
>>>   def fxy ( f , x , y ): 
...  return f ( x ) + f ( y )  ... 
>>>   fxy ( square , 2 , 3 )  13          lOMoAR cPSD| 58490434    
Điều quan trọng là phải hiểu được phạm vi của các biến được sử dụng trong các  hàm.     
Hãy nhìn vào một ví dụ.        x = 0  y = 0  def incr ( x ):   y = x + 1   return y  incr ( 5 )  print x , y     
Các biến được gán trong một hàm, bao gồm các đối số được gọi là các biến cục bộ của 
hàm (local variables).     
Các biến được định nghĩa ở cấp cao nhất được gọi là biến toàn cục (global  variables).     
Nếu bạn thay đổi giá trị của x và bên trong hàm incr thì nó cũng sẽ không  y 
ảnh hưởng những giá trị của biến toàn cục, x và y.     
Nhưng, chúng ta có thể sử dụng các giá trị của các biến toàn cục:        pi = 3.14  def area ( r ):   return pi * r * r        lOMoAR cPSD| 58490434      
Khi Python thấy việc sử dụng một biến không được định nghĩa trong phạm vi cục 
bộ, nó sẽ cố gắng tìm một biến toàn cục có tên đó.     
Tuy nhiên, bạn phải khai báo rõ ràng một biến là global để có thể sửa đổi nó.        numcalls = 0  def square ( x ):   global numcalls   numcalls = numcalls + 1   return x * x     
Sau đây chúng ta sẽ làm một số bài tập để hiểu hơn về hàm trong Python.     
Bài tập 2: Có bao nhiêu phép nhân được thực hiện khi mỗi đòng code sau đây  được thực thi?     
* Sử dụng hàm square mà chúng ta đã định nghĩa ở trên.        print square ( 5 )  print square ( 2 * 5 )     
Bài tập 3: Kết quả của chương trình sau đây là gì?        x = 1 def  f():      lOMoAR cPSD| 58490434     return x  print x  print f()     
Bài tập 4: Kết quả của chương trình sau đây là gì?        x = 1 def  f(): x =  2 return  x print x  print f()  print x     
Bài tập 5: Kết quả của chương trình sau đây là gì?        x = 1  def f ():   y = x   x = 2   return x + y  print x  print f ()  print x     
Bài tập 6: Kết quả của chương trình sau đây là gì?            lOMoAR cPSD| 58490434     x = 2  def f ( a ):   x = a * a   return x  y = f ( 3 )  print x , y     
Hãy chậm lại một chút, giải hết các bài tập trên thì mới tiếp tục bạn nhé.     
Các hàm có thể được gọi với các đối số.       
>>>  def difference ( x , y ): 
...  return x - y  ... 
>>>   difference ( 5 , 2 )  3 
>>>  difference ( x = 5 , y = 2 )  3 
>>>   difference ( 5 , y = 2 )  3 
>>>   difference ( y = 2 , x = 5 )  3     
Và một tham số có thể có giá trị mặc định:       
>>> def increment(x, amount=1): 
...  return x + amount ... 
>>> increment(10)  11 
>>> increment(10, 5)  15 
>>> increment(10, amount=2) 12        
