hằng biến trong pyhon – Tài liệu text

hằng biến trong pyhon

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (99.67 KB, 23 trang )

Biến, hằng và các kiểu dữ liệu
Th.S Trần Đức Lợi
Pythonvietnam.info

Mục đích bài học
• Tìm hiểu về biến, hằng và các biểu thức trong
python

PythonBeginnerClass @loitd
#pythonvietnam.info

Hằng
• Hằng là các giá trị số, boolean, ký tự hoặc
chuỗi không đổi
• Ví dụ: 123, ‘tôi yêu em’, «Tôi ghét em»
• Số 123 biểu diễn giá trị 123

PythonBeginnerClass @loitd
#pythonvietnam.info

Số trong python






Integer: 2 (32bit = long in C)
Long (123L)
Floating point 1.23, 1.2E10 (double in C)
Complex (1.2-3.4j)
.real & .imag

Sys.maxint
12j = ?
PythonBeginnerClass @loitd
#pythonvietnam.info

Số trong python





Int()
Long()
Float()
Complex(re,im)
Abs()
Divmod(x,y)
Pow(x,y)
PythonBeginnerClass @loitd
#pythonvietnam.info

Số trong python





Module math
Math.trunc()

Math.ceil()
Math.floor()
Math.round(1.2345,2)
Math.floor(1+2J)?

PythonBeginnerClass @loitd
#pythonvietnam.info

Số trong python




X | y: bitwise or
X & y: bitwise and
X ^ y: bitwise xor
X << n: shift left
X >> n: shift right
~x: invert = -x-1

PythonBeginnerClass @loitd
#pythonvietnam.info

String




String là một chuỗi các ký tự.

Nháy đơn
Nháy đôi
Nháy ba
Ứng dụng



‘I am’
“I’am”
‘’’I

Am’’’

• Escape sequences (in print command)
– \
– \n
PythonBeginnerClass @loitd
#pythonvietnam.info

String
• Raw string (r or R)
– R’new\n’

– Luôn sử dụng raw string với regular expressions

• Unicode
– U’unicode’

• Tính immutable
• String concatenation
PythonBeginnerClass @loitd
#pythonvietnam.info

Biến

• Hằng là immutable
• Biến: là một vị trí trong bộ nhớ mà chương trình
có thể lưu dữ liệu và sau đó đọc ra dựa vào tên
của biến.
• Coder được quyền chọn tên của biến theo quy
tắc.
• Ví dụ: x = 1
• X=2
• Print x?
PythonBeginnerClass @loitd
#pythonvietnam.info

Nguyên tắc đặt tên






Phải bắt đầu bằng ký tự chữ hoặc dấu _
Phân biệt hoa thường

Chỉ được bao gồm ký tự, chữ số và _
Tránh các từ dành riêng.
Một số ví dụ:
_a, _A, …
A b, 2a, a-b, …
PythonBeginnerClass @loitd
#pythonvietnam.info

Các từ giành riêng
• and del for is raise assert elif from
lambda return break else global not try

class except if or while continue exec
import pass yield def finally in print as
with
• không được sử dụng để đặt tên biến, hàm

PythonBeginnerClass @loitd
#pythonvietnam.info

Dòng vật lý và dòng logic
• Dòng vật lý?
• Dòng logic?

• Python coi mỗi dòng vật lý là 1 dòng logic
(không tường minh)
• Muốn nhiều dòng logic trên 1 dòng vật lý?
• Khuyến cáo

PythonBeginnerClass @loitd
#pythonvietnam.info

Căn lề
• Vai trò của Dấu cách trong chương trình python
• Ví dụ:

– A=1
• A=2

– B=2

• Căn lề hợp lý:



1 tab

4 spaces
2 spaces
Dùng một kiểu
PythonBeginnerClass @loitd
#pythonvietnam.info

Biểu thức
• Một dòng lệnh (logical line) trong python thường chứa
một biểu thức.
• Một biểu thức sẽ bao gồm toán tử (operator) và toán
hạng (operand)

• Toán tử là một chức năng nào đó được biểu diễn bằng
ký tự hoặc từ khóa.
• Ví dụ toán tử: +-*/ **, //, %
• Toán hạng là dữ liệu để cung cấp cho toán tử thực
hiện.
• Ví dụ:
• 2+3: Thì 2,3 là toán hạng, Dấu + là toán tử
PythonBeginnerClass @loitd
#pythonvietnam.info

Phép gán

• Sử dụng dấu bằng (=) cho phép gán với biến
bên trái, giá trị bên phải.
• Bên phải có thể và thường là một biểu thức
(expression)
• Ví dụ:
• X = 2 * (x + 1)

PythonBeginnerClass @loitd
#pythonvietnam.info

Danh sách toán tử và ý nghĩa

• Danh sách cho trong phụ lục I
• Lưu ý: Boolean AND, OR, NOT vs Bitwise AND,
OR

PythonBeginnerClass @loitd
#pythonvietnam.info

Thứ tự thực hiện biểu thức
• Thứ tự thực hiện trong biểu thức toán học thông
thường?
• Thứ tự thực hiện trong python theo các nguyên

tắc cơ bản:




Dấu ngoặc
Exp
Nhân, chia, lấy dư
Cộng, trừ
Trái sang phải

• Nêu ví dụ đơn giản
PythonBeginnerClass @loitd
#pythonvietnam.info

Thứ tự thực hiện biểu thức



(True + 1) ** 2 * 3
(True + 1) ** 2 // 2
1<2 or 2<1 and 3<4 and 1^2>6
Ý nghĩa của dấu ngoặc

PythonBeginnerClass @loitd
#pythonvietnam.info

Ví dụ về biểu thức
• Tính diện tích hình chữ nhật và in ra màn
hình?

PythonBeginnerClass @loitd
#pythonvietnam.info

Kiểu trong python
• Thực hiện trong python phép tính 3/2 kết quả
sẽ bằng 1?
• Giải thích lý do?
• Muốn có kết quả đúng?
• Như vậy kiểu thương số 2 đã được tự động
convert sang kiểu float trước khi thực hiện

phép tính hay sau khi thực hiện phép tính?

PythonBeginnerClass @loitd
#pythonvietnam.info

Khai báo biến



Xem xét khai báo biến trong C++
So sánh với khai báo biến trong python
Tự nhận kiểu trong python
Hàm type()

PythonBeginnerClass @loitd
#pythonvietnam.info

Bài tập
• Lưu ý về cách thức ra bài tập
• Viết thuật toán và code chương trình

PythonCalculator:

PythonBeginnerClass @loitd
#pythonvietnam.info

Hằng• Hằng là các giá trị số, boolean, ký tự hoặcchuỗi không đổi• Ví dụ: 123, ‘tôi yêu em’, «Tôi ghét em»• Số 123 biểu diễn giá trị 123PythonBeginnerClass @loitd#pythonvietnam.infoSố trong pythonInteger: 2 (32bit = long in C)Long (123L)Floating point 1.23, 1.2E10 (double in C)Complex (1.2-3.4j).real & .imagSys.maxint12j = ?PythonBeginnerClass @loitd#pythonvietnam.infoSố trong pythonInt()Long()Float()Complex(re,im)Abs()Divmod(x,y)Pow(x,y)PythonBeginnerClass @loitd#pythonvietnam.infoSố trong pythonModule mathMath.trunc()Math.ceil()Math.floor()Math.round(1.2345,2)Math.floor(1+2J)?PythonBeginnerClass @loitd#pythonvietnam.infoSố trong pythonX | y: bitwise orX & y: bitwise andX ^ y: bitwise xorX << n: shift leftX >> n: shift right~x: invert = -x-1PythonBeginnerClass @loitd#pythonvietnam.infoStringString là một chuỗi các ký tự.Nháy đơnNháy đôiNháy baỨng dụng‘I am’“I’am”‘’’IAm’’’• Escape sequences (in print command)– \– \nPythonBeginnerClass @loitd#pythonvietnam.infoString• Raw string (r or R)– R’new\n’– Luôn sử dụng raw string với regular expressions• Unicode– U’unicode’• Tính immutable• String concatenationPythonBeginnerClass @loitd#pythonvietnam.infoBiến• Hằng là immutable• Biến: là một vị trí trong bộ nhớ mà chương trìnhcó thể lưu dữ liệu và sau đó đọc ra dựa vào têncủa biến.• Coder được quyền chọn tên của biến theo quytắc.• Ví dụ: x = 1• X=2• Print x?PythonBeginnerClass @loitd#pythonvietnam.infoNguyên tắc đặt tênPhải bắt đầu bằng ký tự chữ hoặc dấu _Phân biệt hoa thườngChỉ được bao gồm ký tự, chữ số và _Tránh các từ dành riêng.Một số ví dụ:_a, _A, …A b, 2a, a-b, …PythonBeginnerClass @loitd#pythonvietnam.infoCác từ giành riêng• and del for is raise assert elif fromlambda return break else global not tryclass except if or while continue execimport pass yield def finally in print aswith• không được sử dụng để đặt tên biến, hàmPythonBeginnerClass @loitd#pythonvietnam.infoDòng vật lý và dòng logic• Dòng vật lý?• Dòng logic?• Python coi mỗi dòng vật lý là 1 dòng logic(không tường minh)• Muốn nhiều dòng logic trên 1 dòng vật lý?• Khuyến cáoPythonBeginnerClass @loitd#pythonvietnam.infoCăn lề• Vai trò của Dấu cách trong chương trình python• Ví dụ:– A=1• A=2– B=2• Căn lề hợp lý:1 tab4 spaces2 spacesDùng một kiểuPythonBeginnerClass @loitd#pythonvietnam.infoBiểu thức• Một dòng lệnh (logical line) trong python thường chứamột biểu thức.• Một biểu thức sẽ bao gồm toán tử (operator) và toánhạng (operand)• Toán tử là một chức năng nào đó được biểu diễn bằngký tự hoặc từ khóa.• Ví dụ toán tử: +-*/ **, //, %• Toán hạng là dữ liệu để cung cấp cho toán tử thựchiện.• Ví dụ:• 2+3: Thì 2,3 là toán hạng, Dấu + là toán tửPythonBeginnerClass @loitd#pythonvietnam.infoPhép gán• Sử dụng dấu bằng (=) cho phép gán với biếnbên trái, giá trị bên phải.• Bên phải có thể và thường là một biểu thức(expression)• Ví dụ:• X = 2 * (x + 1)PythonBeginnerClass @loitd#pythonvietnam.infoDanh sách toán tử và ý nghĩa• Danh sách cho trong phụ lục I• Lưu ý: Boolean AND, OR, NOT vs Bitwise AND,ORPythonBeginnerClass @loitd#pythonvietnam.infoThứ tự thực hiện biểu thức• Thứ tự thực hiện trong biểu thức toán học thôngthường?• Thứ tự thực hiện trong python theo các nguyêntắc cơ bản:Dấu ngoặcExpNhân, chia, lấy dưCộng, trừTrái sang phải• Nêu ví dụ đơn giảnPythonBeginnerClass @loitd#pythonvietnam.infoThứ tự thực hiện biểu thức(True + 1) ** 2 * 3(True + 1) ** 2 // 21<2 or 2<1 and 3<4 and 1^2>6Ý nghĩa của dấu ngoặcPythonBeginnerClass @loitd#pythonvietnam.infoVí dụ về biểu thức• Tính diện tích hình chữ nhật và in ra mànhình?PythonBeginnerClass @loitd#pythonvietnam.infoKiểu trong python• Thực hiện trong python phép tính 3/2 kết quảsẽ bằng 1?• Giải thích lý do?• Muốn có kết quả đúng?• Như vậy kiểu thương số 2 đã được tự độngconvert sang kiểu float trước khi thực hiệnphép tính hay sau khi thực hiện phép tính?PythonBeginnerClass @loitd#pythonvietnam.infoKhai báo biếnXem xét khai báo biến trong C++So sánh với khai báo biến trong pythonTự nhận kiểu trong pythonHàm type()PythonBeginnerClass @loitd#pythonvietnam.infoBài tập• Lưu ý về cách thức ra bài tập• Viết thuật toán và code chương trìnhPythonCalculator:PythonBeginnerClass @loitd#pythonvietnam.info