Rumah pembangunan bahagian belakang Tutorial Python Python入门篇之对象类型

Python入门篇之对象类型

Jun 06, 2016 am 11:19 AM
python bermula Jenis objek

Python使用对象模型来存储数据。构造任何类型的值都是一个对象

所有的Python对象都拥有三个特性:身份、类型、值

身份:

每一个对象都有一个唯一的身份来标志自己,任何对象的身份可以使用内建函数id()来得到。这个值可以被认为是该对象的内存地址

类型:

对象的类型决定了该对象可以保存什么类型的值,可以进行怎样的操作,以及遵循什么样的规则,可以使用内建函数type()查看Python对象的类型:

代码如下:


>>> type([1,2])

>>> type(24)

>>> type({1,2,3})

>>> type('a string')

type()返回的是对象而不是简单的字符串。

值:对象表示的数据项

以上的三个特性在对象创建的时候就被赋值,除此之外,其他两个特性都是只读的

标准类型/基础数据类型:

数字、整型、布尔型、长整形、浮点型、复数型、字符串、列表、元组、字典

其他内建类型:

类型、Null对象(None)、文件、集合/固定集合、函数/方法、模块、类

None,Python的Null对象

Python有一个特殊的类型,称为Null对象或者NoneType,只有一个值:None,它不支持任何运算也没有任何内建的方法,类似于C语言的void,None类型的值

和C中的Null值非常相似

None没有什么有用的属性,它的布尔值总是False

布尔值

所有标准对象均可以用于布尔测试,同类型的对象之间可以比较大小。每一个对象天生具有布尔True或false值

空对象、值为0的任意数字或Null对象None的布尔值都是False

下列对象的布尔值都是False:

None
False(布尔类型)
所有的值为0的数
0(整型)
(浮点型)
0L(长整型)
0.0+0.0j(复数)
“”(空字符串)
[](空列表)
()(空元组)
{}(空字典)
 值不是上面列出来的任何值的对象的布尔值都是True

标准类型运算符:

比较运算符用来判断同类型对象是否相等,所有的内建类型均支持比较运算,比较运算返回布尔值True或False

代码如下:


>>> 2==2
True
>>> 2.34 True
>>> 'abc'=='xyz'
False
>>> 'xyz'>'abc'
True
>>> 'xyz' False
>>> [3,'abc']==['abc',3]
False
>>> [3,'abc']==[3,'abc']
True

多个比较操作可以在同一行上进行,求值顺序为从左到右.例如:

代码如下:


>>> 3 True
>>> 4>3==3 #等价于(4>3)and(3==3)
True
>>> 4 False

标准类型值比较运算符:

对象身份比较

每个对象都天生具有一个计数器,记录它自己的引用次数。这个数目表示有多少个变量指向该对象

Python提供了is和is not运算符来测试两个变量是否指向同一个对象

a is b  等价于  id(a)==id(b)

代码如下:


>>> foo2=foo1
>>> foo1 is foo2
True
>>> foo1 is not foo2
False
>>> id(foo1)==id(foo2)
True
>>>

布尔类型

布尔逻辑运算符and,or,not都是Python关键字,这些运算符的优先级按从高到低的顺序如下:

标准类型布尔运算符:

代码如下:


>>> x,y=3.1415926,-1024
>>> x True
>>> not(x False
>>> (x2.71828)
True
>>> (x2.71828)
False
>>> not(x is y)
True

标准类型内建函数

Python提供了一些内建函数用于这些基本对象类型:

cmp(), repr(), str(), type()和等同于repr()函数的单反引号('')运算符

type()接受一个对象作为参数,并返回它的类型。它的返回值是一个类型对象。

代码如下:


>>> type(4)

>>> type('hello!')

>>> type(type(4))

cmp()用于比较两个对象obj1和obj2,如果obj1obj2返回1,如果obj1==obj2返回0,行为类似于C中的strcmp()函数,比较是在对象之间进行的

代码如下:


>>> a,b=-4,12
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b=-4
>>> cmp(a,b)
0
>>> a,b='abc','xyz'
>>> cmp(a,b)
-1
>>> cmp(b,a)
1
>>> b='abc'
>>> cmp(a,b)
0

str()和repr()(及''运算符)

内建函数str()和repr()或反引号运算符('')可以方便的以字符串的方式获得对象的内容、类型、数值属性等信息。

str()函数得到的字符串可读性好,而repr()函数得到的字符串通常可以用来重新获得该对象

代码如下:


>>> str(4.53-2j)
'(4.53-2j)'
>>> str(1)
'1'
>>> str(2e10)
'20000000000.0'

>>> str([0,5,9,9])
'[0, 5, 9, 9]'
>>> repr([0,5,9,9])
'[0, 5, 9, 9]'
>>> '[0,5,9,9]'
'[0,5,9,9]'

str()和repr()和''运算在特性和功能方面都非常的相似,repr()和''做的事情完全一样,返回的是一个对象的官方字符串表示,可以通过求值运算(使用eval()内建函数)重新得到该对象,但是str()函数则有所不同,它可以生成一个对象的可读性好的字符串表示,返回结果无法用于eval()求值,但是很适合用于print语句输出。

标准类型运算符和内建函数

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Muzium Dua Point: Semua Pameran dan Di Mana Mencari Mereka
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Apr 02, 2025 pm 08:54 PM

Permohonan yang menukarkan XML terus ke PDF tidak dapat dijumpai kerana mereka adalah dua format yang berbeza. XML digunakan untuk menyimpan data, manakala PDF digunakan untuk memaparkan dokumen. Untuk melengkapkan transformasi, anda boleh menggunakan bahasa pengaturcaraan dan perpustakaan seperti Python dan ReportLab untuk menghuraikan data XML dan menghasilkan dokumen PDF.

Adakah kelajuan penukaran cepat apabila menukar XML ke PDF pada telefon bimbit? Adakah kelajuan penukaran cepat apabila menukar XML ke PDF pada telefon bimbit? Apr 02, 2025 pm 10:09 PM

Kelajuan XML mudah alih ke PDF bergantung kepada faktor -faktor berikut: kerumitan struktur XML. Kaedah Penukaran Konfigurasi Perkakasan Mudah Alih (Perpustakaan, Algoritma) Kaedah Pengoptimuman Kualiti Kod (Pilih perpustakaan yang cekap, mengoptimumkan algoritma, data cache, dan menggunakan pelbagai threading). Secara keseluruhannya, tidak ada jawapan mutlak dan ia perlu dioptimumkan mengikut keadaan tertentu.

Bagaimana cara menukar fail XML ke PDF di telefon anda? Bagaimana cara menukar fail XML ke PDF di telefon anda? Apr 02, 2025 pm 10:12 PM

Tidak mustahil untuk menyelesaikan penukaran XML ke PDF secara langsung di telefon anda dengan satu aplikasi. Ia perlu menggunakan perkhidmatan awan, yang boleh dicapai melalui dua langkah: 1. Tukar XML ke PDF di awan, 2. Akses atau muat turun fail PDF yang ditukar pada telefon bimbit.

Bagaimana cara mengawal saiz XML ditukar kepada imej? Bagaimana cara mengawal saiz XML ditukar kepada imej? Apr 02, 2025 pm 07:24 PM

Untuk menjana imej melalui XML, anda perlu menggunakan perpustakaan graf (seperti bantal dan JFreechart) sebagai jambatan untuk menjana imej berdasarkan metadata (saiz, warna) dalam XML. Kunci untuk mengawal saiz imej adalah untuk menyesuaikan nilai & lt; lebar & gt; dan & lt; ketinggian & gt; Tag dalam XML. Walau bagaimanapun, dalam aplikasi praktikal, kerumitan struktur XML, kehalusan lukisan graf, kelajuan penjanaan imej dan penggunaan memori, dan pemilihan format imej semuanya mempunyai kesan ke atas saiz imej yang dihasilkan. Oleh itu, perlu mempunyai pemahaman yang mendalam tentang struktur XML, mahir dalam perpustakaan grafik, dan mempertimbangkan faktor -faktor seperti algoritma pengoptimuman dan pemilihan format imej.

Cara Membuka Format XML Cara Membuka Format XML Apr 02, 2025 pm 09:00 PM

Gunakan kebanyakan editor teks untuk membuka fail XML; Jika anda memerlukan paparan pokok yang lebih intuitif, anda boleh menggunakan editor XML, seperti editor XML oksigen atau XMLSPY; Jika anda memproses data XML dalam program, anda perlu menggunakan bahasa pengaturcaraan (seperti Python) dan perpustakaan XML (seperti XML.Etree.ElementTree) untuk menghuraikan.

Alat pemformatan XML yang disyorkan Alat pemformatan XML yang disyorkan Apr 02, 2025 pm 09:03 PM

Alat pemformatan XML boleh menaip kod mengikut peraturan untuk meningkatkan kebolehbacaan dan pemahaman. Apabila memilih alat, perhatikan keupayaan penyesuaian, pengendalian keadaan khas, prestasi dan kemudahan penggunaan. Jenis alat yang biasa digunakan termasuk alat dalam talian, pemalam IDE, dan alat baris arahan.

Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Adakah terdapat aplikasi mudah alih yang boleh menukar XML ke PDF? Apr 02, 2025 pm 09:45 PM

Tiada aplikasi yang boleh menukar semua fail XML ke dalam PDF kerana struktur XML adalah fleksibel dan pelbagai. Inti XML ke PDF adalah untuk menukar struktur data ke dalam susun atur halaman, yang memerlukan parsing XML dan menjana PDF. Kaedah umum termasuk parsing XML menggunakan perpustakaan python seperti ElementTree dan menjana PDF menggunakan perpustakaan ReportLab. Untuk XML yang kompleks, mungkin perlu menggunakan struktur transformasi XSLT. Apabila mengoptimumkan prestasi, pertimbangkan untuk menggunakan multithreaded atau multiprocesses dan pilih perpustakaan yang sesuai.

Apakah fungsi jumlah bahasa C? Apakah fungsi jumlah bahasa C? Apr 03, 2025 pm 02:21 PM

Tiada fungsi jumlah terbina dalam dalam bahasa C, jadi ia perlu ditulis sendiri. Jumlah boleh dicapai dengan melintasi unsur -unsur array dan terkumpul: Versi gelung: SUM dikira menggunakan panjang gelung dan panjang. Versi Pointer: Gunakan petunjuk untuk menunjuk kepada unsur-unsur array, dan penjumlahan yang cekap dicapai melalui penunjuk diri sendiri. Secara dinamik memperuntukkan versi Array: Perlawanan secara dinamik dan uruskan memori sendiri, memastikan memori yang diperuntukkan dibebaskan untuk mengelakkan kebocoran ingatan.

See all articles