Hướng dẫn core data type in python example - kiểu dữ liệu cốt lõi trong ví dụ về python

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

+, -, *, /, //, >>, > 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

Chủ Đề