Jadual Kandungan
空(None)
字典(Dictionaries)
字典函数(Dictionary Functions)
元组(Tuples)
列表切片(List Slices)
列表解析(List Comprehensions)
String Formatting
Useful Functions
Rumah pembangunan bahagian belakang Tutorial Python 关于python类型(type)的详细介绍

关于python类型(type)的详细介绍

Jun 27, 2017 am 09:26 AM
type menaip

空(None)

None可以用来表示某一个变量的值缺失,类似于其他语言中的null。

像其他的空值:0,[]和空的string,布尔变量给的是False而不是True。

if None:print("None got interpreted as True")else:print("None got interpreted as False")
Salin selepas log masuk

结果是:

None got interpreted as False
Salin selepas log masuk

当一个函数没有返回任何值时,就会返回None:

def some_func():print("Hi")
var=some_func()print(var)
Salin selepas log masuk

结果是:

Hi
None
Salin selepas log masuk
View Code

字典(Dictionaries)

字典是一种给值赋予关键字的数据结构。列表可以被看做一种有着某种范围的整数关键字的字典。

字典可以像列表一样索引,用方括号,只不过方括号里不在是下标,而是关键字

ages={"Dave":24,"Mary":42,"John":58}print(ages["Dave"])print(ages["Mary"])
Salin selepas log masuk

结果是:

24
42
Salin selepas log masuk
View Code

索引一个不是字典的关键字会出现错误,字典可以储存任何数据类型的值,空的字典为“{}”。

字典的关键字是不能改的。使用一个可以更改的object当做字典的关键字会产生类型错误(TypeError)。

bad_dict={
    [1,2,3]:"one two three"}
Salin selepas log masuk

结果是:

TypeError: unhashable type: 'list'
Salin selepas log masuk
View Code

字典函数(Dictionary Functions)

字典的关键字可以被赋予不同的值。如果没有关键字,那就新建一个关键字:

squares={1:1,2:4,3:"error",4:16}
squares[8]=64squares[3]=9print(squares)
Salin selepas log masuk

结果是:

{1: 1, 2: 4, 3: 9, 4: 16, 8: 64}
Salin selepas log masuk
View Code

查看字典中是否存在某个关键字用in或not in 就像在列表中一样。

nums={1:"one",2:"two",3:"three"}print(1 in nums)print("three"in nums)print(4 not in nums)
Salin selepas log masuk

结果是:

True
False
True
Salin selepas log masuk
View Code

get是一个非常好用的字典method,起的作用和索引一样,但是如果在字典中找不到关键字,就会返回None,而不是错误

paris={1:"apple","orange":[2,3,4],
    True:False,
    None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in dictionary"))
Salin selepas log masuk

get的第二个参数的意思是找不到关键字就返回这个值。

结果是:

paris={1:"apple","orange":[2,3,4],
    True:False,
    None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in the dicrionary"))
Salin selepas log masuk
View Code

元组(Tuples)

元组和列表很像,但他们是不能被更改的,用括号就能新建一个元组,不用也可以……:

words=("spam","eggs","sausages",)
Salin selepas log masuk
words="spam","eggs","sausages",
Salin selepas log masuk

空元组用()新建。

元组的运行速度比列表快

其他使用方法和列表类似。

列表切片(List Slices)

列表切片是一种检索列表值的高级方法。基本的切片方法是用两个被冒号分开的整数来索引列表。这样可以从旧列表返回一个新列表。

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[2:6])print(squares[3:8])print(squares[0:1])
Salin selepas log masuk

结果是:

[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
Salin selepas log masuk
View Code

跟range的参数相似,第一的下标的值会包括,但不包括第二个下标的值。

如果第一个下标省略,默认从头开始,

如果第二个下标省略,默认到结尾结束。

切片同样可以用于元组。

切片也有第三个参数,决定了步长。第一二个分别决定了开头与结尾。

squares=[0,1,4,9,16,25,36,49,64,81]
print(squares[:6:2])
print(squares[3::3])
print(squares[::3])
Salin selepas log masuk

结果是:

[0, 4, 16]
[9, 36, 81]
[0, 9, 36, 81]
Salin selepas log masuk

参数是复数的话就倒着走。-1是倒数第一,-2是倒数第二,第三个参数为负就会倒着切,这时候第一个参数和第二个参数就要倒着看了,也就是第二个参数变成了开始,第一个变成了结尾(因此-1会使整个列表倒序)

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[:-1])print(squares[::-3])print(squares[-3::2])
Salin selepas log masuk

结果是:

[0, 1, 4, 9, 16, 25, 36, 49, 64]
[81, 36, 9, 0]
[49, 81]
Salin selepas log masuk
View Code

列表解析(List Comprehensions)

这是一种快速创建遵循某些规则的列表的方法:

cubes=[i**3 for i in range(5)]print(cubes)
Salin selepas log masuk

结果是:

[0, 1, 8, 27, 64]
Salin selepas log masuk
View Code

也可以包含if statement 加强限定条件。

evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
Salin selepas log masuk
Salin selepas log masuk

结果是:

[0, 4, 16, 36, 64]
Salin selepas log masuk
Salin selepas log masuk
View Code
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
Salin selepas log masuk
Salin selepas log masuk

结果是:

[0, 4, 16, 36, 64]
Salin selepas log masuk
Salin selepas log masuk
View Code

range的范围过大会超出内存的容量引发MemoryError

String Formatting

为了使string和non-string结合,可以把non-string转化为string然后再连起来。

string formatting提供了一种方式,把non-string嵌入到string里,用string的format method来替换string里的参数。

nums=[4,5,6]
msg="Numbers:{0} {1} {2}".format(nums[0],nums[1],nums[2])print(msg)
Salin selepas log masuk

format里的参数和{}里的参数是对应的。{}的参数是format()里参数的下标

参数被命名这种情况也是可以的:

a="{x},{y}".format(x=5,y=12)print(a)
Salin selepas log masuk

结果是:

5,12
Salin selepas log masuk
View Code

Useful Functions

Python 内置了许多有用的函数

join ,用一个string充当分隔符把一个由string组成的列表连起来。

print(",".join(["spam","eggs","ham"]))
Salin selepas log masuk

结果是:

spam,eggs,ham
Salin selepas log masuk
View Code

replace,用一个string 取代另一个。

print("Hello ME".replace("ME","world"))
Salin selepas log masuk

结果是:

Hello world
Salin selepas log masuk
View Code

startwith和endwith,判断是否是由……开头或结束:

print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))
Salin selepas log masuk

结果是:

True
True
Salin selepas log masuk
View Code

lower和upper可以改变string的大小写

print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())
Salin selepas log masuk

结果是:

THIS IS A SENTENCE.
this is a sentence.
Salin selepas log masuk
View Code

split的作用于join 相反,他可以按某个string为分隔符将一串string分开并成为列表的形式。

print("apple,eggs,banana".split(","))
Salin selepas log masuk

结果是:

['apple', 'eggs', 'banana']
Salin selepas log masuk

 有关数学的一些函数有:最大值max,最小值min,绝对值abs,约等数round(第二个参数可以决定保留几位小数),对列表里的数求和用sum等:

print(min(1,2,3,4,5,6,7))print(max(1,2,3,4,5,6,7))print(abs(-98))print(round(78.632453434,4))print(sum([2.12121,23232323]))
Salin selepas log masuk

结果是:

1
7
98
78.6325
23232325.12121
Salin selepas log masuk
View Code

all和any可以把列表当成参数,然后返回True或 False,

nums=[55,44,33,22,11]if all([i <56 for i in nums]):print("All smaller than 56.")
Salin selepas log masuk

 

nums=[55,44,33,22,11]if any([i <22 for i in nums]):print("at least one is smaller than 22.")
Salin selepas log masuk

all和any的区别是,all需要所有的值都满足,any只需要有一个满足就行了。

枚举(enumerate),字面意思,把列表中的值按顺序一个一个列出来。

nums=[55,44,33,22,11]for v in enumerate(nums):print(v)
Salin selepas log masuk

结果是:

(0, 55)
(1, 44)
(2, 33)
(3, 22)
(4, 11)
Salin selepas log masuk
View Code

 

Atas ialah kandungan terperinci 关于python类型(type)的详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu 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)

Bagaimana untuk menukar jenis rangkaian kepada peribadi atau awam dalam Windows 11 Bagaimana untuk menukar jenis rangkaian kepada peribadi atau awam dalam Windows 11 Aug 24, 2023 pm 12:37 PM

Menyediakan rangkaian wayarles adalah perkara biasa, tetapi memilih atau menukar jenis rangkaian boleh mengelirukan, terutamanya jika anda tidak tahu akibatnya. Jika anda sedang mencari nasihat tentang cara menukar jenis rangkaian daripada awam kepada peribadi atau sebaliknya dalam Windows 11, baca terus untuk mendapatkan beberapa maklumat berguna. Apakah profil rangkaian yang berbeza dalam Windows 11? Windows 11 dilengkapi dengan beberapa profil rangkaian, yang pada asasnya merupakan set tetapan yang boleh digunakan untuk mengkonfigurasi pelbagai sambungan rangkaian. Ini berguna jika anda mempunyai berbilang sambungan di rumah atau pejabat supaya anda tidak perlu menyediakan semuanya setiap kali anda menyambung ke rangkaian baharu. Profil rangkaian peribadi dan awam ialah dua jenis biasa dalam Windows 11, tetapi secara amnya

Melaksanakan tatasusunan dinamik dalam Python: dari pemula hingga mahir Melaksanakan tatasusunan dinamik dalam Python: dari pemula hingga mahir Apr 21, 2023 pm 12:04 PM

Bahagian 1 Mari kita bincangkan tentang sifat jenis jujukan Python Dalam blog ini, mari kita bincangkan tentang pelbagai kelas "jujukan" Python dan tiga struktur data terbina dalam yang biasa digunakan - senarai, tuple dan sifat kelas rentetan (str ). Saya tidak tahu sama ada anda perasan, tetapi kelas ini mempunyai persamaan yang jelas. Mereka boleh digunakan untuk menyimpan berbilang elemen data. seperti menggunakan SyntaxSeq[i]​. Malah, setiap kelas di atas diwakili oleh struktur data mudah seperti tatasusunan. Walau bagaimanapun, pembaca yang biasa dengan Python mungkin tahu bahawa ketiga-tiga struktur data ini mempunyai beberapa perbezaan: contohnya, tupel dan rentetan tidak boleh diubah suai, manakala senarai boleh.

Apakah kegunaan kata kunci Jenis dalam Go? Apakah kegunaan kata kunci Jenis dalam Go? Sep 06, 2023 am 09:58 AM

Penggunaan kata kunci Jenis dalam Go termasuk menentukan alias jenis baharu atau mencipta jenis struktur baharu. Pengenalan terperinci: 1. Jenis alias Gunakan kata kunci "jenis" untuk mencipta alias untuk jenis sedia ada, tetapi hanya memberikan nama baharu untuk jenis alias yang sedia ada kebolehbacaan kod menjadikan kod lebih jelas;

Selesaikan ralat cakera keras mudah alih pemasangan Ubuntu: exfat jenis sistem fail tidak diketahui Selesaikan ralat cakera keras mudah alih pemasangan Ubuntu: exfat jenis sistem fail tidak diketahui Jan 05, 2024 pm 01:18 PM

Ralat berlaku apabila ubuntu memasang cakera keras mudah alih: mount: unknownfilesystemtype'exfat' Kaedah pemprosesan adalah seperti berikut: Ubuntu13.10 atau install exfat-fuse: sudoapt-getinstallexfat-fuseUbuntu13.04 atau di bawah sudoapt-add-repositoryppa:relan. /exfatsudoapt-getupdatesudoapt-getinstallfuse- exfatCentOS Linux memasang format exfat penyelesaian ralat cakera USB untuk memuatkan extfa dalam CentOS

Bagaimana untuk membuat akaun matriks video? Apakah jenis akaun matriks yang ada padanya? Bagaimana untuk membuat akaun matriks video? Apakah jenis akaun matriks yang ada padanya? Mar 21, 2024 pm 04:57 PM

Dengan populariti platform video pendek, pemasaran akaun matriks video telah menjadi kaedah pemasaran yang baru muncul. Dengan mencipta dan mengurus berbilang akaun pada platform yang berbeza, perniagaan dan individu boleh mencapai matlamat seperti promosi jenama, pertumbuhan peminat dan jualan produk. Artikel ini akan membincangkan cara menggunakan akaun matriks video dengan berkesan dan memperkenalkan pelbagai jenis akaun matriks video. 1. Bagaimana untuk membuat akaun video matriks? Untuk membuat akaun matriks video yang baik, anda perlu mengikuti langkah berikut: Pertama, anda mesti menjelaskan matlamat akaun matriks video anda, sama ada untuk komunikasi jenama, pertumbuhan peminat atau jualan produk. Mempunyai matlamat yang jelas membantu membangunkan strategi dengan sewajarnya. 2. Pilih platform: Pilih platform video pendek yang sesuai berdasarkan khalayak sasaran anda. Platform video pendek arus perdana termasuk Douyin, Kuaishou, Huoshan Video, dsb.

Apakah jenis nilai pulangan fungsi Golang? Apakah jenis nilai pulangan fungsi Golang? Apr 13, 2024 pm 05:42 PM

Fungsi Go boleh mengembalikan berbilang nilai jenis yang berbeza Jenis nilai pulangan ditentukan dalam tandatangan fungsi dan dikembalikan melalui penyata pulangan. Sebagai contoh, fungsi boleh mengembalikan integer dan rentetan: funcgetDetails()(int,string). Dalam amalan, fungsi yang mengira luas bulatan boleh mengembalikan kawasan dan ralat pilihan: funccircleArea(radiusfloat64)(float64,error). Nota: Jika tandatangan fungsi tidak menyatakan jenis, nilai nol dikembalikan; adalah disyorkan untuk menggunakan penyataan pulangan dengan pengisytiharan jenis eksplisit untuk meningkatkan kebolehbacaan.

Amalan terbaik untuk petunjuk jenis dalam Python Amalan terbaik untuk petunjuk jenis dalam Python Apr 23, 2023 am 09:28 AM

Menggunakan bahasa dinamik adalah menyeronokkan untuk seketika, dan kod itu dibina semula di krematorium. Saya percaya anda pasti pernah mendengar ayat ini Seperti ujian unit, walaupun memerlukan sedikit masa untuk menulis kod, ia sangat berbaloi untuk jangka masa panjang. Artikel ini berkongsi cara untuk lebih memahami dan menggunakan pembayang jenis Python. 1. Pembayang jenis hanya sah pada peringkat sintaks (diperkenalkan sejak PEP3107) digunakan untuk menambah jenis pada pembolehubah, parameter, parameter fungsi dan nilai pulangannya, sifat kelas dan kaedah. Jenis pembolehubah Python adalah dinamik dan boleh diubah suai semasa runtime untuk menambah petunjuk jenis pada kod tersebut hanya disokong pada tahap sintaks dan tidak mempunyai kesan ke atas jalankan kod tersebut. Oleh itu jenis

Apakah platform media kendiri utama? Apakah jenis platform media kendiri? Apakah platform media kendiri utama? Apakah jenis platform media kendiri? Mar 21, 2024 pm 06:36 PM

Dengan perkembangan pesat Internet, media kendiri telah menjadi saluran penting untuk penyebaran maklumat. Platform media kami menyediakan pentas untuk individu dan syarikat mempamerkan diri mereka dan menyebarkan maklumat. Pada masa ini, platform media kendiri utama di pasaran termasuk akaun rasmi WeChat, Toutiao, Berita Yidian, Platform Media Penguin, dll. Setiap platform ini mempunyai ciri tersendiri dan menyediakan banyak ruang kreatif untuk pengamal media kendiri. Seterusnya, kami akan memperkenalkan platform ini secara terperinci dan meneroka jenis platform media kendiri. 1. Apakah platform media kendiri utama? Akaun rasmi WeChat ialah platform media kendiri yang dilancarkan oleh Tencent untuk menyediakan perkhidmatan pelepasan dan penyebaran maklumat untuk pengguna individu dan korporat. Ia terbahagi kepada dua jenis: akaun perkhidmatan dan akaun langganan Akaun perkhidmatan terutamanya menyediakan perkhidmatan untuk perusahaan, manakala akaun langganan memfokuskan pada penyebaran maklumat. Bergantung kepada

See all articles