>백엔드 개발 >파이썬 튜토리얼 >파이썬 유형(type)에 대한 자세한 소개

파이썬 유형(type)에 대한 자세한 소개

零下一度
零下一度원래의
2017-06-27 09:26:414458검색

None

None은 다른 언어의 null과 유사하게 특정 변수의 값이 누락되었음을 나타내는 데 사용할 수 있습니다.

다른 null 값(0, [] 및 빈 문자열)과 마찬가지로 부울 변수는 True 대신 False를 제공합니다.

if None:print("None got interpreted as True")else:print("None got interpreted as False")

결과는 다음과 같습니다.

None got interpreted as False

함수가 값을 반환하지 않으면 None을 반환합니다.

def some_func():print("Hi")
var=some_func()print(var)

결과는 다음과 같습니다.

Hi
None
코드 보기

사전 ( 사전)

사전은 값에 키를 할당하는 데이터 구조입니다. 목록은 일정 범위의 정수 키가 있는 사전으로 생각할 수 있습니다.

사전은 대괄호를 사용하여 목록처럼 색인을 생성할 수 있습니다. 단, 대괄호는 더 이상 아래 첨자가 아니지만 키워드입니다

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

결과는 다음과 같습니다.

24
42
코드 보기

index one 사전이 아닌 사전은 모든 데이터 유형의 값을 저장할 수 있습니다. 빈 사전은 "{}"입니다.

사전의 키워드는 변경할 수 없습니다. 변경 가능한 객체를 사전 키로 사용하면 TypeError가 발생합니다.

bad_dict={
    [1,2,3]:"one two three"}

결과는 다음과 같습니다.

TypeError: unhashable type: 'list'
코드 보기

사전 기능

사전 키워드에는 다른 값이 할당될 수 있습니다. 키워드가 없으면 새 키워드를 만듭니다.

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

결과는 다음과 같습니다.

{1: 1, 2: 4, 3: 9, 4: 16, 8: 64}
코드 보기

키워드가 in 또는 in like in과 함께 사전에 있는지 확인하세요. 목록에서와 같이.

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

결과는 다음과 같습니다.

True
False
True
코드 보기

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 dictionary"))

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"))
코드 보기

Tuples

튜플은 목록과 매우 유사하지만 변경할 수 없으며 괄호를 사용하여 새 튜플을 만들 수 있습니다. 또한... :

words=("spam","eggs","sausages",)
words="spam","eggs","sausages",

空元组用()新建。

元组的运行速度比列表快

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

列表切片(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])

结果是:

[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
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])

结果是:

[0, 4, 16]
[9, 36, 81]
[0, 9, 36, 81]

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

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

结果是:

[0, 1, 4, 9, 16, 25, 36, 49, 64]
[81, 36, 9, 0]
[49, 81]
View Code

列表解析(List Comprehensions)

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

cubes=[i**3 for i in range(5)]print(cubes)

结果是:

[0, 1, 8, 27, 64]
View Code

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

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

结果是:

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

结果是:

[0, 4, 16, 36, 64]
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)

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

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

a="{x},{y}".format(x=5,y=12)print(a)

结果是:

5,12
View Code

Useful Functions

Python 内置了许多有用的函数

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

print(",".join(["spam","eggs","ham"]))

结果是:

spam,eggs,ham
View Code

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

print("Hello ME".replace("ME","world"))

结果是:

Hello world
View Code

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

print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))

结果是:

True
True
View Code

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

print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())

结果是:

THIS IS A SENTENCE.
this is a sentence.
View Code

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

print("apple,eggs,banana".split(","))

结果是:

['apple', 'eggs', 'banana']

 有关数学的一些函数有:最大值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]))

结果是:

1
7
98
78.6325
23232325.12121
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.")

 

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

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

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

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

结果是:

(0, 55)
(1, 44)
(2, 33)
(3, 22)
(4, 11)
View Code

 

위 내용은 파이썬 유형(type)에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.