Jenis data asas Python3


Pembolehubah dalam Python tidak perlu diisytiharkan. Setiap pembolehubah mesti diberikan nilai sebelum digunakan Pembolehubah tidak akan dibuat sehingga pembolehubah diberikan nilai.

Dalam Python, pembolehubah ialah pembolehubah, ia tidak mempunyai jenis Apa yang kita panggil "jenis" ialah jenis objek dalam memori yang dirujuk oleh pembolehubah itu.

Tanda sama (=) digunakan untuk memberikan nilai kepada pembolehubah.

Sebelah kiri pengendali tanda sama (=) ialah nama pembolehubah, dan bahagian kanan pengendali tanda sama (=) ialah nilai yang disimpan dalam pembolehubah. Contohnya:

#!/usr/bin/python3

counter = 100          # 整型变量
miles   = 1000.0       # 浮点型变量
name    = "php"     # 字符串

print (counter)
print (miles)
print (name)


Melaksanakan atur cara di atas akan mengeluarkan hasil berikut:

100
1000.0
php

Menetapkan berbilang pembolehubah

Python membenarkan anda untuk menetapkan nilai kepada berbilang pembolehubah pada masa yang sama Pembolehubah tugasan. Contohnya:

a = b = c = 1

Dalam contoh di atas, objek integer dicipta dengan nilai 1 dan tiga pembolehubah diperuntukkan kepada ruang memori yang sama.

Anda juga boleh menentukan berbilang pembolehubah untuk berbilang objek. Contohnya:

a, b, c = 1, 2, "php"

Dalam contoh di atas, dua objek integer 1 dan 2 diberikan kepada pembolehubah a dan b, dan objek rentetan "php" diberikan kepada pembolehubah c.


Jenis data standard

Terdapat enam jenis data standard dalam Python3:

  • Nombor (nombor)

  • String (rentetan)

  • Senarai (senarai)

  • Tuple (tuple)

  • Set (set)

  • Kamus (kamus)


Nombor (nombor)

Python3 menyokong int, terapung, bool, kompleks (jamak) .

Dalam Python 3, hanya terdapat satu jenis integer, yang diwakili sebagai integer panjang. Tiada Long dalam python2.

Seperti kebanyakan bahasa, tugasan dan pengiraan jenis berangka adalah intuitif.

Fungsi jenis() terbina dalam boleh digunakan untuk menanyakan jenis objek yang ditunjuk oleh pembolehubah.

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

Nota: tidak mempunyai jenis Boolean dalam Python2 Ia menggunakan nombor 0 untuk mewakili False dan 1 untuk mewakili True. Dalam Python 3, True dan False ditakrifkan sebagai kata kunci, tetapi nilainya masih 1 dan 0, dan ia boleh ditambah pada nombor.

Apabila anda menentukan nilai, objek Nombor dicipta:

var1 = 1
var2 = 10

Anda juga boleh memadamkan beberapa rujukan objek menggunakan pernyataan del.

Sintaks pernyataan del ialah:

del var1[,var2[,var3[....,varN]]]]

Anda boleh memadamkan satu atau berbilang objek dengan menggunakan pernyataan del. Contohnya:

del var
del var_a, var_b

Operasi berangka

>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

Nota:

  • 1 pada masa yang sama, seperti a, b = 1, 2.

  • 2. Pembolehubah boleh menunjuk kepada objek yang berlainan jenis melalui tugasan.

  • 3 Pembahagian nilai berangka (/) sentiasa mengembalikan nombor titik terapung Untuk mendapatkan integer, gunakan operator //.

  • 4 Semasa pengiraan bercampur, Python akan menukar integer kepada nombor titik terapung.

Contoh jenis angka

intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3+e18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2-E124.53e-7j

Python juga menyokong nombor kompleks Nombor kompleks terdiri daripada bahagian nyata dan bahagian khayalan Ia boleh diwakili oleh a + bj, atau bahagian nyata a dan bahagian khayalan nombor kompleks adalah kedua-dua jenis titik terapung


String (rentetan)

String dalam Python disertakan dalam petikan tunggal (') atau petikan berganda ("), dan aksara khas terlepas menggunakan garis miring ke belakang ().

Format sintaks pemintasan rentetan adalah seperti berikut:

变量[头下标:尾下标]

Nilai indeks bermula dengan 0, dan -1 ialah kedudukan permulaan dari hujung

Tanda tambah (+) ialah aksara Penyambung rentetan, asterisk (*) bermaksud menyalin rentetan semasa, dan nombor yang mengikutinya ialah bilangan salinan > Melaksanakan atur cara di atas akan mengeluarkan hasil berikut:

#!/usr/bin/python3

str = 'php'

print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 连接字符串

Python menggunakan backslash() untuk melarikan aksara khas Jika anda tidak mahu garis miring ke belakang terlepas, anda boleh menambah r di hadapan rentetan untuk mewakili rentetan asal:

php
Runoo
R
noo
noob
phpphp
phpTEST

Selain itu, garis miring ke belakang ( ) boleh digunakan sebagai aksara sambungan baris untuk menunjukkan bahawa baris seterusnya ialah kesinambungan baris sebelumnya Anda juga boleh menggunakan

"". "...""

atau '''...'''. Merentasi berbilang baris. Perhatikan bahawa Python tidak mempunyai jenis aksara yang berasingan. Aksara ialah rentetan panjang 1.

>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
>>>

adalah berbeza daripada rentetan C Walau bagaimanapun, rentetan Python tidak boleh diubah suai kepada kedudukan indeks, seperti word[0] = '. m' akan menyebabkan ralat

Nota:

1.
  • 2. Rentetan boleh disambungkan menggunakan operator + Bersama-sama, gunakan operator * untuk mengulangi. dua kaedah pengindeksan, bermula dengan 0 dari kiri ke kanan dan bermula dengan -1 dari kanan ke kiri
  • 4 🎜>
  • Senarai (Senarai)

    Senarai ( Senarai) ialah jenis data yang paling kerap digunakan dalam Python
  • Senarai boleh melengkapkan pelaksanaan struktur data kebanyakan kelas pengumpulan. Jenis elemen dalam senarai boleh berbeza, dan ia menyokong nombor, rentetan dan juga senarai ( Apa yang dipanggil bersarang Senarai

    ialah senarai elemen yang ditulis antara kurungan segi empat sama ([]) dan. dipisahkan dengan koma. Seperti rentetan, senarai juga boleh diindeks dan Interception, selepas senarai dipintas, senarai baharu yang mengandungi elemen yang diperlukan dikembalikan
Tanda tambah (+) ialah senarai operator penggabungan, dan asterisk (*) ialah operasi ulangan. Contoh berikut:
>>> word = 'Python'
>>> print(word[0], word[5])
P n
>>> print(word[-1], word[-6])
n P

Hasil keluaran contoh di atas:

变量[头下标:尾下标]

Tidak seperti rentetan Python, elemen dalam senarai boleh ditukar:

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'php', 70.2 ]
tinylist = [123, 'php']

print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

Senarai telah dibina- dalam Terdapat banyak kaedah, seperti append(), pop(), dsb., yang akan dibincangkan kemudian.

Nota:

1. Senarai ditulis antara kurungan segi empat sama, dan unsur-unsur dipisahkan dengan koma.

2. Seperti rentetan, senarai boleh diindeks dan dihiris.

3. Senarai boleh disambung menggunakan operator +.

4. Elemen dalam Senarai boleh ditukar.


Tuple

Tuple adalah serupa dengan senarai, kecuali unsur tuple tidak boleh diubah suai. Tuple ditulis dalam kurungan (()), dan elemen dipisahkan dengan koma. Jenis elemen dalam

tupel juga boleh berbeza:

['abcd', 786, 2.23, 'php', 70.2]
abcd
[786, 2.23]
[2.23, 'php', 70.2]
[123, 'php', 123, 'php']
['abcd', 786, 2.23, 'php', 70.2, 123, 'php']

Contoh hasil keluaran di atas:

>>> a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 删除
>>> a
[9, 2, 6]

Tuple adalah serupa dengan rentetan dan boleh diindeks dan dilanggan Bermula dari 0, -1 ialah kedudukan bermula dari hujung. Pemintasan juga boleh dilakukan (lihat di atas, saya tidak akan pergi ke butiran di sini).

Malah, rentetan boleh dianggap sebagai tuple istimewa.

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'php', 70.2  )
tinytuple = (123, 'php')

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

Walaupun elemen tupel tidak boleh diubah, ia boleh mengandungi objek boleh ubah, seperti senarai.

Membina tuple yang mengandungi 0 atau 1 elemen adalah istimewa, jadi terdapat beberapa peraturan sintaks tambahan:

('abcd', 786, 2.23, 'php', 70.2)
abcd
(786, 2.23)
(2.23, 'php', 70.2)
(123, 'php', 123, 'php')
('abcd', 786, 2.23, 'php', 70.2, 123, 'php')

String, senarai dan tupel semuanya tergolong dalam jujukan.

Nota:

  • 1. Seperti rentetan, unsur tupel tidak boleh diubah suai.

  • 2. Tuple juga boleh diindeks dan dihiris dengan cara yang sama.

  • 3. Perhatikan peraturan sintaks khas untuk membina tupel yang mengandungi 0 atau 1 elemen.

  • 4. Tuple juga boleh disambung menggunakan operator +.


Set (set)

Set (set) ialah jujukan tidak tertib unsur tidak berulang.

Fungsi asas adalah untuk melaksanakan ujian keahlian dan mengalih keluar elemen pendua.

Anda boleh menggunakan kurungan kerinting ({}) atau fungsi set() untuk mencipta set Nota: Untuk mencipta set kosong, anda mesti menggunakan set() bukannya { }, kerana { } digunakan untuk mencipta kamus kosong.

>>> tup = (1, 2, 3, 4, 5, 6)
>>> print(tup[0])
1
>>> print(tup[1:5]])
(2, 3, 4, 5)
>>> tup[0] = 11  # 修改元组元素的操作是非法的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>

Hasil keluaran contoh di atas:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

Kamus (Kamus)

Kamus (kamus) ialah satu lagi jenis data terbina dalam yang sangat berguna dalam Python .

Senarai ialah gabungan tertib objek dan kamus ialah koleksi objek tidak tertib. Perbezaan antara kedua-duanya ialah elemen dalam kamus diakses dengan kunci, bukan dengan mengimbangi.

Kamus ialah jenis pemetaan Kamus dikenal pasti oleh "{ }". Kunci mesti menggunakan jenis yang tidak boleh diubah.

Dalam kamus yang sama, kunci mestilah unik.

#!/usr/bin/python3

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

print(student)   # 输出集合,重复的元素被自动去掉

# 成员测试
if('Rose' in student) :
    print('Rose 在集合中')
else :
	print('Rose 不在集合中')


# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)

print(a - b)     # a和b的差集

print(a | b)     # a和b的并集

print(a & b)     # a和b的交集

print(a ^ b)     # a和b中不同时存在的元素

Hasil keluaran contoh di atas:

{'Jack', 'Rose', 'Mary', 'Jim', 'Tom'}
Rose 在集合中
{'r', 'b', 'a', 'c', 'd'}
{'r', 'b', 'd'}
{'a', 'l', 'z', 'b', 'm', 'd', 'r', 'c'}
{'a', 'c'}
{'l', 'z', 'b', 'm', 'd', 'r'}

Pembina dict() boleh terus membina kamus daripada jujukan pasangan nilai kunci seperti berikut:

#!/usr/bin/python3

dict = {}
dict['one'] = "1 - php中文网"
dict[2]     = "2 - php工具"

tinydict = {'name': 'php','code':1, 'site': 'www.php.cn'}


print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

Selain itu, jenis kamus juga mempunyai beberapa Fungsi terbina dalam, seperti clear(), keys(), values(), dsb.

Nota:

    1. Kamus ialah jenis pemetaan dan elemennya ialah pasangan nilai kunci.
  • 2. Kata kunci kamus mestilah daripada jenis yang tidak boleh diubah dan tidak boleh diulang.
  • 3. Cipta kamus kosong menggunakan
  • { }

    .

Penukaran jenis data Python

Kadangkala, kita perlu menukar jenis data terbina dalam Untuk menukar jenis data, anda hanya perlu menukar jenis data sebagai Hanya nama fungsi.

Fungsi terbina dalam berikut boleh melakukan penukaran antara jenis data. Fungsi ini mengembalikan objek baharu yang mewakili nilai yang ditukar.

函数 描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串