Professional Documents
Culture Documents
com
Từ khóa
GIỚI THIỆU KHÓA HỌC TUTORIALS TIN TỨC CẢM NHẬN THƯ VIỆN LIÊN HỆ Đăng ký học
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 Python sẽ dễ
hơn.
OK, nếu bạn đã chuẩn bị xong. Hãy bắt đầu cùng mình Tự học Lập trình Python
Cơ bản trong 10 phút nào!
Mục lục (* Click vào mục lục để chạy đến từng phần):
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.
>>>
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()
Hãy mở trình soạn thảo văn bản / Pycharm của bạn, nhập đoạn code sau và lưu
nó dưới dạng hello.py . Lưu ý là phải lưu đúng đuôi .py nhé!
print("hello, world!")
Và chạy chương trình này bằng cách gọi python hello.py . Hãy chắc chắn rằng
bạn thay đổi thư mục đến nơi bạn đã lưu tệp trước khi thực hiện lệnh này.
Trong Pycharm thì bạn có thể Click chuột phải (hoặc Ctrl +
Shift + f10 ) vào file hello.py và chọn Run 'hello' .
$ python hello.py
hello, world!
Ngoài cách chạy ngay trên Command Prompt / Terminal thì bạn có thể chạy
chương trình Python trên Pycharm bằng cách chuột phải vào file hiện tại và chọn
Run .
Ngôn ngữ lập trình 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 kết hợp rất mạnh.
print(1 + 2)
print(2**1000)
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é: ;)
print(1.2 + 2.3)
3.5
print("hello world")
print('hello world')
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.
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.
print('hello' + 'world')
print("hello" * 3)
print("=" * 10)
helloworld
hellohellohello
==========
# In ra thông báo
print("Tôi " + tuoi + " tuổi")
Thực hiện như thế này sẽ gây ra lỗi bởi vì Python cho rằng cộng một số vào một
chuỗi thì không có ý nghĩa.
Do đó, để được kết quả mong muốn thì ta phải chuyển đổi kiểu số thành String
(chuyển về cùng kiểu dữ liệu), như sau:
# In ra thông báo
print("Tôi " + str(tuoi) + " tuổi")
Kết quả:
Tôi 18 tuổi
Hàm len tích hợp (built-in function) được sử dụng để tìm độ dài của chuỗi.
print(len('helloworld'))
10
Python cũng hỗ trợ viết 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:
Python cũng hỗ trợ các lệnh tắt. \n là thông báo một dòng mới, \t là thông báo
1 tab ...
Ví dụ:
print("a\nb\nc")
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.
Để khai báo một List trong Python, chúng ta sử dụng ngoặc vuông [] .
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.
(2, 3)
Khi khai báo một tuple, bạn có thể bỏ qua dấu ngoặc đơn, như thế này.
Bạn cũng có thể gán một tuple với nhiều giá trị cùng một lúc:
255 255 0
Python có kiểu dữ liệu dictionary để biểu diễn dữ liệu theo các cặp name : value
NIIT
hello@niithanoi.edu.vn
Thêm nữa, Python cũng có một kiểu dữ liệu gọi là 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.
{1, 2, 3}
Python có kiểu boolean. Nó có hai giá trị đặc biệt True và False để đại diện cho
Đúng và Sai.
True
Lưu ý: Trong python thì True và False sẽ viết hoa chữ cái đầu,
sẽ hơi khác so với các ngôn ngữ khác như Java, PHP.
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ì.
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.
Bạn chưa được học về biến trong Python nhưng bạn học lập trình Python thì đây
là kiến thức căn bản không thể thiếu.
Trong Python, biến không có kiểu (hay không cần khai báo kiểu dữ liệu).
Chúng chỉ là tên giữ chỗ đó và có thể giữ bất kỳ giá trị với bất kỳ kiểu dữ liệu nào,
hãy xem ví dụ sau:
x = 5
print(x)
x = 'hello'
print(x)
5
hello
Note: Nếu bạn làm như thế trong Java thì lỗi sấp mặt rồi.
Đ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ẽ hay bị nhầm lãn.
Hãy thử xem bạn có thể nhận ra 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ì là khó khăn cả.
(Thế mà mấy ông cứ bảo học lập trình khó lắm -_-)
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.
print('hello')
print('hello', 1, 2, 3)
hello
hello 1 2 3
Chúng ta cũng đã thấy hàm len ở phần trước. Hàm len được sử dụng để tính
chiều dài của một chuỗi, list hoặc các tập hợp khác.
print(len("hello"))
print(len(['a', 'b', 'c']))
5
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.
print(5 + "2")
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 là int sẽ chuyển đổi một chuỗi
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('2')
print(5 + int('2'))
print(str(5) + "2")
7
52
Ở phần trên mình đã đố bạn đếm được số chữ số của kết quả 2^1000 đúng
không?
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ố:
2^10
2^100
2^1000
Sau đó sử dụng hàm len để tính độ dài của chuỗi đó, cụ thể làm như sau:
print(len(str(2 ** 10)))
print(len(str(2 ** 100)))
print(len(str(2 ** 1000)))
4
31
302
> Lưu ý: Đọc đến đoạn này mà mới có đáp án thì không có quà nữa
đâu nhé. ;)
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.
25
Trong đó:
Phần thân của hàm được thụt lề (bằng tab ). Thụt lề cũng là để cách phân nhóm
các câu lệnh Python.
Các hàm trong Python có thể được sử dụng trong bất kỳ biểu thức nào:
print(square(2) + square(3))
print(square(square(3)))
13
81
Các hàm hiện có cũng có thể được sử dụng để tạo ra các hàm mới.
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.
16
13
Điều quan trọng là bạn phải hiểu được phạm vi của các biến được sử dụng trong
các hàm.
6
0 0
Điều này xảy ra vì 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à y bên trong hàm incr thì nó cũng sẽ không
ảnh hưởng những giá trị của biến toàn cục, x và y .
Nhưng, bên trong hàm, chúng ta lại có thể sử dụng các giá trị của các biến toàn
cục:
78.5
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ó.
Như bạn đã thấy, chúng ta thực thi 2 lần hàm square . Vậy theo như hàm vừa tạo,
chúng ta kỳ vọng numcalls lúc này sẽ có giá trị là 2 đúng không?
25
2
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?
> Lưu ý: Cố gẳng thử tự suy nghĩ đáp án trước khi chạy chương
trình trên IDE / Editor
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():
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ì?
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é.
Chúng ta cũng có một cách khác để tạo các hàm, đó là sử dụng toán tử lambda .
f = lambda x: x ** 3
def fxy(f, x, y):
return f(x) + f(y)
print(fxy(f, 2, 3))
35
35
Lưu ý rằng không giống như định nghĩa hàm, lambda không cần return . Phần
thân của lambda là một biểu thức duy nhất.
Toán tử lambda trở nên cực kỳ tiện dụng khi viết các hàm nhỏ được truyền dưới
dạng đối số, v.v.
Chúng ta sẽ thấy nhiều hơn về cách vận dụng lambda khi giải quyết các vấn đề
quan trọng hơn.
Ngoài ra, Python cung cấp một số hàm tích hợp rất tiện lợi.
Hàm min tìm giá trị nhỏ nhất, hàm max tìm giá trị lớn nhất:
Hàm int chuyển đổi chuỗi thành ingeter và hàm dựng sẵn str chuyển đổi các
số nguyên và các kiểu đối tượng khác thành string .
Bây giờ, chúng ta tiếp tục với bài tập nhỏ nào:
Bài tập 7: Viết hàm count_digits để tìm số chữ số xuất hiện trong số đã cho:
Ví dụ: Cho số 12336833, viết hàm để tính xem số này có bao nhiêu chữ số.
Kết quả là 8
print(count_digits(5))
print(count_digits(12345))
1
5
Phương thức (method) là loại hàm đặc biệt hoạt động trên đối tượng.
Ví dụ, upper là một phương thức có sẵn trong đối tượng string .
x = "hello"
print(x.upper())
HELLO
Như đã nói ở trên, phương thức cũng là hàm. Chúng có thể được gán cho các
biến khác có thể được gọi riêng.
x = "hello"
f = x.upper
print(f())
HELLO
Bài tập 8: Hãy viết một hàm istrcmp để so sánh hai chuỗi (bỏ qua vấn đề Hoa -
thường) để có kết quả như bên dưới:
print(istrcmp('python', 'Python'))
print(istrcmp('NiiT', 'nIIt'))
print(istrcmp('a', 'b'))
True
True
False
Python cung cấp các toán tử khác nhau để so sánh các giá trị. Kết quả của một
so sánh là một giá trị boolean, True hoặc False .
print(2 < 3)
print(2 > 3)
Kết quả:
True
False
Dưới đây là danh sách các toán tử điều kiện phổ biến nhất.
== so sánh bằng
!= không bằng
Bạn thậm chí có thể kết hợp những loại toán tử này:
x = 5
print(2 < x < 10)
print(2 < 3 < 4 < 5 < 6)
Kết quả:
True
True
Các toán tử có điều kiện làm việc ngay cả trên các chuỗi - So sánh dựa theo thứ
tự trong bảng chữ cái.
Kết quả:
True
True
Note: Số trời đã định Python lớn hơn Java rồi anh em ạ =))
Thêm nữa, Python có một vài toán tử logic để kết hợp các giá trị boolean.
Kết quả:
True
False
False
True
Bây giờ thì, hãy tiếp tục làm bài tập nào:
Bài tập 9: Kết quả của chương trình sau đây là gì?
Bài tập 10: Kết quả của chương trình sau đây là gì?
x = 4
y = 5
p = x < y or x < z
print(p)
Câu lệnh if được sử dụng để thực thi một đoạn code chỉ khi biểu thức boolean
là true.
x = 42
if x % 2 == 0: print('Số chẵn')
Kết quả:
Số chẵn
Trong ví dụ trên, print('Số chẵn') sẽ chỉ thực hiện khi x % 2 == 0 là true .
Code kết hợp với if có thể được viết thụt lề để tạo ra một phạm vi block code, đây
là cách thông thường được viết để có thể thực thi nhiều hơn một câu lệnh.
x = 42
if x % 2 == 0:
print('Số chẵn')
Kết quả:
Số chẵn
Câu lệnh if có tùy chọn mệnh đề else (Bạn có thể hiểu là: Nếu A đúng thì thực
hiện ... còn không thì thực hiện ...)
Câu lệnh trong mệnh đề else sẽ chỉ được thực hiện khi biểu thức boolean (điều
kiện) trả về giá trị false .
x = 3
if x % 2 == 0:
print('Số chẵn')
else:
print('Số lẻ')
Kết quả:
Số lẻ
Câu lệnh if cũng có thể tùy chọn mệnh đề elif khi có nhiều điều kiện cần được
kiểm tra.
Các từ khóa elif là viết tắt của else if để tránh thụt lề quá nhiều.
x = 42
if x < 10:
print('Số có 1 chữ số')
elif x < 100:
print('Số có 2 chữ số')
else:
print('Số Siêu to - Khổng lồ')
Kết quả:
Số có 2 chữ số
Bài tập 11: Điều gì xảy ra khi đoạn code sau được thực thi? Nó có lỗi gì không?
Giải thích lý do.
x = 2
if x == 2:
print(x)
else:
print(y)
Bài tập 12: Điều gì xảy ra khi đoạn code sau được thực thi? Nó có lỗi gì không?
Giải thích lý do.
x = 2
if x == 2:
print(x)
else:
x +
List là một trong những loại dữ liệu rất thường gặp trong Python (Nó giống như
mảng trong các ngôn ngữ khác vậy)
Bây giờ chúng ta sẽ tìm hiểu kỹ hơn một chút về List. Kiến thức cơ bản về List là
bắt buộc để có thể sử dụng Python.
x = [1, 2, 3]
x = ["hello", "world"]
List cũng có thể chứa các giá trị không đồng nhất. Dưới đây là List chứa số, chuỗi
và cả List khác:
x = [1, 2, 3]
print(len(x))
Kết quả:
Toán tử [] được sử dụng để truy cập một giá trị nhất định trong list.
Kết quả:
2
4
Có kết quả như trên bởi vì: Phần tử đầu tiên có chỉ số (index) là 0 , phần tử thứ hai
có chỉ số là 1 , ...
* Bạn sẽ được học nhiều hơn về List ở những bài chia sẻ sau.
Các Module là các thư viện trong Python. Python chứa rất nhiều thư viện tiêu
chuẩn.
Một module có thể được nhập bằng cách sử dụng câu lệnh import
Hãy xem cách nhập module time để sử dụng, như bên dưới:
Kết quả:
Hàm asctime trong module time trả về thời gian hiện tại của hệ thống như một
chuỗi.
Còn có rất nhiều Module thú vị trong thư viện tiêu chuẩn của Python (Python
Standard Library).
Chúng ta sẽ tìm hiểu thêm về chúng trong các bài viết sắp tới.
OK. Trước khi kết thúc hướng dẫn học lập trình Python này, hãy cùng làm một bài
tập cuối nào.
Bài tập 13: Viết một chương trình add.py lấy 2 số nhập vào command line và in
ra tổng của chúng.
** Tham gia nhóm trao đổi thảo luận về tự học Python với chúng mình ngay tại
đây!
Tiêu đề là "Tự học Python Cơ Bản trong 10 phút" mà có thể đã quá 10 phút nhiều
rồi đấy nhỉ :D. Mình chọn tiêu đề giật gân tý thôi.
Nhưng mình nghĩ rằng, đối với người mới bắt đầu tìm hiểu qua về lập trình Python
cơ bản như bạn, trong 1 bài viết như vậy cũng giúp bạn có được một số nền tảng
kha khá để tiếp tục rồi đấy.
Chi tiết ra thì có khá nhiều. Tuy nhiên, cứ tạm như thế đã (Đừng đi sâu vội).
NẾU BẠN MUỐN HỌC PYTHON CHUYÊN SÂU HƠN THÌ ĐĂNG KÝ TẠI ĐÂY!
Mình sẽ trở lại với bài viết tiếp theo để tìm hiểu về Cách làm việc với Dữ liệu trong
Python.
Có bất kỳ điều gì bạn có thể comment tại bài viết này hoặc tham gia Group nho
nhỏ này để được hỗ trợ: https://www.facebook.com/groups/hoihocpython/
* Bài viết này cho phép download dưới dạng PDF tại đây! (Điền form khảo sát nho
nhỏ để nhận link tải ngay nhé ^^)
* Tham khảo: https://www.python.org/doc/
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0383.180086
Email: hello@niithanoi.edu.vn
Website: https://niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #icthanoi #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh
#hoclaptrinhjava #hoclaptrinhphp #python #java #php
Học Lập trình Front Học Lập trình viên Học lập trình Java
end hiện đại với Full stack với lộ Fullstack với khóa
ReactJS. Học làm trình học tập bài học được xây dựng
Họ tên *
Điện thoại *
Email *
Ghi chú
ĐĂNG KÝ TƯ VẤN
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
HOTLINE: 0383180086
Tư vấn cho tôi ngay !
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội Email của bạn... Gửi cho tôi
Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội Khóa học PHP Full stack [2022] cho người
mới bắt đầu
0383180086 - 0383180086
Khóa học PYTHON cho người mới bắt đầu
hello@niithanoi.edu.vn (IPD2022)
Chính sách Bảo Mật Thông Tin Khóa học Back End Khóa học Front End Đang online: 93 Tổng truy cập: 8.426.614