Hướng dẫn data types and expressions in python - kiểu dữ liệu và biểu thức trong python

Tổng quan

Giảng dạy: 25 phút Bài tập: 20 phút 25 min
Exercises: 20 min

Câu hỏi

  • Làm thế nào để Python phân loại dữ liệu?

  • Python có thể làm gì với dữ liệu?

  • Làm thế nào để python so sánh dữ liệu?

  • Python đánh giá các biểu thức trong thứ tự nào?

Mục tiêu

  • Hiểu làm thế nào các toán tử khác nhau hoạt động.

  • Hiểu rằng một giá trị từ ‘loại xác định loại hoạt động có thể được thực hiện.

  • Chuyển đổi dữ liệu giữa các loại khác nhau.

  • Sử dụng các chức năng được xây dựng cụ thể trong các chức năng.

  • Chứng minh quá tải toán tử (ví dụ: hiệu ứng ‘++trên

    myfloat = 1.0
    print(myfloat)
    
    1 so với
    myfloat = 1.0
    print(myfloat)
    
    2).

  • Hiểu thứ tự ưu tiên và kết hợp.

Người vận hành và biểu thức

Chúng ta đã thấy Python có thể được sử dụng như một máy tính như thế nào:

Đây là một ví dụ về một biểu thức ‘.

  • Một biểu thức là sự kết hợp của các giá trị, biến và ‘toán tử.
  • Các nhà khai thác bao gồm
    myfloat = 1.0
    print(myfloat)
    
    3,
    myfloat = 1.0
    print(myfloat)
    
    4,
    myfloat = 1.0
    print(myfloat)
    
    5,
    myfloat = 1.0
    print(myfloat)
    
    6,
    myfloat = 1.0
    print(myfloat)
    
    7,
    myfloat = 1.0
    print(myfloat)
    
    8,
    myfloat = 1.0
    print(myfloat)
    
    9,
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    0,
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    1 cộng với nhiều hơn ..
  • Biểu thức cần được đánh giá.

Về mặt kỹ thuật, biểu thức ’biểu thức là toàn bộ ____ 32. Điều này có thể được chia thành‘ toán tử và ‘operands. Toán tử là

myfloat = 1.0
print(myfloat)
4 và các giá trị dữ liệu (
string1 = 'hello'
string2 = "hello"
string3 = '1234'
string4 = str(56789)
string5 = 'x'
string6 = "Cleese's legacy"
string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
4 và
string1 = 'hello'
string2 = "hello"
string3 = '1234'
string4 = str(56789)
string5 = 'x'
string6 = "Cleese's legacy"
string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
5) là các toán hạng.
The operator is the
myfloat = 1.0
print(myfloat)
4 and the data values (
string1 = 'hello'
string2 = "hello"
string3 = '1234'
string4 = str(56789)
string5 = 'x'
string6 = "Cleese's legacy"
string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
4 and
string1 = 'hello'
string2 = "hello"
string3 = '1234'
string4 = str(56789)
string5 = 'x'
string6 = "Cleese's legacy"
string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
5) are the operands.

Biểu thức với ‘số

Chúng ta có thể sử dụng nhiều loại toán tử khác để xây dựng các biểu thức khác nhau:

Phép nhân

Số mũ

Phân công

Phân chia sàn

Làm tròn câu trả lời xuống giá trị số nguyên gần nhất.

Modulo

myfloat = 1.0
print(myfloat)
9 trả về phần còn lại của bộ phận.

Biểu thức phân chia

Kết quả của các biểu thức sau đây là gì?

print('5 // 3:', 5//3)
print('5 % 3:', 5%3)

Dung dịch

5 // 3: 1 5 % 3: 2
5 % 3: 2

Thứ tự hoạt động

  • Theo dấu ngoặc, số mũ, phân chia, nhân, bổ sung, phép trừ BedmasBrackets, Exponents, Division, Multiplication, Addition, Subtraction BEDMAS
  • Khi hai toán tử có cùng mức độ ưu tiên, sự kết hợp xác định thứ tự hoạt động.
  • Sự kết hợp là thứ tự trong đó một biểu thức được đánh giá, hầu như luôn luôn từ trái sang phải.left-to-right.

Ưu tiên và kết hợp

Nếu bạn có các biểu thức sau đây, các đầu ra là gì?

  1. 2 + 3 * 4
  2. 5 * 2 // 3
  3. 5 * (2 // 3)
  4. 2 ** 3 ** 2
  5. (2 ** 3) ** 2

Dung dịch

  1. 5 // 3: 1 5 % 3: 2
  2. Thứ tự hoạt động
  3. Theo dấu ngoặc, số mũ, phân chia, nhân, bổ sung, phép trừ Bedmas
  4. Khi hai toán tử có cùng mức độ ưu tiên, sự kết hợp xác định thứ tự hoạt động.
  5. Sự kết hợp là thứ tự trong đó một biểu thức được đánh giá, hầu như luôn luôn từ trái sang phải.

Ưu tiên và kết hợp

Nếu bạn có các biểu thức sau đây, các đầu ra là gì?

2 + 3 * 4

5 * 2 // 3

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'

5 * (2 // 3)

2 ** 3 ** 2

  • (2 ** 3) ** 2 are symbols (often descriptive words) that can represent or stand in for different values.
  • Trả lời: 14 are the actual values (i.e. data) stored in memory.
    In Python, you can only access a stored value through a variable.
  • Trả lời: 3type of a value indicates what the nature of the value is, and defines the set of legal operations that can be done on it.
    As well as providing a large range of built-in types (such as
    myfloat = 1.0
    print(myfloat)
    
    1,
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    0,
    myfloat = 1.0
    print(myfloat)
    
    2 and
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    2),

Trả lời: 0
You can always check the type through the built-in function

count = 3
print(count == 4)
print(count < 3)
print(count == 3)
print(count > 4)
string1 == string2
6:

Trả lời: 512

  • Trả lời: 64
  • Giá trị ‘loại
  • Dữ liệu có các hương vị khác nhau, trực giác, chúng tôi biết rằng chúng tôi có thể làm những việc khác nhau với các loại dữ liệu khác nhau. Biểu thức
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    7 có ý nghĩa với chúng ta, nhưng còn
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    8 thì sao?

myfloat = 1.0
print(myfloat)

Phân loại dữ liệu

Nhóm các giá trị sau thành các danh mục hợp lý:

  • Điều gì có thể là ý nghĩa, đối với một máy tính, của các loại dữ liệu khác nhau này?
  • Mặc dù chúng thường có thể cảm thấy giống như điều tương tự, nhưng rất hữu ích để phân biệt giữa các biến, giá trị và loại.

string1 = 'hello'
string2 = "hello"
string3 = '1234'
string4 = str(56789)
string5 = 'x'
string6 = "Cleese's legacy"
string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'

Các biến là các ký hiệu (thường là các từ mô tả) có thể biểu thị hoặc đứng cho các giá trị khác nhau.

  • Các giá trị là các giá trị thực tế (tức là dữ liệu) được lưu trữ trong bộ nhớ. Trong Python, bạn chỉ có thể truy cập một giá trị được lưu trữ thông qua một biến.True or False and these can be stored in
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    2 variables
  • Loại giá trị cho biết bản chất của giá trị là gì và xác định tập hợp các hoạt động pháp lý có thể được thực hiện trên đó. Cũng như cung cấp một loạt các loại tích hợp (chẳng hạn như
    myfloat = 1.0
    print(myfloat)
    
    1,
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    0,
    myfloat = 1.0
    print(myfloat)
    
    2 và
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    2),
  • Trong ví dụ đơn giản này, chúng tôi có biến hoặc định danh
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    3, giá trị
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    4 và loại
    myfloat = 1.0
    print(myfloat)
    
    2. Bạn luôn có thể kiểm tra loại thông qua chức năng tích hợp
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    6:
  • Các loại số:
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    7 và
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    8

count = 3
print(count == 4)
print(count < 3)
print(count == 3)
print(count > 4)
string1 == string2

False
False
True
False
True

Số nguyên myfloat = 1.0 print(myfloat) 1.

  • Số điểm nổi
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    0.

empty = None
print(empty)

Để xác định một số điểm nổi, chúng ta phải bao gồm một điểm thập phân nếu không nó là một số nguyên!

Cũng có thể chuyển đổi một

myfloat = 1.0
print(myfloat)
1 thành
count = 3
print(count == 4)
print(count < 3)
print(count == 3)
print(count > 4)
string1 == string2
0 và ngược lại.

  1. Dây
  2. Có thể được xác định bằng các trích dẫn đơn (‘) hoặc gấp đôi (Hồi).
  3. Điều này cho phép chúng tôi sử dụng cả
    False
    False
    True
    False
    True
    
    3 và
    False
    False
    True
    False
    True
    
    4 làm ký tự chuỗi, mà không vô tình chỉ ra kết thúc của chuỗi.
  4. Biểu thức Boolean -
    False
    False
    True
    False
    True
    
    5 hoặc
    False
    False
    True
    False
    True
    
    6
  5. Toán tử so sánh Python trả về giá trị
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    2, đúng hoặc sai và chúng có thể được lưu trữ trong các biến
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    2
  6. Bình đẳng được kiểm tra với toán tử Equals Double-Equal (
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    0) trong khi bất bình đẳng sử dụng dấu chấm than-mark-cark (
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    1), đọc là không ____61 bằng ____62.

Trong các biểu thức số, chúng hoạt động như số nguyên 0 và 1

Sử dụng chức năng tích hợp bool () cho trường hợp bất kỳ giá trị nào cho

count = 3
print(count == 4)
print(count < 3)
print(count == 3)
print(count > 4)
string1 == string2
2

  1. print(type(3))
  2. In (Float (3))
  3. print(int(3.9))
  4. print(bool(0))
  5. print(type(None))

So sánh, kiểm tra thành viên và kiểm tra danh tính

  • Luôn trả về giá trị của loại
    count = 3
    print(count == 4)
    print(count < 3)
    print(count == 3)
    print(count > 4)
    string1 == string2
    
    2
  • empty = None
    print(empty)
    
    6,
    empty = None
    print(empty)
    
    7,
    empty = None
    print(empty)
    
    8,
    empty = None
    print(empty)
    
    9,
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    1,
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    0,
    File "", line 1
    SyntaxError: can't assign to literal
    
    2,
    File "", line 1
    SyntaxError: can't assign to literal
    
    3,
    File "", line 1
    SyntaxError: can't assign to literal
    
    4,
    File "", line 1
    SyntaxError: can't assign to literal
    
    5

Lưu ý: Một

empty = None
print(empty)
2 là để gán biến, không phải để so sánh.not for comparison.

File "", line 1
SyntaxError: can't assign to literal

Double

string1 = 'hello'
string2 = "hello"
string3 = '1234'
string4 = str(56789)
string5 = 'x'
string6 = "Cleese's legacy"
string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
0 là để so sánh:

Các loại kiểm soát làm thế nào các giá trị có thể được kết hợp trong các biểu thức.

Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'

Số nguyên và phao có thể được trộn tự do trong các biểu hiện.

  • Số nguyên và số điểm nổi có thể được trộn trong số học.
    • Python tự động chuyển đổi số nguyên thành phao khi cần thiết.
    • Đây là mới trong Python 3

print('half is', 1 / 2.0)
print('three squared is', 3.0 ** 2)

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
0

Chuỗi có thể được thêm và nhân.

  • Trong quá trình ghép chuỗi Python được thực hiện với toán tử bổ sung ____23.
  • Đây là một ví dụ về quá tải toán tử. Nói một cách đơn giản, điều này có nghĩa là hành vi của
    myfloat = 1.0
    print(myfloat)
    
    3, người vận hành, thay đổi tùy thuộc vào loại dữ liệu chúng tôi cung cấp.operator, changes depending on the type of data we give it.

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
1

  • Nhân một chuỗi với một số nguyên sao chép nó. Điều này có ý nghĩa, vì phép nhân giống như bổ sung lặp đi lặp lại.

Được xây dựng trong các chức năng và kiểu dữ liệu

Python định nghĩa trước một số chức năng cốt lõi là một phần của ngôn ngữ cơ sở. Chúng tôi đã gặp một trong những chức năng này,

Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
0. Chúng tôi gọi là một chức năng bằng cách nêu tên của hàm, trực tiếp theo sau là một số dữ liệu (giá trị ’giá trị hoặc‘ biến) bên trong khung tròn:

Chức năng tích hợp

Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
0 hoạt động trên tất cả các loại dữ liệu. Điều này không đúng với tất cả các chức năng được xây dựng; Nhiều người chỉ làm việc trên các loại dữ liệu nhất định.

  • Hàm tích hợp
    Traceback (most recent call last):
      File "", line 1, in 
    TypeError: unsupported operand type(s) for -: 'str' and 'str'
    
    2 tính số lượng ký tự trong một chuỗi.

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
2

Phải chuyển đổi số thành chuỗi hoặc ngược lại khi hoạt động trên chúng.

  • Không thể thêm số và chuỗi.

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
3

  • Điều này không được phép vì nó mơ hồ: nên
    Traceback (most recent call last):
      File "", line 1, in 
    TypeError: unsupported operand type(s) for -: 'str' and 'str'
    
    3 là
    string1 = 'hello'
    string2 = "hello"
    string3 = '1234'
    string4 = str(56789)
    string5 = 'x'
    string6 = "Cleese's legacy"
    string7 = 'Another Monty Python quote: "Blue. No, Yellow. Arrghh!"'
    
    5 hoặc
    Traceback (most recent call last):
      File "", line 1, in 
    TypeError: unsupported operand type(s) for -: 'str' and 'str'
    
    5?
  • Một số loại có thể được chuyển đổi sang các loại khác bằng cách sử dụng tên loại làm hàm.

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
4

Chuỗi đến số

count = 3
print(count == 4)
print(count < 3)
print(count == 3)
print(count > 4)
string1 == string2
0 sẽ chuyển đổi một chuỗi thành số điểm nổi và
myfloat = 1.0
print(myfloat)
1 sẽ chuyển đổi số điểm nổi thành số nguyên:

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
5

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
6

Cho rằng, bạn mong đợi chương trình này làm gì? Nó thực sự làm gì? Tại sao bạn nghĩ nó làm điều đó?

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
7

Số học với các loại khác nhau

Điều nào sau đây sẽ in 2.0? Lưu ý: Có thể có nhiều hơn một câu trả lời đúng.

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
8

  1. Đầu tiên + Float (thứ hai)
  2. float (thứ hai) + float (thứ ba)
  3. Đầu tiên + int (thứ ba)
  4. Đầu tiên + int (float (thứ ba))
  5. int (đầu tiên) + int (float (thứ ba))
  6. 2.0 * Thứ hai

Dung dịch

Trả lời: 1 và 4

Nghĩ như một máy tính - phân chia

Máy tính không thể giải quyết vấn đề trực giác; Vấn đề phải được máy tính chia thành một loạt các bước logic. Làm thế nào một máy tính sẽ giải quyết vấn đề sau?

Nếu

Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
8 là số lượng đối tượng tham gia vào một nghiên cứu và
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
9 là con số có thể tham gia vào một cuộc khảo sát duy nhất, hãy viết một loạt các biểu thức tính toán số lượng khảo sát cần thiết để tiếp cận mọi người một lần.

Gợi ý: Bạn có thể cần sử dụng

myfloat = 1.0
print(myfloat)
6 và
myfloat = 1.0
print(myfloat)
9

Kiểm tra các biểu thức của bạn với

Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
8 = 600 và
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
9 = 20.

Bây giờ kiểm tra lại với

Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for -: 'str' and 'str'
9 = 42.

Dung dịch

Trả lời: 1 và 4

10
-5
'Harry'
2.71828
'x'
3.14159265359
1.0
0
'c'
'The meaning of life'
9

myfloat = 1.0
print(myfloat)
0

Nghĩ như một máy tính - phân chia

  • Máy tính không thể giải quyết vấn đề trực giác; Vấn đề phải được máy tính chia thành một loạt các bước logic. Làm thế nào một máy tính sẽ giải quyết vấn đề sau?

  • Chuỗi có thể được thêm và nhân.

  • Trong quá trình ghép chuỗi Python được thực hiện với toán tử bổ sung ____23.

  • Phải chuyển đổi số thành chuỗi hoặc ngược lại khi hoạt động trên chúng.

Các loại biểu thức trong Python là gì?

Biểu thức Python chỉ chứa các định danh, nghĩa đen và toán tử.Vậy, đây là những gì?Định danh: Bất kỳ tên nào được sử dụng để xác định lớp, hàm, mô -đun biến hoặc đối tượng là một định danh.Biết chữ: Đây là những thuật ngữ độc lập với ngôn ngữ trong Python và nên tồn tại độc lập trong bất kỳ ngôn ngữ lập trình nào.identifiers, literals, and operators. So, what are these? Identifiers: Any name that is used to define a class, function, variable module, or object is an identifier. Literals: These are language-independent terms in Python and should exist independently in any programming language.

Dữ liệu và biểu thức trong Python là gì?

Một biểu thức là sự kết hợp của các toán tử và toán hạng được giải thích để tạo ra một số giá trị khác.Trong bất kỳ ngôn ngữ lập trình nào, một biểu thức được đánh giá theo mức độ ưu tiên của các nhà khai thác.. In any programming language, an expression is evaluated as per the precedence of its operators.

4 loại dữ liệu trong Python là gì?

Sau đây là loại dữ liệu tiêu chuẩn hoặc tích hợp của Python:..
Numeric..
Loại trình tự ..
Boolean..
Dictionary..

5 loại dữ liệu trong Python là gì?

Kiểu dữ liệu Python..
Numbers..
String..
Tuple..
Dictionary..