파이썬 데이터 유형은 무엇입니까?
파이썬 데이터 유형에는 숫자 유형(int 및 long), 부동 소수점 유형, 복합 유형(복소수), 문자열 유형, 목록 유형, 튜플 유형, 사전 유형, 부울 유형(True 및 False) 등 8가지 유형이 있습니다.
다음과 같은 8가지 Python 데이터 유형이 있습니다
숫자 유형
int 및 long
int와 long을 함께 사용해야 하는 이유는 python3.x가 더 이상 이들을 구별하지 못하기 때문입니다. int 및 long의 경우 int를 사용하십시오. python2.x는 여전히 다릅니다. Python2.7을 예로 들어 보겠습니다.
>>> i = 10 >>> type(i) <type 'int'>
>>> i=10000000000 >>> type(i) <type 'long'>
그래서 10이 int이고 10000000000이 long인 이유는 int 유형의 최대값인 231-1, 즉 2147483647과 관련이 있습니다. .sys.maxint를 사용할 수도 있습니다.
>>> 2**31-1 2147483647L >>> sys.maxint 2147483647
위의 방법으로 값을 계산한 이유는 무엇입니까? long type(숫자 뒤에 'L'을 추가하면 long type을 나타냄), 2**31의 값이 2147483648이므로 이 값은 long type이므로 long type을 사용하세요. 1이고 결과는 여전히 길지만 실제로 int 유형의 최대값은 2147483647
>>> type(2147483647) <type 'int'> >>> type(2147483648) <type 'long'>
float type
float 유형은 기본적으로 다른 언어의 부동 소수점 숫자와 동일합니다. 솔직히 말하면 소수점이 있는 숫자는 기계에 따라 다릅니다. 예:
>>> i = 10000.1212 >>> type(i) <type 'float'>
complex: 복수형, 구체적인 의미와 사용법은 관련 문서를 확인할 수 있습니다.
문자열 유형
문자열을 선언하는 방법에는 작은따옴표, 큰따옴표, 삼중따옴표(작은따옴표 3개 또는 큰따옴표 3개 포함)의 세 가지가 있습니다. 예:
>>> str1 = 'hello world' >>> str2 = "hello world" >>> str3 = '''hello world''' >>> str4 = """hello world""" >>> print str1 hello world >>> print str2 hello world >>> print str3 hello world >>> print str4 hello world
Python의 문자열에는 str 유형과 unicode 유형이라는 두 가지 데이터 유형이 있습니다. str 유형은 ASCII 인코딩을 사용하므로 중국어를 표현할 수 없습니다.
유니코드 유형은 유니코드 인코딩을 사용하며 중국어 및 기타 언어를 포함한 모든 문자를 나타낼 수 있습니다.
그리고 Python에는 C 언어처럼 char 유형이 없으며 단일 문자도 문자열 유형입니다. 기본적으로 문자열에 사용되는 ASCII 인코딩입니다. 유니코드 형식으로 선언하려면 문자열 앞에 'u' 또는 'U'를 추가해야 합니다. 예를 들면 다음과 같습니다.
>>> str1 = "hello" >>> print str1 hello >>> str2 = u"中国" >>> print str2 中国
프로젝트에서 문자열에 대한 작업이 자주 발생하고 문자열 인코딩 문제로 인해 문제가 많이 발생하므로 문자열 인코딩 문제에 대해 이야기해 보겠습니다.
파이썬을 다루는 과정에서 ASCII, 유니코드, UTF-8이라는 세 가지 인코딩을 자주 접하게 됩니다. 자세한 소개는 이 글을 참고해주세요.
제가 간단히 이해한 바는 ASCII 인코딩은 영어 문자에 적합하고, 유니코드는 영어가 아닌 문자(예: 중국어, 한국어 등)에 적합하며, utf-8은 저장 및 전송 형식이라는 것입니다. Uncode 문자 인코딩(8비트 단위로 인코딩됨) 예:
u = u'汉' print repr(u) # u'\u6c49' s = u.encode('UTF-8') print repr(s) # '\xe6\xb1\x89' u2 = s.decode('UTF-8') print repr(u2) # u'\u6c49' 解释:声明unicode字符串”汉“,它的unicode编码为”\u6c49“,经过utf-8编码转换后,它的编码变成”\xe6\xb1\x89“。
코딩 경험 요약:
1. Python 파일 헤더에서 인코딩 형식을 선언합니다.
#-*- coding: utf-8 -*-
2. 문자열을 유니코드 형식으로 선언합니다. 즉, 앞에 u 또는 U를 추가합니다.
3. 파일 읽기 및 쓰기 작업에는 내장된 open() 대신 codecs.open()을 사용하는 것이 좋습니다. 어떤 형식을 사용하든 원칙을 따르세요.
파일이 ANSI 형식으로 저장되었다고 가정합니다. 텍스트 파일에 "한자"라는 단어가 여러 개 있습니다. 다음 코드를 직접 사용하여 GUI나 IDE(예: 숭고한 텍스트 또는 pydev), 잘못된 문자 또는 비정상(코덱은 텍스트 자체의 인코딩 형식에 따라 콘텐츠를 읽음):
f = codecs.open("d:/test.txt") content = f.read() f.close() print content
대신 다음 방법을 사용하십시오(중국어에서만 작동):
# -*- coding: utf-8 -*- import codecs f = codecs.open("d:/test.txt") content = f.read() f.close() if isinstance(content,unicode): print content.encode('utf-8') print "utf-8" else: print content.decode('gbk').encode('utf-8')
목록 유형
목록은 수정 가능한 컬렉션 유형으로, 그 요소는 숫자, 문자열과 같은 기본 유형이거나 목록, 튜플, 사전과 같은 컬렉션 개체 또는 사용자 정의 유형일 수 있습니다. 이는 다음과 같이 정의됩니다.
>>> nums = [1,2,3,4] >>> type(nums) <type 'list'> >>> print nums [1, 2, 3, 4] >>> strs = ["hello","world"] >>> print strs ['hello', 'world'] >>> lst = [1,"hello",False,nums,strs] >>> type(lst) <type 'list'> >>> print lst [1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
는 색인을 사용하여 목록 요소에 액세스합니다. 색인은 0부터 시작하고 음수 색인을 지원하며 -1은 마지막 색인입니다.
>>> lst = [1,2,3,4,5] >>> print lst[0] >>> print lst[-1] >>> print lst[-2]
는 샤딩 작업을 지원하고 범위 내의 요소에 액세스할 수 있습니다. 다양한 단계 크기, 데이터 삽입 및 복사 작업에 샤딩을 사용할 수 있습니다.
nums = [1,2,3,4,5] print nums[0:3] #[1, 2, 3] #前三个元素 print nums[3:] #[4, 5] #后两个元素 print nums[-3:] #[3, 4, 5] #后三个元素 不支持nums[-3:0] numsclone = nums[:] print numsclone #[1, 2, 3, 4, 5] 复制操作 print nums[0:4:2] #[1, 3] 步长为2 nums[3:3] = ["three","four"] #[1, 2, 3, 'three', 'four', 4, 5] 在3和4之间插入 nums[3:5] = [] #[1, 2, 3, 4, 5] 将第4和第5个元素替换为[] 即删除["three","four"] 支持加法和乘法操作 lst1 = ["hello","world"] lst2 = ['good','time'] print lst1+lst2 #['hello', 'world', 'good', 'time'] print lst1*5 #['hello', 'world', 'hello', 'world', 'hello', 'world', 'hello', 'world', 'hello', 'world']
목록에서 지원하는 메서드, 다음과 같이 목록에서 지원하는 공개 메서드를 볼 수 있습니다.
>>> [x for x in dir([]) if not x.startswith("__")] ['append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] def compare(x,y): return 1 if x>y else -1 #【append】 在列表末尾插入元素 lst = [1,2,3,4,5] lst.append(6) print lst #[1, 2, 3, 4, 5, 6] lst.append("hello") print lst #[1, 2, 3, 4, 5, 6] #【pop】 删除一个元素,并返回此元素的值 支持索引 默认为最后一个 x = lst.pop() print x,lst #hello [1, 2, 3, 4, 5, 6] #默认删除最后一个元素 x = lst.pop(0) print x,lst #1 [2, 3, 4, 5, 6] 删除第一个元素 #【count】 返回一个元素出现的次数 print lst.count(2) #1 #【extend】 扩展列表 此方法与“+”操作的不同在于此方法改变原有列表,而“+”操作会产生一个新列表 lstextend = ["hello","world"] lst.extend(lstextend) print lst #[2, 3, 4, 5, 6, 'hello', 'world'] 在lst的基础上扩展了lstextend进来 #【index】 返回某个值第一次出现的索引位置,如果未找到会抛出异常 print lst.index("hello") #5 #print lst.index("kitty") #ValueError: 'kitty' is not in list 出现异常 #【remove】 移除列表中的某个元素,如果待移除的项不存在,会抛出异常 无返回值 lst.remove("hello") print lst #[2, 3, 4, 5, 6, 'world'] "hello" 被移除 #lst.remove("kitty") #ValueError: list.remove(x): x not in list #【reverse】 意为反转 没错 就是将列表元素倒序排列,无返回值 print lst #[2, 3, 4, 5, 6, 'world'] lst.reverse() print lst #[2, 3, 4, 5, 6, 'world'] #【sort】 排序 print lst #由于上面的反转 目前排序为 ['world', 6, 5, 4, 3, 2] lst.sort() print lst #排序后 [2, 3, 4, 5, 6, 'world'] nums = [10,5,4,2,3] print nums #[10,5,4,2,3] nums.sort(compare) print nums #[2, 3, 4, 5, 10]
목록을 반복자로 변환합니다.
소위 반복자(iterator)는 next 메소드가 있는 객체입니다(이 메소드는 호출 시 매개변수가 필요하지 않습니다). next 메서드가 호출되면 반복자는 다음 값을 반환합니다. 다음 메서드가 호출되었지만 반복자에 반환할 값이 없으면 StopIteration 예외가 발생합니다. 목록에 비해 반복자가 갖는 장점은 반복자를 사용하면 목록을 한 번에 메모리에 추가할 필요가 없지만 목록의 데이터에 순차적으로 액세스할 수 있다는 것입니다.
반복자의 공개 메소드를 보려면 여전히 위의 메소드를 사용하세요:
lst = [1,2,3,4,5] lstiter = iter(lst) print [x for x in dir(numiter) if not x.startswith("__")] >>>['next']
예, 다음 메소드는 단 하나입니다. 반복자의 경우 다음과 같이 할 수 있습니다:
lst = [1,2,3,4,5] lstiter = iter(lst) for i in range(len(lst)): print lstiter.next() #依次打印 1 2 3 4 5
튜플 유형
튜플 유형은 다음과 같습니다. list와 마찬가지로 시퀀스이기도 합니다. 목록과 달리 튜플은 수정할 수 없습니다. 튜플은 다음과 같이 선언됩니다.
lst = (0,1,2,2,2) lst1=("hello",) lst2 = ("hello") print type(lst1) #<type 'tuple'> 只有一个元素的情况下后面要加逗号 否则就是str类型 print type(lst2) #<type 'str'>
사전 유형
사전 유형은 C#의 Dictionary
dict1 = {} print type(dict1) #<type 'dict'> 声明一个空字典 dict2 = {"name":"kitty","age":18} #直接声明字典类型 dict3 = dict([("name","kitty"),("age",18)]) #利用dict函数将列表转换成字典 dict4 = dict(name='kitty',age=18) #利用dict函数通过关键字参数转换为字典 dict5 = {}.fromkeys(["name","age"]) #利用fromkeys函数将key值列表生成字典,对应的值为None {'age': None, 'name': None} 字典基本的操作方法: #【添加元素】 dict1 = {} dict1["mykey"] = "hello world" #直接给一个不存在的键值对赋值 即时添加新元素 dict1[('my','key')] = "this key is a tuple" #字典的键可以是任何一中不可变类型,例如数字、字符串、元组等 #【键值对个数】 print len(dict1) #【检查是否含有键】 print "mykey" in dict1 #True 检查是否含有键为mykey的键值对 print "hello" in dict1 #False #【删除】 del dict1["mykey"] #删除键为mykey的键值对
继续利用上面的方法查看字典的所有公共方法:
>>> [x for x in dir({}) if not x.startswith("__")] ['clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues'] dict.clear() 删除字典中所有元素 dict.copy() 返回字典(浅复制)的一个副本 dict.get(key,default=None) 对字典dict 中的键key,返回它对应的值value,如果字典中不存在此键,则返回default 的值(注意,参数default 的默认值为None) dict.has_key(key) 如果键(key)在字典中存在,返回True,否则返回False. 在Python2.2版本引入in 和not in 后,此方法几乎已废弃不用了,但仍提供一个 可工作的接口。 dict.items() 返回一个包含字典中(键, 值)对元组的列表 dict.keys() 返回一个包含字典中键的列表 dict.values() 返回一个包含字典中所有值的列表 dict.iter() 方法iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代器,而不是一个列表。 dict.pop(key[, default]) 和方法get()相似,如果字典中key 键存在,删除并返回dict[key],如果key 键不存在,且没有给出default 的值,引发KeyError 异常。 dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。 dict.setdefault(key,default=None) 和方法set()相似,如果字典中不存在key 键,由dict[key]=default 为它赋值。
布尔类型
布尔类型即True和False,和其它语言中的布尔类型基本一致。下面列出典型的布尔值
print bool(0) #False print bool(1) #True print bool(-1) #True print bool([]) #False print bool(()) #False print bool({}) #False print bool('') #False print bool(None) #False
推荐教程:《python教程》
위 내용은 파이썬 데이터 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

종속성 패키지를 설치하려면 pipinstall-rrequirements.txt를 실행하십시오. 충돌을 피하고, 파일 경로가 올바른지 확인하고 PIP가 업데이트되었는지 확인하고 필요한 경우 설치 동작을 조정하기 위해-no-deps 또는 --user와 같은 옵션을 사용하는 것이 좋습니다.

Python은 Python의 간단하고 강력한 테스트 도구입니다. 설치 후 테스트 파일은 이름 지정 규칙에 따라 자동으로 발견됩니다. 어설 션 테스트를 위해 test_로 시작하여 기능을 작성하고 @pytest.fixture를 사용하여 재사용 가능한 테스트 데이터를 생성하고 pytest.raises를 통해 예외를 확인하고 지정된 테스트 실행 및 여러 명령 줄 옵션을 지원하며 테스트 효율성을 향상시킵니다.

theargparsemoduleisecomedendedway handlecommand-lineargumentsinpython, robustparsing, typevalidation, helpmessages, anderrorhandling; audys.argvforsimplecaseSrequiringMinimalSetup을 제공합니다.

데이터 과학의 초보자에게는 "경험"에서 "업계 전문가"로의 도약의 핵심은 지속적인 실습입니다. 실습의 기초는 풍부하고 다양한 데이터 세트입니다. 다행히 인터넷에는 무료 공개 데이터 세트를 제공하는 많은 웹 사이트가 있으며 기술을 향상시키고 기술을 연마하는 데 유용한 리소스입니다.

목차 비트 코인 개선 제안 (BIP)이란 무엇입니까? BIP가 왜 그렇게 중요한가? 역사적 BIP 프로세스는 비트 코인 개선 제안 (BIP)에 어떻게 효과가 있습니까? BIP 유형 신호는 무엇이며 광부는 어떻게 보내나요? BITCOIN 개선 제안 또는 "BIP"라는 시스템을 통해 2011 년부터 BIP 결론에 대한 빠른 시험의 Taproot 및 Cons는 2011 년부터 개선되었습니다. 비트 코인 개선 제안 (BIP)은 비트 코인이 일반적으로 어떻게 발전 할 수 있는지에 대한 지침을 제공하며, 두 가지 유형의 BIP가 있습니다. 그 중 두 가지 유형은 비트 코인의 기술 변화와 관련이 있습니다.

빅 데이터 분석은 멀티 코어 CPU, 대용량 메모리 및 계층 스토리지에 중점을 두어야합니다. 코어 수와 단일 코어 성능을 고려하여 Amdepyc 또는 Ryzenthreadripper와 같은 멀티 코어 프로세서가 선호됩니다. 메모리는 64GB로 시작하는 것이 좋습니다. 데이터 무결성을 보장하기 위해 ECC 메모리가 권장됩니다. 스토리지는 NVMESSD (시스템 및 핫 데이터), SATASSD (공통 데이터) 및 HDD (콜드 데이터)를 사용하여 전반적인 처리 효율을 향상시킵니다.

import@contextManagerFromContextLibandDefineAgeneratorFunctionThatYieldSActlyOnce, whereCodeBeforeYieldActSasEnterAndErandCodeftertyield (바람직하게는) ACTSAS__EXIT __

repetitivetasksworthautomating, suchasorganizingfileSordingEmails, succurnificernificanttime.2.useappropriatepythonlibraries -libraries -libraries likeos, shutil, glob, smtplib, beautifulsoup, andseleniumforfileoperations, w
