Lecture - 2 - Python - Basics - 1 - For Student - Huy - Revised

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

TIN314: Lập trình cho phân tích dữ liệu và tính toán khoa học

Buổi 2: Python cơ bản (1)

Mục tiêu

Sau khi hoàn thành buổi học, bạn có thể:


• Hiểu được cú pháp của một chương trình Python
• Nhận biết và sử dụng các kiểu dữ liệu có sẵn trong Python
• Nhận biết và sử dụng các câu lệnh điều kiện trong Python

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 2

BM Tin học - Trường ĐH Ngoại thương


Nội dung chính

Chủ đề Hoạt động


• Thành phần cú pháp của Python • Bài tập thực hành

• Kiểu dữ liệu cơ bản


• Câu lệnh điều kiện

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 3

Ngôn ngữ lập trình Python là gì?

• Ngôn ngữ hướng đối tượng (OOP)


• Hỗ trợ đa dạng kiểu dữ liệu
• Độc lập với các nền tảng
• Cú pháp đơn giản và dễ dàng
• Quản lý bộ nhớ tự động
• Miễn phí (mã nguồn mở)!

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 4

BM Tin học - Trường ĐH Ngoại thương


B u ổ i 2 : P yt h o n c ơ b ả n ( 1 )

Phần 1: Thành phần cú pháp của Python

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

Thuộc tính của Lập trình hướng đối tượng

• Mọi thứ đều là đối tượng


• Module, lớp (class), function (hàm)
• Xử lý ngoại lệ
• Cho phép thay đổi kiểu biến tùy biến (Dynamic Type), đa hình
(Polymorphism)
• Phạm vi tĩnh (Static scoping)
• Nạp chồng toán tử (Operator overloading)
• Thụt đầu dòng

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 6

BM Tin học - Trường ĐH Ngoại thương


Các khái niệm

import sys Thư viện Cấu trúc


import random dữ liệu

def say_hello(user):
# some greeting in different languages
prefix_dict = {
1: "Hello ",
2: "Xin Chao ",
3: "ni hao " Biến
Các biểu }
thức và key = random.randint(1,3)
luồng thực prefix = prefix_dict[key]
thi print(prefix + user)

if __name__ == "__main__":
user = sys.argv[1]
say_hello(user)
© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 7

Python cơ bản (1)


Thụt lề quan trọng trong Python:
• Xác định các khối (block) trong code.
• Được sử dụng trong các câu lệnh if hay for trong python

Các biến sau khi được tạo:


• Không cần khai báo kiểu dữ liệu của biến.
• Python có thể tự tìm ra kiểu dữ liệu của từng biến.

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 8

BM Tin học - Trường ĐH Ngoại thương


Python cơ bản (2)

Mô tả Cú pháp
Gán biến =
Phép so sánh == > <
Các phép toán tử toán học +-*/%
Toán tử logic and, or, not
Lệnh in cơ bản print
Ghi chú code #

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 9

B u ổ i 2 : P yt h o n c ơ b ả n ( 1 )

Phần 2: Kiểu dữ liệu cơ bản

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

BM Tin học - Trường ĐH Ngoại thương


Các kiểu dữ liệu tiêu chuẩn của Python

Kiểu dữ liệu

Ngày và
Số Chuỗi Boolean None
giờ

Số
Số thực
nguyên

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 11

Dữ liệu dạng số

Số nguyên (int) : Số thập phân (Float):


895 895.255
0 0.0
-12 2.3
23 -1.7e-7

int("15") → 15
int("3f",16) → 63
int(15.56) → 15
float("-11.24e8") → -1124000000.0
round(15.56,1)→ 15.6

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 12

BM Tin học - Trường ĐH Ngoại thương


Chuỗi (str)

b = 'this is a string'
c = "string can be in double quote"
d = """
string that
spans multiple lines
"""
e = 'insert \n to start a new line'
f = '12\\34 This is how to show slash'
r = r'this\has\no\special\characters'

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 13

Chuỗi: Các ký tự đặc biệt


Ví dụ Mô tả
\n Ký tự xuống dòng
\r Đưa con trỏ về đầu dòng
\r\n Đưa con trỏ về đầu dòng + Xuống dòng
\b Lùi lại 1 dấu space
\f hoặc \x0c Ngắt trang
\x1c Ngắt tệp
\x1d Ngắt nhóm
\x1e Ngắt bản ghi
\x85 Xuống dòng (mã điều khiển C1)
\u2028 Ngắt dòng
\u2029 Phân cách đoạn văn

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 14

BM Tin học - Trường ĐH Ngoại thương


Chuỗi: Indexing & Slicing

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 15

Định dạng kiểu dữ liệu dạng chuỗi

Bạn có thể định dạng kiểu dữ liệu dạng chuỗi bằng cách:

Tài liệu tham khảo: https://docs.python.org/3/tutorial/inputoutput.html

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 16

BM Tin học - Trường ĐH Ngoại thương


Các phương thức với kiểu string
Phương thức Mô tả
Viết hoa các chữ cái đầu tiên của từ đầu tiên, các từ còn lại viết
str.capitalize()
thường.
Nếu string có độ dài nhỏ hơn width thì sẽ thêm vào 2 đầu của string
str.center(width[, fillchar])
các ký tự fillchar, mặc định fillchar là một dấu cách.
str.count(sub[, start[, end]]) Đếm xem trong chuỗi có bao nhiêu ký tự cần tìm.
str.encode(encoding="utf-
Hàm này có tác dụng encode (mã hóa) một chuỗi.
8", errors="strict")
Hàm này có tác dụng kiểm tra xem chuỗi hoặc khoảng chuỗi có
str.endswith(suffix[, start[, end]])
được kết thúc bằng ký tự nào đó hay không.
str.find(sub[, start[, end]]) Tìm chuỗi con trong chuỗi lớn, trả ra vị trí của chuỗi con nếu tồn tại,
trả ra -1 nếu không tồn tại.
Tương tự như find, nhưng sẽ trả ra ngoại lệ nếu chuỗi con không
str.index(sub[, start[, end]])
tồn tại.
str.split(sep=None, maxsplit=-1) Cắt chuỗi ra các từ.

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 17

Các phương thức với kiểu string


Phương thức Mô tả
str.strip([chars]) Cắt khoảng trống ở hai đầu của string.
str.swapcase() Chuyển đổi chuỗi sang dạng nghịch đảo của nó (nghịch đảo ở đây là hoa - thường).

str.title() Viết hoa ký tự đầu tiên của mỗi từ.

str.casefold() Kiểm tra xem một chuỗi có phải là chứa duy nhất các ký tự chữ hoặc chuỗi hay không.
str.upper() Chuyển tất cả các ký tự về dạng ký tự hoa.
str.lower() Chuyển tất cả các ký tự về dạng ký tự thường.
str.isdigit() Kiểm tra xem một chuỗi có phải là chứa duy nhất các chữ số hay không?
str.isdecimal() Trả về True nếu chuỗi cần kiểm tra chỉ chứa các số thập phân, và ngược lại.

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 18

BM Tin học - Trường ĐH Ngoại thương


Boolean

• Giá trị của kiểu boolean là True hoặc False


• Chúng ta có thể chuyển đổi các đối tượng khác thành
boolean
FALSE TRUE
bool('') bool('s')
bool(0) bool(1)
bool(0.0) bool(1.1)
bool([]) bool([1, 2])
bool(None)
…. ….
© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 19

None

• Dữ liệu “null”
None là biến không tồn tại hoặc
không xác định

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 20

BM Tin học - Trường ĐH Ngoại thương


Datetimes

• Kiểu datetime kết hợp thông tin được lưu trữ theo ngày và giờ

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 21

B u ổ i 2 : P yt h o n c ă n b ả n ( 1 )

Phần 3: Toán tử trong Python

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

BM Tin học - Trường ĐH Ngoại thương


Toán tử số học

• + - * / % (Toán tử toán học)


• +=, -= (Tăng, giảm)
• Để gán biến, chúng ta sử dụng =
a=1
a = "ftu"
• Có thể sử dụng + ghép 2 dữ liệu dạng chuỗi

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 23

Toán tử số học

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 24

BM Tin học - Trường ĐH Ngoại thương


Toán tử số học

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 25

Hoạt động – Thực


hành tạo câu lệnh
tự tính toán số tuổi
từ năm sinh

26 © 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

BM Tin học - Trường ĐH Ngoại thương


Toán tử so sánh

Toán tử Tên
== Bằng
!= Khác
> Lớn hơn
< Bé hơn
>= Lớn hơn hoặc bằng
<= Bé hơn hoặc bằng

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 27

Toán tử logic

Toán tử Mô tả Ví dụ
and Trả về True nếu cả hai x < 5 and x < 10
mệnh đề đều đúng
or Trả về True nếu một x < 5 or x < 4
trong các mệnh đề đúng
not Đảo ngược kết quả, trả not(x < 5 and x < 10)
về False nếu kết quả
đúng

Tài liệu tham khảo: https://peps.python.org/pep-0008/


© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 28

BM Tin học - Trường ĐH Ngoại thương


Gán biến

 Chúng ta có thể tạo nhiều biến cùng một lúc


>>> x, y = 2, 3
>>> x
2
>>> y
3
Gán ngược giá trị biến cho nhau
>>> x, y = y, x
 Các biến có thể gán được theo kiểu xâu chuỗi
>>> a = b = x = 2

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 29

Nhận dữ liệu đầu vào từ bàn phím

• Từ bàn phím gán giá trị cho từng biến

user_name = input('Please input your name: ')

user_age = int(input('Input your age: '))

user_weight = float(input('Input your weight: '))

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 30

BM Tin học - Trường ĐH Ngoại thương


Quy tắc đặt tên (1/2)

• Tên biến có phân biệt chữ hoa, chữ thường và không thể bắt đầu
bằng số. Chúng có thể chứa các chữ cái, số và dấu gạch dưới.
bob Bob _bob _2_bob_ bob_2 BoB

• Không nên đặt tên biến trùng với các hàm, đối tượng trong python:
and, assert, break, class, continue, def, del, elif,
else, except, exec, finally, for, from, global, if,
import, in, is, lambda, not, or, pass, print, raise,
return, try, while

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 31

Quy tắc đặt tên (2/2)

Cộng đồng lập trình viên sử dụng Python khuyến nghị những quy ước
đặt tên:
• joined_lower: cho các hàm, phương thức và thuộc tính
• joined_lower or ALL_CAPS: cho hằng số
• StudlyCaps: cho lớp (class)

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 32

BM Tin học - Trường ĐH Ngoại thương


Hoạt động – Thực • Khởi tạo một jupyter notebook
hành với kiểu dữ trên máy tính cá nhân
liệu • Thực hành gán biến với các kiểu
(15 phút) dữ liệu khác nhau và thực hành
với các toán tử đã được học

33 © 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

34
© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

BM Tin học - Trường ĐH Ngoại thương


B u ổ i 2 : P yt h o n c ă n b ả n ( 1 )

Phần 4: Câu lệnh điều kiện

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

Câu lệnh điều kiện: câu lệnh if


• if, if/else, if/elif/else
if a == 0: Rational operators
print("zero!”) Ký hiệu Mô tả

elif a < 0: <= Nhỏ hơn hoặc bằng


< Nhỏ hơn
print("negative!”)
> Lớn hơn
else:
>= Lớn hơn hoặc bằng
print("positive!”) == Bằng
!= Khác

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 36

BM Tin học - Trường ĐH Ngoại thương


Hoạt động – Câu • Khởi tạo một jupyter notebook
trên máy tính cá nhân
lệnh điều kiện
(15 phút) • Thực hành với câu điều kiện if

37 © 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

B u ổ i 2 : P yt h o n c ă n b ả n ( 1 )

Tổng kết

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương

BM Tin học - Trường ĐH Ngoại thương


Tóm tắt

Nội dung chính của bài giảng:


• Các khái niệm cơ bản trong ngôn ngữ lập trình Python
• Các kiểu dữ liệu cơ bản trong Python
• Câu lệnh điều kiện trong Python

© 2023 Bộ môn Tin học - Trường Đại học Ngoại thương 39

Thank you!

BM Tin học - Trường ĐH Ngoại thương

You might also like