Hướng dẫn what is core data type in python - kiểu dữ liệu cốt lõi trong python là gì

Loại tích hợpThí dụ
Không cóKhông có
BooleansĐúng sai
Số123,3,14,3+4J, 0xef, thập phân, phân số
DâySPAM SPAM,
Danh sách[1, [2, Three Three], 4.5], Danh sách (phạm vi (10))
Bộ dữ liệu.
Chỉ đạo{’Thức ăn
Bộ{1, xông A ,, BC,}, đặt (‘ABC
Các tập tinMở (‘Eggs.TXT,)
chức năngDef, Lambda
Mô -đunNhập, `__module__`
các lớp họcđối tượng, loại, metaclasses

3.1. Không có¶

Một đối tượng đặc biệt đóng vai trò là người giữ chỗ trống (giống như một con trỏ null trong C). Nó được trả lại từ các chức năng don don rõ ràng trả lại bất cứ điều gì.

>>> None, type(None)
(None, )

>>> def foo(): pass
...
>>> print foo()
None

3.2. Các loại số

Một kho lưu trữ hoàn chỉnh của hộp công cụ số Python, bao gồm:

  • Số nguyên và điểm nổi
  • Số phức
  • Thập phân: có chính xác cố định
  • Phân số: số hợp lý
  • Bộ: Bộ sưu tập có hoạt động số
  • Booleans: Đúng và sai
  • Các hàm và mô-đun tích hợp: tròn, toán học, ngẫu nhiên, v.v.
  • Biểu thức; Độ chính xác số nguyên không giới hạn; hoạt động bitwise; Hex, otctal và định dạng nhị phân
  • Tiện ích mở rộng của bên thứ ba: vectơ, thư viện, thị giác, âm mưu, v.v.

Literals:

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False

Example:

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True

Ưu tiên điều hành

+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or

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

abs, bin, bool, divmod, float, hex, int, oct, pow, tròn

>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4

Các mô-đun tích hợp

Số, Toán, CMath, thập phân, Phân số, ngẫu nhiên, Thống kê

>>> type(3)        # 2.x

>>> type(2**100)

>>> 2**100
1267650600228229401496703205376L
>>> type(3L)


>>> from numbers import Number, Complex, Real, Rational, Integral
>>> issubclass(Integral, Complex)
True
>>> isinstance(1, Complex)
True

>>> math.factorial(3) + math.log(math.e) + math.sqrt(9) + math.sin(math.pi/2) + math.ceil(0.1)  # 6+1+3+1+1
12.0
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: math domain error
>>> cmath.sqrt(-1)
1j

>>> from random import *
>>> random()
0.06091254441752425
>>> sample(range(10), 3)
[0, 1, 4]
>>> choice(range(10))
5
>>> l = list(range(10))
>>> shuffle(l)
>>> l
[5, 7, 0, 1, 2, 3, 9, 6, 4, 8]
>>> gauss(0, 1)
-0.8042047260239109

>>> from decimal import *
>>> .1 * 3 - .3
5.551115123125783e-17
>>> Decimal('.1') * Decimal('3') - Decimal('.3')
Decimal('0.0')
>>> 1.20 * 1.30
1.56
>>> Decimal('1.20') * Decimal('1.30')
Decimal('1.5600')
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')

>>> from fractions import Fraction
>>> (6/5) * (7/3) - 2.8
4.440892098500626e-16
>>> Fraction(6, 5) * Fraction(7, 3) - Fraction('2.8')
Fraction(0, 1)
>>> gcd(15, 6)
>>> 3

>>> from statistics import *
>>> mean([1, 2, 3, 4, 4])
>>> 2.8
>>> median([1, 3, 5])
>>> 3
>>> mod([1, 1, 2, 3, 3, 3, 3, 4])
>>> 3
>>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
1.0810874155219827
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> variance(data)
1.3720238095238095

Mới trong 2.6

  • PEP 3141: Một phân cấp loại cho các số

Mới trong 3.0

  • PEP 0237: Về cơ bản, từ lâu được đổi tên thành int. Đó là, chỉ có một loại tích phân tích hợp, được đặt tên là int; Nhưng nó hoạt động chủ yếu giống như kiểu dài cũ.
  • PEP 0238: Một biểu thức như 1/2 trả về một chiếc phao. Sử dụng 1 // 2 để có được hành vi cắt ngắn. (Cú pháp thứ hai đã tồn tại trong nhiều năm, ít nhất là kể từ Python 2.2.)
  • Hằng số sys.Maxint đã được loại bỏ, vì không còn giới hạn giá trị của số nguyên. Tuy nhiên, sys.MaxSize có thể được sử dụng như một số nguyên lớn hơn bất kỳ danh sách thực tế hoặc chỉ mục chuỗi. Nó phù hợp với việc triển khai kích thước số nguyên tự nhiên của bạn và thường giống như sys.maxint trong các bản phát hành trước trên cùng một nền tảng (giả sử cùng một tùy chọn xây dựng).
  • Phần repr () của một số nguyên dài không bao gồm Lips L nữa, do đó, mã vô điều kiện các dải nhân vật đó sẽ cắt bỏ chữ số cuối cùng thay thế. (Sử dụng str () thay vào đó.)
  • Biết chữ cái không còn ở dạng 0720; sử dụng 0O720 thay thế.
  • PEP 3141 - Phân cấp loại cho các số
  • Ordering Comparisions: The ordering comparison operators (<, <=, >=, >) raise a TypeError exception when the operands don’t have a meaningful natural ordering. Thus, expressions like 1 < ‘’, 0 > None or len <= len are no longer valid, and e.g. None < None raises TypeError instead of returning False. A corollary is that sorting a heterogeneous list no longer makes sense – all the elements must be comparable to each other. Note that this does not apply to the == and != operators: objects of different incomparable types always compare unequal to each other.
  • Cú pháp thay đổi: Đúng, sai và không có từ dành riêng. (2.6 đã thực thi một phần các hạn chế đối với không có.)

3.3. Dây¶

Nghĩa đen

  • Trích dẫn duy nhất: ‘spa” m
  • Trích dẫn kép: SPA SPA
  • Trích dẫn ba lần: ‘’ ’spam spam
  • Trình tự thoát: STPNA0M
  • Chuỗi thô: RTHER C: newtest.spm '
  • BYTE LIÊN QUAN TRONG 3.X và 2.6+: B hèSPX01AM,
  • Unicode theo nghĩa đen trong 2.x và 3.3+: u hèeggsu0020spam,

Các chuỗi được trích xuất đơn và đôi là giống nhau

Sự kết hợp ngầm:

>>> title = "Meaning " 'of' " Life"
>>> title
'Meaning of Life'

Ký tự thoát

Thoát khỏiNghĩa
+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
5
Bị bỏ qua (dòng tiếp tục)
+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
6
Backslash (lưu trữ một
+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
7)
+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
8
Trích dẫn đơn (Cửa hàng ‘)
+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
9
Báo giá kép (Cửa hàng trên mạng)
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
0
Chuông
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
1
Backspace
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
2
Thức ăn dạng
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
3
Newline (LineFeed)
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
4
Vận chuyển trở lại
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
5
Tab ngang
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
6
Tab dọc
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
7
Ký tự với giá trị hex hh (chính xác là 2 chữ số)
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
8
Ký tự có giá trị bát phân OOO (tối đa 3 chữ số)
>>> bool(3) and True or False
True
>>> ' '.join([bin(13),  hex(13), oct(13)])
'0b1101 0xd 015'
>>> divmod(7, 3)
(2, 1)
>>> abs(-3)
3
>>> pow(2, 8) == 2 ** 8
True
>>> round(3.14)
3.0
>>> int('3') + float('.5')
5.5
>>> int('10', base=16) - int('10') - int('10', base=8) - int('10', base=2)
-4
9
Null: ký tự nhị phân 0 (không có chuỗi kết thúc)
>>> type(3)        # 2.x

>>> type(2**100)

>>> 2**100
1267650600228229401496703205376L
>>> type(3L)


>>> from numbers import Number, Complex, Real, Rational, Integral
>>> issubclass(Integral, Complex)
True
>>> isinstance(1, Complex)
True

>>> math.factorial(3) + math.log(math.e) + math.sqrt(9) + math.sin(math.pi/2) + math.ceil(0.1)  # 6+1+3+1+1
12.0
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: math domain error
>>> cmath.sqrt(-1)
1j

>>> from random import *
>>> random()
0.06091254441752425
>>> sample(range(10), 3)
[0, 1, 4]
>>> choice(range(10))
5
>>> l = list(range(10))
>>> shuffle(l)
>>> l
[5, 7, 0, 1, 2, 3, 9, 6, 4, 8]
>>> gauss(0, 1)
-0.8042047260239109

>>> from decimal import *
>>> .1 * 3 - .3
5.551115123125783e-17
>>> Decimal('.1') * Decimal('3') - Decimal('.3')
Decimal('0.0')
>>> 1.20 * 1.30
1.56
>>> Decimal('1.20') * Decimal('1.30')
Decimal('1.5600')
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')

>>> from fractions import Fraction
>>> (6/5) * (7/3) - 2.8
4.440892098500626e-16
>>> Fraction(6, 5) * Fraction(7, 3) - Fraction('2.8')
Fraction(0, 1)
>>> gcd(15, 6)
>>> 3

>>> from statistics import *
>>> mean([1, 2, 3, 4, 4])
>>> 2.8
>>> median([1, 3, 5])
>>> 3
>>> mod([1, 1, 2, 3, 3, 3, 3, 4])
>>> 3
>>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
1.0810874155219827
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> variance(data)
1.3720238095238095
0
ID cơ sở dữ liệu Unicode
>>> type(3)        # 2.x

>>> type(2**100)

>>> 2**100
1267650600228229401496703205376L
>>> type(3L)


>>> from numbers import Number, Complex, Real, Rational, Integral
>>> issubclass(Integral, Complex)
True
>>> isinstance(1, Complex)
True

>>> math.factorial(3) + math.log(math.e) + math.sqrt(9) + math.sin(math.pi/2) + math.ceil(0.1)  # 6+1+3+1+1
12.0
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: math domain error
>>> cmath.sqrt(-1)
1j

>>> from random import *
>>> random()
0.06091254441752425
>>> sample(range(10), 3)
[0, 1, 4]
>>> choice(range(10))
5
>>> l = list(range(10))
>>> shuffle(l)
>>> l
[5, 7, 0, 1, 2, 3, 9, 6, 4, 8]
>>> gauss(0, 1)
-0.8042047260239109

>>> from decimal import *
>>> .1 * 3 - .3
5.551115123125783e-17
>>> Decimal('.1') * Decimal('3') - Decimal('.3')
Decimal('0.0')
>>> 1.20 * 1.30
1.56
>>> Decimal('1.20') * Decimal('1.30')
Decimal('1.5600')
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')

>>> from fractions import Fraction
>>> (6/5) * (7/3) - 2.8
4.440892098500626e-16
>>> Fraction(6, 5) * Fraction(7, 3) - Fraction('2.8')
Fraction(0, 1)
>>> gcd(15, 6)
>>> 3

>>> from statistics import *
>>> mean([1, 2, 3, 4, 4])
>>> 2.8
>>> median([1, 3, 5])
>>> 3
>>> mod([1, 1, 2, 3, 3, 3, 3, 4])
>>> 3
>>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
1.0810874155219827
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> variance(data)
1.3720238095238095
1
Ký tự unicode với giá trị hex 16 bit
>>> type(3)        # 2.x

>>> type(2**100)

>>> 2**100
1267650600228229401496703205376L
>>> type(3L)


>>> from numbers import Number, Complex, Real, Rational, Integral
>>> issubclass(Integral, Complex)
True
>>> isinstance(1, Complex)
True

>>> math.factorial(3) + math.log(math.e) + math.sqrt(9) + math.sin(math.pi/2) + math.ceil(0.1)  # 6+1+3+1+1
12.0
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: math domain error
>>> cmath.sqrt(-1)
1j

>>> from random import *
>>> random()
0.06091254441752425
>>> sample(range(10), 3)
[0, 1, 4]
>>> choice(range(10))
5
>>> l = list(range(10))
>>> shuffle(l)
>>> l
[5, 7, 0, 1, 2, 3, 9, 6, 4, 8]
>>> gauss(0, 1)
-0.8042047260239109

>>> from decimal import *
>>> .1 * 3 - .3
5.551115123125783e-17
>>> Decimal('.1') * Decimal('3') - Decimal('.3')
Decimal('0.0')
>>> 1.20 * 1.30
1.56
>>> Decimal('1.20') * Decimal('1.30')
Decimal('1.5600')
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')

>>> from fractions import Fraction
>>> (6/5) * (7/3) - 2.8
4.440892098500626e-16
>>> Fraction(6, 5) * Fraction(7, 3) - Fraction('2.8')
Fraction(0, 1)
>>> gcd(15, 6)
>>> 3

>>> from statistics import *
>>> mean([1, 2, 3, 4, 4])
>>> 2.8
>>> median([1, 3, 5])
>>> 3
>>> mod([1, 1, 2, 3, 3, 3, 3, 4])
>>> 3
>>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
1.0810874155219827
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> variance(data)
1.3720238095238095
2
Ký tự unicode với giá trị hex 32 bit
>>> type(3)        # 2.x

>>> type(2**100)

>>> 2**100
1267650600228229401496703205376L
>>> type(3L)


>>> from numbers import Number, Complex, Real, Rational, Integral
>>> issubclass(Integral, Complex)
True
>>> isinstance(1, Complex)
True

>>> math.factorial(3) + math.log(math.e) + math.sqrt(9) + math.sin(math.pi/2) + math.ceil(0.1)  # 6+1+3+1+1
12.0
>>> math.sqrt(-1)
Traceback (most recent call last):
  File "", line 1, in 
ValueError: math domain error
>>> cmath.sqrt(-1)
1j

>>> from random import *
>>> random()
0.06091254441752425
>>> sample(range(10), 3)
[0, 1, 4]
>>> choice(range(10))
5
>>> l = list(range(10))
>>> shuffle(l)
>>> l
[5, 7, 0, 1, 2, 3, 9, 6, 4, 8]
>>> gauss(0, 1)
-0.8042047260239109

>>> from decimal import *
>>> .1 * 3 - .3
5.551115123125783e-17
>>> Decimal('.1') * Decimal('3') - Decimal('.3')
Decimal('0.0')
>>> 1.20 * 1.30
1.56
>>> Decimal('1.20') * Decimal('1.30')
Decimal('1.5600')
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')

>>> from fractions import Fraction
>>> (6/5) * (7/3) - 2.8
4.440892098500626e-16
>>> Fraction(6, 5) * Fraction(7, 3) - Fraction('2.8')
Fraction(0, 1)
>>> gcd(15, 6)
>>> 3

>>> from statistics import *
>>> mean([1, 2, 3, 4, 4])
>>> 2.8
>>> median([1, 3, 5])
>>> 3
>>> mod([1, 1, 2, 3, 3, 3, 3, 4])
>>> 3
>>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])
1.0810874155219827
>>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]
>>> variance(data)
1.3720238095238095
3
Không phải là một lối thoát (giữ cả
+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
7 và khác)

Chuỗi thô ngăn chặn Escapes:

>>> path = r'C:\new\text.dat'
>>> path              # Show as Python code
'C:\\new\\text.dat'
>>> print(path)       # User-friendly format
C:\new\text.dat
>>> len(path)         # String length
15

Triple Trích dẫn mã chuỗi khối đa dòng:

>>> mantra = """Always look
...   on the bright
... side of life."""
>>>
>>> mantra
'Always look\n on the bright\nside of life.'
>>> print(mantra)
Always look
  on the bright
side of life.

Hoạt động cơ bản:

>>> len('abc')
3
>>> 'abc' + 'def'
'abcdef'
>>> 'Ni!' * 4
'Ni!Ni!Ni!Ni!'

>>> myjob = "hacker"
>>> for c in myjob: print(c, end=' ')
...
h a c k e r
>>> "k" in myjob
True
>>> "z" in myjob
False
>>> 'spam' in 'abcspamdef'
True

Lập chỉ mục và cắt lát:

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
0

Chuyển đổi chuỗi:

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
1

Thay đổi chuỗi: string:

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
2

STR, loại byte là bất biến. Có một loại đột biến riêng biệt để giữ dữ liệu nhị phân được đệm, bytearray.

Phương thức chuỗi trong 3.4

  • str.capitalize
  • str.casefold
  • str.center
  • str.count
  • str.encode (mã hóa = xông UTF-8,-lỗi = nghiêm ngặt)
  • str.endswith(suffix[,-start[,-end]])

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
3

  • str.expendtabs
  • str.find(sub[,-start[,-end]])

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
4

  • str.format (*args, ** kwargs)
  • str.format_map
  • str.index (sub [, start [, end]]))

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
5

  • str.isalnum
  • str.isalpha()

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
6

  • str.isdecimal
  • str.isdigit
  • str.isidentifier
  • str.islower
  • str.isnumeric
  • str.isprintable
  • str.isspace
  • str.istitle
  • str.isupper
  • str.join(iterable)

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
7

  • str.ljust
  • str.lower()

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
8

  • str.lstrip
  • str.maketrans
  • str.partition
  • str.replace (cũ, mới [, đếm])

1234, -24, 0, 9999999999999999
1.23, 1., 3.14e-10, 4E210, 4.0e+210
0o177, 0x9ff, 0b10101011, 0177
3+4j, 3.0+4.0j, 3j
set('spam'), {1, 2, 3, 4}
Decimal('1.0'), Decimal('-Inf'), Fraction(1, 3)
bool(x), True, False
9

  • str.rfind
  • str.rindex
  • str.rjust
  • str.rpartition
  • str.rsplit
  • str.rstrip
  • str.split (sep = none, maxsplit = -1)

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
0

  • str.splitlines([keepends])
  • str.startswith (tiền tố [, start [, end]])
  • str.strip([chars])

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
1

  • str.swapcase
  • str.title
  • str.translate
  • str.upper()
  • str.zfill

Định dạng chuỗi kiểu printf

%s, %d, %f, %g, %x

Văn bản so với dữ liệu thay vì Unicode so với 8 bit

Trong 2.x:

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
2

  • STR là 8 bit, nó đại diện cho chuỗi ASCII và dữ liệu nhị phân.
  • Unicode đại diện cho văn bản.
  • unicode.encode => str
  • str.decode => unicode
  • Giữ văn bản trong Unicode bên trong hệ thống của bạn. Mã hóa và giải mã tại Bournday (đến/đi) của hệ thống của bạn.
  • Open (). Read () trả về str

Trong 3.x:

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
3

  • Tất cả văn bản là Unicode. Loại được sử dụng để giữ văn bản là str.
  • Unicode được mã hóa được biểu diễn dưới dạng dữ liệu nhị phân. Loại được sử dụng để giữ dữ liệu nhị phân là byte.
  • Trộn văn bản và dữ liệu nhị phân làm tăng kiểu loại.
  • Basestring đã được gỡ bỏ. STR và BYTES don lồng chia sẻ một lớp cơ sở.
  • Open (). Đọc () trả về str; Mở (, ‘B,). Đọc () trả về byte.
  • sys.stdin, sys.stdout và sys.stderr là các tệp văn bản chỉ dành cho Unicode.
  • Tên tệp được truyền và trả về từ API dưới dạng chuỗi (Unicode).

Xem Unicode Howto

3.4. Danh sách

  • Bộ sưu tập được đặt hàng của các đối tượng tùy ý
  • Truy cập bằng cách bù
  • Có thể thay đổi, không đồng nhất và có thể làm tổ một cách tùy ý
  • Của danh mục có thể thay đổi trình tự
  • Mảng tham chiếu đối tượng
Hoạt độngDiễn dịch
L = []Một danh sách trống
L = [123, ‘ABC, 1.23, {}]Bốn mục: Chỉ mục 0..3
L = [‘Bob, 40.0, [‘ Dev, ‘MGR,]]]]Những người phụ lồng nhau
L = list (‘spam,)Danh sách các mục có thể lặp lại, danh sách các số nguyên liên tiếp
L = list (phạm vi (-4, 4))& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]& nbsp;
L [i]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]& nbsp;
L [i]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;

L [i]

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
4

Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài

L [i] [j]

  • L [I: J]
  • Len (l)
  • Có thể thay đổi, không đồng nhất và có thể làm tổ một cách tùy ý
  • Của danh mục có thể thay đổi trình tự
  • Mảng tham chiếu đối tượng
Hoạt độngDiễn dịch
L = []Một danh sách trống
L = [123, ‘ABC, 1.23, {}]Bốn mục: Chỉ mục 0..3
L = [‘Bob, 40.0, [‘ Dev, ‘MGR,]]]]Những người phụ lồng nhau
L = list (‘spam,)Danh sách các mục có thể lặp lại, danh sách các số nguyên liên tiếp
L = list (phạm vi (-4, 4))& nbsp;
L [i]& nbsp;
L [i]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]L [I: J]
Len (l)L1 + L2
Concatenate, lặp lạiL* 3
cho x in l: print (x)Lặp lại, thành viên
3 trong lL.Append (4)
Phương pháp: Phát triểnL.Extend ([5,6,7])
L.insert (i, x)L.index (x)
Phương pháp: Tìm kiếmL.Count (x)
L.sort ()Phương pháp: Sắp xếp, đảo ngược,
L.reverse ()L.copy ()
Sao chép (3.3+), Xóa (3.3+)L.clear ()
L.pop (i)Phương pháp, tuyên bố: thu hẹp
L.remove (x)del l [i]
del l [i: j]L [i: j] = []
Chỉ số phân công, gán lát cắt& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]L [I: J]

Len (l)

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
5

L1 + L2

Concatenate, lặp lại

  • Bộ sưu tập được đặt hàng của các đối tượng tùy ý
  • Truy cập bằng cách bù
  • Có thể thay đổi, không đồng nhất và có thể làm tổ một cách tùy ý
  • Của danh mục có thể thay đổi trình tự
  • Mảng tham chiếu đối tượng
Hoạt độngDiễn dịch
L = []Một danh sách trống
L = [123, ‘ABC, 1.23, {}]Bốn mục: Chỉ mục 0..3
L = [‘Bob, 40.0, [‘ Dev, ‘MGR,]]]]Những người phụ lồng nhau
L = list (‘spam,)Danh sách các mục có thể lặp lại, danh sách các số nguyên liên tiếp
L = list (phạm vi (-4, 4))& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
L [i] [j]& nbsp;
L [i]& nbsp;
L [i]& nbsp;
L [i]Chỉ mục, Chỉ mục của INDED, Slice, Chiều dài
T* 3& nbsp;
cho x trong t: in (x)Lặp lại, thành viên
SPAM SPAM trong T& nbsp;
cho x trong t: in (x)& nbsp;
cho x trong t: in (x)Lặp lại, thành viên
SPAM SPAM trong T& nbsp;
cho x trong t: in (x)Lặp lại, thành viên
SPAM SPAM trong T

[x ** 2 cho x trong t]

  • T.index (‘NI,)
  • Phương pháp trong 2.6, 2.7 và 3.x: Tìm kiếm, đếm
  • T.Count (‘NI,)
  • Được đặt tênTuple (‘Emp, [‘ Tên, ‘Jobs,])
  • Loại tiện ích mở rộng được đặt tên
Được đặt tên là Tupleimmutable Records

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
6

3.7. Đặt
Immutables:Bộ sưu tập không có thứ tự của các đối tượng tùy ý
Mutables:Truy cập bằng cách lặp, kiểm tra thành viên, không phải vị trí bù

Có thể thay đổi, không đồng nhất và có thể làm tổ một cách tùy ý

Của thể loại bản đồ thay đổi có thể thay đổi

Bộ sưu tập tài liệu tham khảo đối tượng

  • Ghi chú: Phần lớn do việc thực hiện của chúng, các bộ chỉ có thể chứa các loại đối tượng bất biến (a.k.a. Do đó, danh sách và từ điển không thể được nhúng trong các bộ, nhưng các bộ dữ liệu có thể nếu bạn cần lưu trữ các giá trị hợp chất.
  • Fronzensetthe loại Frozenset là bất biến và có thể băm - nội dung của nó không thể được thay đổi sau khi nó được tạo ra; Do đó, nó có thể được sử dụng như một khóa từ điển hoặc là một yếu tố của một bộ khác.
False:số, dây, bộ dữ liệu, đông lạnh
True:Danh sách, dicts, bộ, bytearray

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
7

Xem các bộ sưu tập bất biến và đột biến của Scala

3.8. Ý nghĩa của sự thật và sai trong Python¶Đúng và sai là các thuộc tính nội tại của mọi đối tượng trong Python, mỗi đối tượng đều là sai, như sau:
Các số là sai nếu số không, và đúng khôngCác đối tượng khác là sai nếu trống và đúng
Không có, ‘, [], {}, 0, 0.0, (), set ([])Một cái gì đó, một thứ gì đó, [1, 2], {‘trứng
3.9. Các tập tin¶Hoạt động
Diễn dịchOUTPUT = MỞ (R hèC: Spam, ‘W,)
Tạo tệp đầu ra (‘W, có nghĩa là viết)Input = Open (‘Dữ liệu,‘ R,)
Tạo tệp đầu vào (‘R, có nghĩa là đọc)Input = Open (‘Data,)
Giống như dòng trước (‘R, là mặc định)ASTRING = input.read ()
Đọc toàn bộ tệp thành một chuỗiASTRING = INPUT.READ (n)
Đọc lên đến N Các ký tự N (hoặc byte) tiếp theoASTRING = input.Readline ()
Đọc dòng tiếp theo (bao gồm n newline) thành một chuỗialist = input.ReadLines ()
Đọc toàn bộ tệp vào danh sách các chuỗi dòng (với n)OUTPUT.WRITE (DENTRING)
Viết một chuỗi các ký tự (hoặc byte) vào tệpOUTPUT.WRITELINES (ALIST)
Viết tất cả các chuỗi dòng trong một danh sách vào tệpđầu ra.close ()
Đóng thủ công (thực hiện cho bạn khi tập tin được thu thập)đầu ra.flush ()
Bộ đệm đầu ra xả vào đĩa mà không cần đóngAnyfile.Seek (n)
Thay đổi vị trí tệp thành bù n cho hoạt động tiếp theoĐối với dòng trong Open (‘Dữ liệu): Sử dụng dòng
Bộ đệm đầu ra xả vào đĩa mà không cần đóngAnyfile.Seek (n)

Thay đổi vị trí tệp thành bù n cho hoạt động tiếp theo

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
8

Đối với dòng trong Open (‘Dữ liệu): Sử dụng dòng

>>> 3 ** 2 / (4 + 1)
1
>>> 3 ^ 9
10
>> 3 | 9
11
>>> 1 << 3
8
>>> 0xf - 0b1000 + 010
15
>>> (2 + 1j) * -1j
(1-2j)
>>> ({1, 2, 3} & { 3, 5, 7} | {3, 4}) - {Decimal('3')}
set([4])
>>> Decimal('3') == 3
True

>>> True = False    # 2.x
>>> True == False
True
9

Trình lặp tệp đọc từng dòng

+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
0

Mở (‘f.txt, mã hóa = Lat Latin-1,)

+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
1

Python 3.x Tệp văn bản Unicode (String String)

Mở (‘F.Bin,‘ RB,)

+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
2

Python 3.x Các tệp byte (chuỗi byte) or the built-in name Ellipsis.

+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
3

numbers.Number

  • codecs.open (‘f.txt, mã hóa = xông UTF8,)
  • numbers.Real(float)
  • numbers.Complex(complex)

Python 2.x Tệp văn bản Unicode (chuỗi Unicode)

  • Python 2.x Tệp Byte (String String)
  • Lưu trữ các đối tượng Python bản địa: Pickle

Lưu trữ các đối tượng Python ở định dạng JSON

  • Lưu trữ dữ liệu nhị phân được đóng gói: struct
  • Tập tin người quản lý bối cảnh

3.10. Phân cấp loại tiêu chuẩn

Tuy nhiên, loại có một giá trị duy nhất.notimplemented This loại có một giá trị duy nhất. Nâng cao không kích thích

Loại Ellipsisthis có một giá trị duy nhất. Nghĩa đen hoặc tên Ellipsis tích hợp.

  • Số.Integral: Số nguyên (Int), Booleans (Bool)
  • Trình tự
  • Immutable: String, Tuples, Byte
  • Có thể thay đổi: Danh sách, Bytearrays
  • Đặt loại
  • Tương tự: Bộ
  • Immutable: Forzensets

Ánh xạ

Rằng: Từ điển

Các loại có thể gọi

  • Các chức năng do người dùng xác định
  • Phương pháp thể hiện
  • Máy phát điện
  • Chức năng tích hợp sẵn
  • Phương pháp tích hợp
  • Các lớp học: __new__, __init__

Trường hợp lớp học: __call__

Mô -đunobject type. In fact, even types themselves are an object type in Python: the type of an object is an object of type type.

+, -, *, /, //, >>, <<, **, &, |, ^, %, ~
<, >, !=, ==, <=, >=, in, not in, not, and, or
4

  • Đối tượng I/O (còn được gọi là đối tượng tệp)
  • Các loại nội bộ

Kiểu dữ liệu cốt lõi là gì?

Dữ liệu cốt lõi cung cấp các thuộc tính khác nhau, bao gồm các thuộc tính phổ biến cho tất cả các cơ sở dữ liệu, chẳng hạn như loại ngày hoặc số thập phân và các thuộc tính không chuẩn được xử lý với loại có thể biến đổi.Nó cũng cung cấp các thuộc tính thoáng qua và có nguồn gốc để các ứng dụng có thể lấy một đoạn dữ liệu từ phần kia.provides different attributes, including those common for all databases, such as Date or Decimal type, and non-standard attributes handled with Transformable type. It also provides Transient and Derived attributes so apps can derive one piece of data from the other.

Là loại dữ liệu cốt lõi trong Python?

1. Cái nào trong số này không phải là loại dữ liệu cốt lõi?Giải thích: Lớp là một loại dữ liệu do người dùng xác định.Class is a user defined data type.

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ì?

Python có sáu loại dữ liệu tiêu chuẩn:-..
Numeric..
String..
Tuple..
Dictionary..