Python의 기본 데이터 유형은 무엇이며 이를 사용하는 방법

王林
풀어 주다: 2023-05-23 19:43:04
앞으로
2197명이 탐색했습니다.

1부 숫자 유형

1.1 숫자 유형의 구성

1.1.1 정수 - 다양한 기본 시스템의 변환
  • 기본 입력은 10진수

  • 2진수 0b, 8진수 0o, 16진수 0x

으아아아아아아아아아아아아아아
    십진수와 다른 진수의 변환
  • 16 == 0b10000 == 0o20 == 0x10
    로그인 후 복사
    True
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
참고: 위 변환 후의 결과는 문자열 형식이므로 동일 비교를 수행하면 출력은 False 결과가 됩니다.

a = bin(16)   # 转二进制
b = oct(16)   # 转八进制
c = hex(16)   # 转十六进制
print(a, b, c)
로그인 후 복사
0b10000 0o20 0x10
로그인 후 복사
a == b == c
로그인 후 복사
False
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

    다른 진수로의 변환 십진수
  • type(a)
    로그인 후 복사
    str
    로그인 후 복사
  • 1.1.2 부동 소수점 수 - 불확실성
    불확실한 십진수 문제
  • d = int(a, 2)      # 二进制转十进制
    e = int(b, 8)      # 八进制转十进制
    f = int(c, 16)     # 十六进制转十进制
    print(d, e, f)
    로그인 후 복사
    16 16 16
    로그인 후 복사
    (0.1+0.2) == 0.3
    로그인 후 복사
    False
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
컴퓨터는 이진수를 사용하여 부동 소수점 수의 소수 부분을 나타냅니다.

    원인: 부분 소수점은 불가능합니다. 완전히 이진 소수로 표현되어야 합니다
  • 0.1+0.2
    로그인 후 복사
  • 0.00011001100110011001 0.09999942779541016 0.0011001100110011 0.1999969482421875 0.01001100110011001 0.29999542236328125 0.01100110011001101 0.40000152587890625 소수점 이하 1자리 )

0.30000000000000004
로그인 후 복사
로그인 후 복사
二进制                  十进制
로그인 후 복사
0.1 + 0.7
로그인 후 복사
0.7999999999999999
로그인 후 복사
    1.1.3 복소수 - a+bj
  • 대문자 J 또는 소문자 j 사용 가능
  • a = 3*0.1
    print(a)
    로그인 후 복사
    0.30000000000000004
    로그인 후 복사
    로그인 후 복사

  • 허수부 계수가 1인 경우 적어주셔야 합니다. 명시적으로
  • b = round(a, 1)
    print(b)
    b == 0.3
    로그인 후 복사
  • 1.2 숫자 연산 연산자(연산자 b)
    덧셈, 뺄셈, 곱셈 및 나눗셈 연산  +  -  / 
  • 정수 몫//및 모듈러 연산%

0.3



True
로그인 후 복사
3+4j
2+5J
로그인 후 복사
(2+5j)
로그인 후 복사
    몇 가지 참고 사항
정수 및 부동 소수점 연산의 결과는 부동 소수점 숫자입니다.

  • 나누기 연산의 결과는 부동 소수점 숫자입니다.

2+1j
로그인 후 복사
(1+3-4*2)/5
로그인 후 복사
-0.8
로그인 후 복사
x = 1
-x
로그인 후 복사
-1
로그인 후 복사
2**3
로그인 후 복사
1.3 수연산 함수 함수(x, ...)
  • 절댓값 찾기 abs()
    8
    로그인 후 복사
    13//5    # 整数商    x/y 向下取整数
    로그인 후 복사
    2
    로그인 후 복사
    로그인 후 복사
    로그인 후 복사
    13 % 5   # 模运算    余数 13=2*5+3
    로그인 후 복사
  • power pow(x,n)
    • 모듈로 마력으로 계산된 전력 (x,n,m)

    1+1.5
    로그인 후 복사
    2.5
    로그인 후 복사
    2/5
    로그인 후 복사
    0.4
    로그인 후 복사

    round(x,n)

      8/4
      로그인 후 복사
      2.0
      로그인 후 복사
      abs(-5)
      로그인 후 복사
      5
      로그인 후 복사
      abs(3+4j)  # 对复数a+bj 执行的是求模运算(a^2+b^2)^0.5
      로그인 후 복사
      5.0
      로그인 후 복사
    • 정수 몫 및 모듈러 연산 divmod(x,y)
    • 등의 값을 반환합니다. tuple (x//y,x % y)
    • pow(2, 5)  # pow(x,n) x的n次方  等价于x**n
      로그인 후 복사
      32
      로그인 후 복사

      시퀀스의 최대값/최소값 max( )  min( )
      • pow(2, 5, 3) # 2^5 % 3  更快速
        로그인 후 복사
        2
        로그인 후 복사
        로그인 후 복사
        로그인 후 복사
        a = 1.618
        print(round(a))      # 默认四舍五入为整数
        로그인 후 복사
        2
        로그인 후 복사
        로그인 후 복사
        로그인 후 복사
      Sum(x)
      • 참고: sum 시퀀스 데이터로 채워야 합니다
      print(round(a, 2))   # 参数2表示四舍五入后保留2位小数
      로그인 후 복사
      1.62
      로그인 후 복사
    • 과학 컴퓨팅 라이브러리 mathscipynumpy의 도움으로 mathscipynumpy
      • print(round(a, 5))   # 位数不足,无需补齐
        로그인 후 복사
        1.618
        로그인 후 복사
        divmod(13, 5)   # 较(x//y,x % y)更快,只执行了一次x/y
        로그인 후 복사
        (2, 3)
        로그인 후 복사
      • 파트 2 문자열 유형

        2.1 문자열 표현
        • "" 또는 ''를 사용하세요.

        max(3, 2, 3, 6, 9, 4, 5)
        로그인 후 복사
        9
        로그인 후 복사

        문자열에 큰따옴표나 작은따옴표가 있는 경우
        • Single in double
          a = [3, 2, 3, 6, 9, 4, 5]
          print("max:", max(a))
          print("min:", min(a))
          로그인 후 복사
          max: 9
          min: 2
          로그인 후 복사
        • Double in Single

        • print('"Python" is good')
          로그인 후 복사
          "Python" is good
          로그인 후 복사
          로그인 후 복사

          双中有双,单中有单——转义符   \

          # print(""Python" is good")
          print("\"Python\" is good")  # \ 字符
          로그인 후 복사
          "Python" is good
          로그인 후 복사
          로그인 후 복사

          转义符可以用来换行继续输入

          s = "py\
          thon"                    
          print(s)
          로그인 후 복사
          python
          로그인 후 복사

          2.2 字符串的性质

          2.2.1 字符串的索引
          s = "My name is Peppa Pig"
          로그인 후 복사
          로그인 후 복사

          变量名[位置编号]

          • 正向索引——从零开始递增

          • 位置编号不能超过字符串的长度

          • 空格也是一个位置

          print(s[0])   
          print(s[2])
          print(s[5])
          로그인 후 복사
          M
           
          m
          로그인 후 복사
          s = "My name is Peppa Pig"
          로그인 후 복사
          로그인 후 복사
          • 反向索引——从-1开始递减

          print(s[-1])
          print(s[-3])
          print(s[-5])
          로그인 후 복사
          g
          P
          a
          로그인 후 복사

          索引只能获得一个字符,如何获得多个字符?

          2.2.2 字符串的切片

          变量名[开始位置:结束位置:切片间隔]

          • 切片间隔如不设置默认为1,可省略

          • 切片范围不包含结束位置(前闭后开)

          s = "Python"
          print(s[0:3:1])
          로그인 후 복사
          Pyt
          로그인 후 복사
          로그인 후 복사
          print(s[0:3])
          로그인 후 복사
          Pyt
          로그인 후 복사
          로그인 후 복사
          print(s[0:3:2])
          로그인 후 복사
          Pt
          로그인 후 복사
          • 起始位置是0 可以省略

          • 结束位置省略,代表可以取到最后一个字符

          • 可以使用反向索引

          s = "Python"
          print(s[0:6])
          로그인 후 복사
          Python
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          print(s[:6])
          로그인 후 복사
          Python
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          print(s[:])
          로그인 후 복사
          Python
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          print(s[-6:])
          로그인 후 복사
          Python
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사

          反向切片

          • 起始位置是-1也可以省略

          • 结束位置省略,代表可以取到第一个字符

          • 关键点在于-1,代表前一个位置比后一个位置大-1

          s = "123456789"
          print(s[-1:-10:-1])
          로그인 후 복사
          987654321
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          print(s[:-10:-1])
          로그인 후 복사
          987654321
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          print(s[::-1])
          로그인 후 복사
          987654321
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사

          2.3 字符串操作符

          2.3.1 字符串的拼接
          • 字符串1+字符串2

          a = "I love "
          b = "my wife "
          a+b
          로그인 후 복사
          'I love my wife '
          로그인 후 복사
          2.3.2 字符串的成倍复制
          • 字符串 * n   n * 字符串

          c = a+b
          print(c*3)
          print(3*c)
          로그인 후 복사
          I love my wife I love my wife I love my wife 
          I love my wife I love my wife I love my wife
          로그인 후 복사
          2.2.3 成员运算
          • 子集in全集   任何一个连续的切片都是原字符串的子集

          folk_singers = "Peter, Paul and Mary"    
          "Peter" in folk_singers
          로그인 후 복사
          True
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          "PPM" in folk_singers
          로그인 후 복사
          False
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          • 遍历字符串字符   for 字符 in 字符串

          for s in "Python":
              print(s)
          로그인 후 복사
          P
          y
          t
          h
          o
          n
          로그인 후 복사

          2.4 字符串处理函数

          2.4.1 字符串的长度
          • 所含字符的个数

          s = "python"
          len(s)
          로그인 후 복사
          6
          로그인 후 복사
          2.4.2 字符编码

          将中文字库,英文字母、数字、特殊字符等转化成计算机可识别的二进制数

          • 每个单一字符对应一个唯一的互不重复的二进制编码

          • Python 中使用的是Unicode编码

          将字符转化为Unicode码——ord(字符)

          print(ord("1"))
          print(ord("a"))
          print(ord("*"))
          print(ord("中"))
          print(ord("国"))
          로그인 후 복사
          49
          97
          42
          20013
          22269
          로그인 후 복사

          将Unicode码转化为字符——chr(Unicode码)

          print(chr(1010))
          print(chr(10000))
          print(chr(12345))
          print(chr(23456))
          로그인 후 복사
          ϲ
          ✐
          〹
          宠
          로그인 후 복사

          2.5 字符串的处理方法

          2.5.1 字符串的分割——字符串.split(分割字符)
          • 返回一个列表

          • 原字符串不变

          上述特性适合以下所有字符串处理方法

          languages = "Python C C++ Java PHP R"
          languages_list = languages.split(" ")#括号里的参数就是我们希望对目标字符串进行分割的标记
          print(languages_list)
          print(languages)
          로그인 후 복사
          ['Python', 'C', 'C++', 'Java', 'PHP', 'R']
          Python C C++ Java PHP R
          로그인 후 복사
          2.5.2  字符串的聚合——“聚合字符”.join(可迭代数据类型)
          • 可迭代类型 如:字符串、列表

          s = "12345"
          s_join = ",".join(s) #把可迭代的对象每一个都取出来,相邻两个之间加上聚合字符
          s_join
          로그인 후 복사
          '1,2,3,4,5'
          로그인 후 복사
          • 序列类型的元素必须是字符类型

          # s = [1, 2, 3, 4, 5] 无法使用聚合
          s = ["1", "2", "3", "4", "5"]
          "*".join(s)
          로그인 후 복사
          '1*2*3*4*5'
          로그인 후 복사
          3.5.3 删除两端特定字符——字符串.strip(删除字符)
          • strip从两侧开始搜索,遇到指定字符执行删除,遇到非指定字符,搜索停止

          • 类似的还有左删除lstrip和右删除rstrip

          s = "      I have many blanks     "
          print(s.strip(" "))                        #从两端进行搜索,遇到指定字符后删除空格,然后停止
          print(s.lstrip(" "))
          print(s.rstrip(" "))
          print(s)
          로그인 후 복사
          I have many blanks
          I have many blanks     
                I have many blanks
                I have many blanks
          로그인 후 복사
          3.5.4 字符串的替换——字符串.replace("被替换","替换成")
          s = "Python is coming"
          s1 = s.replace("Python","Py")
          print(s1)
          로그인 후 복사
          Py is coming
          로그인 후 복사
          3.5.5 字符串统计——字符串.count("待统计字符串")
          s = "Python is an excellent language"
          print("an:", s.count("an"))
          print("e:", s.count("e"))
          로그인 후 복사
          an: 2
          e: 4
          로그인 후 복사
          3.3.6 字符串字母大小写
          • 字符串.upper() 字母全部大写

          s = "Python"
          s.upper()
          로그인 후 복사
          'PYTHON'
          로그인 후 복사
          • 字符串.lower() 字母全部小写

          print(s.lower())
          print(s)
          로그인 후 복사
          python
          Python
          로그인 후 복사
          • 字符串.title()首字母大写

          s.title()
          로그인 후 복사
          'Python'
          로그인 후 복사

          第三部分 布尔类型TRUEorFalse

          3.1 逻辑运算的结果

          a = 10
          print(a > 8)
          print(a == 12)
          print(a < 5)
          로그인 후 복사
          True
          False
          False
          로그인 후 복사
          • any() 数据有一个是非零就为True

          • all() 数据有一个是零就为False (元素都是非零的)

          print(any([False,1,0,None]))   # 0 False None 都是无
          print(all([False,1,0,None]))
          로그인 후 복사
          True
          False
          로그인 후 복사

          3.2 指示条件

          n = 2800
          while True:
              m = eval("请输入一个正整数:"))
              if m == n:
                  print("正确")
                  break
              elif m > n:
                  print("太大了")
              else:
                  print("太小了")
          로그인 후 복사
          请输入一个正整数:280
          太小了
          请输入一个正整数:2800
          正确
          로그인 후 복사

          3.3 作为numpy数组的掩码

          import numpy as np
          x = np.array([[1, 3, 2, 5, 7]])   # 定义 numpy数组
          print(x > 3)
          x[x > 3]
          로그인 후 복사
          [[False False False  True  True]]
          
          array([5, 7])
          로그인 후 복사

          第四部分 类型判别及类型转换

          4.1 类型判别

          • type(变量)

          age = 20
          name = "Ada"
          print(type(age))
          print(type(name))
          로그인 후 복사
          <class &#39;int&#39;>
          <class &#39;str&#39;>
          로그인 후 복사
          • isinstance(变量,预判类型) 承认继承

          • 变量类型是预判类型的子类型,则为真,否则为假

          print(isinstance(age, int))        # 承认继承 这里的int就相当于是一个类
          로그인 후 복사
          True
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          print(isinstance(age, object))
          print(isinstance(name, object))    # object 是所有类的老祖宗
          로그인 후 복사
          True
          True
          로그인 후 복사
          • 字符串检查方法

          字符串.isdigit()字符是否只有数字组成

          age = "20"
          name = "Ada"
          로그인 후 복사
          age.isdigit()
          로그인 후 복사
          True
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          name.isdigit()
          로그인 후 복사
          False
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사

          字符串.isalpha()字符是否只有字母组成

          name.isalpha()
          로그인 후 복사
          True
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          age.isalpha()
          로그인 후 복사
          False
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사

          字符串.isalnum()字符是否只有数字和字母组成

          "Ada20".isalnum()    # 比如可用于判断用户名是否合法
          로그인 후 복사
          True
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사
          로그인 후 복사

          4.2 类型转换

          • 数字类型转字符串  str(数字类型)

          age = 20
          print("My age is "+str(age))
          로그인 후 복사
          My age is 20
          로그인 후 복사
          • 仅有数字组成的字符串转数字  int()  float()  eval(232, 232, 232); background: rgb(249, 249, 249);">

            s1 = "20"
            s2 = "10.1"
            로그인 후 복사
          int(s1)     # 仅整型
          # int(s2) 会错误
          로그인 후 복사
          20
          로그인 후 복사
          float(s1)
          로그인 후 복사
          20.0
          로그인 후 복사
          float(s2)
          로그인 후 복사
          10.1
          로그인 후 복사
          eval(232, 232, 232); background: rgb(249, 249, 249);">20
          로그인 후 복사
          eval(232, 232, 232); background: rgb(249, 249, 249);">10.1
          로그인 후 복사

          위 내용은 Python의 기본 데이터 유형은 무엇이며 이를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

          관련 라벨:
          원천:yisu.com
          본 웹사이트의 성명
          본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
          인기 튜토리얼
          더>
          최신 다운로드
          더>
          웹 효과
          웹사이트 소스 코드
          웹사이트 자료
          프론트엔드 템플릿