python的数据类型

python的数据类型

标准数据类型

Python3 中有六个标准的数据类型:

  • Number(数字)
    • int --python3中所有整型统一由int表示(所有正整数,0和负整数)
    • float --在混合计算时,Python会把整型转换成为浮点数
    • bool --bool型继承了int型,他是int的子类
    • complex --复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
  • String(字符串) --存放少量数据
    • 字符串属于不可变数据类型,内部机制为了节省空间,相同的两个字符串表示相同的一个对象。a = ‘123’ b = ‘123’ a is b :True
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

int、bool、str三种数据类型之间的转换

# int转bool,非0即True
print(bool(0))
print(bool(12))
print(bool(-3))
# bool转int,True的值为1,False的值为0
print(int(True))
print(int(False))
# str转bool,非空即为True
s = input('请输入内容:')
if s:
    print('有内容')
else:
    print('无内容')

运行结果:

<class 'int'>
<class 'str'>
False
True
True
1
0
请输入内容:
无内容

and、not、or三者混合运算

先后级:not(非)>and(与)>or(或)

print(1 and 2)
print(1 or 2)
print(0 and 2)
print(0 or 2)
print(not (1 and 2) or (0 and 2))
print(not (1 and 2) or 0 or 2)

运行结果:

2
1
0
2
0
2

反斜杠\在字符串中的用法

Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

print('abcd\n')
print('abcd\\n')
print(r'abcd\n')

运行结果:

abcd

abcd\n
abcd\n

字符串可以用一对单引号或者一对双引号表示,也可以混合使用。使用一对‘’‘可以表示多行字符串。另外反斜杠 \还可表示续航符,续行符之后,续行符后面什么都不能 出现,必须换行(必须换行写内容)。

a = '''
bugfuyegfyugeudvbebviu
vehbviyegiileblq
bkhbuycftfoa
gtrgmoijlo
'''
b = 'bugfuyegfyugeudvbebviu'\
'vehbviyegiileblq'\
'bkhbuycftfoa'\
'gtrgmoijlo'
print(a)
print(b)

运行结果:

bugfuyegfyugeudvbebviu
vehbviyegiileblq
bkhbuycftfoa
gtrgmoijlo

bugfuyegfyugeudvbebviuvehbviyegiileblqbkhbuycftfoagtrgmoijlo

格式化输出

  • %用法

    • 字符串操作符%

      1. %s 字符串 ---采用str()的显示
      2. %r 字符串 ---采用repr()的显示
        3. %c 单个字符
        4. %b 二进制整数
        5. %d 十进制整数
        6. %i 十进制整数
        7. %o 八进制整数
        8. %x 十六进制整数
        9. %e 科学计数法格式化定点数 ---保留小数点后面六位有效数字,指数形式输出
        10. %E 上同,基底写为E
        11. %f 格式化定点数 ---保留小数点后面六位有效数字
        12. %F 上同,用大写的F表示
        13. %g 根据值大小自动选%f,%e ---在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
        14. %G 上同,用其对应的大写形式表示
    • 格式化辅助命令:

      ​ m.n :m最小总宽度,n小数点后位数:’%12.4f’%23456.789

      print("%+10x" % 10)
      print("%10x" % 10)
      print("%+10x" % -10)
      print("%-10x" % 10)
      print("%-10x" % -10)
      print('%x'% 10)
      print('%x'% -10)
      

      ​ 运行结果 :

              +a
               a
              -a
      a         
      -a        
      a
      -a
      
    • 转义字符:字符串前r避免转义:r’\n\t‘ ---原始字符串

      1. \n:换行符

      2. \t:横向制表符

      3. \b:退格符

      4. \r:回车

      5. \v:纵向制表符

      6. \f:换页符

      7. \o,\x:八进制和十六进制

      8. \0:空字符串

        print('12345\t22222\t33333')
        print('小明\t张三\t李富贵')
        print('aqww\taqqq\tyukk')
        

        运行结果:

        12345	22222	33333
        小明	张三	李富贵
        aqww	aqqq	yukk
        
        • \r 能将光标定位到当前行的行首

        • \b则是将光标回退一位

        • 光标的含义:光标后面的输出内容均会消失,光标回退后,后面位置的内容都会被抹除

          >>> print('11111\b2222')
          11112222
          >>> print('\b2222')
          2222
          >>> print('111111\r')#光标回到行首因为没有输入,所以不消除
          111111
          >>> print('111111\r2')
          211111
          

应用举例:

name = input('请输入你的姓名:')
age = int(input('请输入你的年龄:'))
job = input('请输入你希望从事的工作:')
msg = '我叫%s,今年%d岁,希望从事的工作是%s,目前学习进度还未达到100%%'%(name,age,job)
print(msg)

运行结果:

请输入你的姓名:小迪
请输入你的年龄:20
请输入你希望从事的工作:数据分析师
我叫小迪,今年20岁,希望从事的工作是数据分析师,目前学习进度还未达到100%
  • format用法

    ​ 相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’

    • 基本用法

      (1)不带编号,即“{}”

      (2)带数字编号,可调换顺序,即“{1}”、“{2}”

      (3)带关键字,即“{a}”、“{b}”

    • 进阶用法

      (1)< (默认)左对齐、> 右对齐、^ 中间对齐、= (只用于数字)在小数点后进行补齐

      (2)取位数“{:4s}”、"{:.2f}"等

posted @ 2020-08-11 18:44  努力的小迪  阅读(43)  评论(0)    收藏  举报