热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python数据类型入门指南

本文介绍了Python中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。

在 Python3 中,有六种标准数据类型:

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

### 1. 整型 (int)

#### 基本使用

  • 用途:存储 QQ 号、手机号、不带字母的身份证号等整数。
  • 定义方式:
    age = 18
    age = int(18)
  • 进制转换:
    • 其他进制转 10 进制:
      print(int('1100', 2))  # 二进制转十进制
      print(int('14', 8))   # 八进制转十进制
      print(int('c', 16))   # 十六进制转十进制
    • 10 进制转其他进制:
      print(bin(12))  # 10 进制转二进制
      print(oct(12))  # 10 进制转八进制
      print(hex(12))  # 10 进制转十六进制

#### 常用操作

  • 存一个值
  • 有序:有索引的数据都是有序的
  • 不可变:值改变时,ID 会变化
  • 示例:
    x = 10
    print(id(x))
    x = 11
    print(id(x))

### 2. 浮点型 (float)

#### 基本使用

  • 用途:精确的标记和运算,如薪资、身高、体重。
  • 定义方式:
    salary = 1.1
    salary = float(1.1)
    res = float('1.11')

### 3. 字符串 (str)

#### 基本使用

  • 用途:描述性数据
  • 定义方式:
    s = 'hello baby'
    s1 = str([1, 2, 3, 4])
    s2 = str({'name': 'jason', 'password': 123})
  • 按索引取值:
    s = 'hello big baby~'
    print(s[0])  # h
    print(s[-1])  # ~
  • 切片:
    print(s[0:5])  # hello
    print(s[0:10:2])  # hlo ig
  • 长度:
    print(len(s1))  # 1
  • 成员运算:
    print('egon' in 'egon is dsb and egon is sb')  # True
    print('jason' not in 'egon is dsb and egon is sb')  # True
  • 字符串处理:
    username = input('请输入用户名: ').strip()
    if username == 'jason':
        print('登录成功')
    print('jason'.strip())  # jason
    print('$$$$eg$on$$$$'.strip('$'))  # eg$on
  • 切分:
    data = 'jason|123|handsome'
    print(data.split('|'))  # ['jason', '123', 'handsome']
  • 格式化:
    str1 = 'my name is {} my age is {}'.format('jason', 18)
    print(str1)  # my name is jason my age is 18
  • 其他方法:
    print('jason'.lower())  # jason
    print('jason'.upper())  # JASON
    print('jason is dsb'.startswith('j'))  # True
    print('jason is dsb'.endswith('b'))  # True
    print('123'.isdigit())  # True

### 4. 列表 (list)

#### 基本使用

  • 用途:存储多个项目,如装备、爱好、课程、女朋友等。
  • 定义方式:
    my_girl_friends = ['alex', 'wupeiqi', 'yuanhao', 4, 5]
    l = list('abc')  # ['a', 'b', 'c']
  • 按索引存取值:
    l = [1, 2, 3, 4]
    print(l[0:4:1])  # [1, 2, 3, 4]
  • 切片:
    l = [11, 22, 33, 44, 55]
    print(l[1:4])  # [22, 33, 44]
  • 长度:
    print(len(l))  # 5
  • 成员运算:
    print(44 in l)  # True
  • 添加元素:
    l.append(66)
    l.insert(2, 96)
    l.extend([77, 88])
  • 删除元素:
    del l[2]
    res1 = l.pop()  # 删除最后一个元素
    res2 = l.pop(0)  # 删除第一个元素
    l.remove(33)  # 删除指定值的元素
  • 循环:
    for i in l:
        print(i)

### 5. 其他数据类型

Python3 支持 int、float、bool、complex(复数)。其中,int 表示长整型,没有 Python2 中的 Long 类型。布尔型 True 和 False 是关键字,但它们的值仍然是 1 和 0。

### 6. 装饰器示例

装饰器是一种用于修改函数或方法的行为的高级功能。下面是一个简单的装饰器示例:

def outter3(fun3):
    print(3)
    def inner(*args, **kwargs):
        print(33)
        res = fun3(*args, **kwargs)
        print(333)
        return res
    return inner

def outter2(fun2):
    print(2)
    def inner(*args, **kwargs):
        print(22)
        res = fun2(*args, **kwargs)
        print(222)
        return res
    return inner

def outter1(fun1):
    print(1)
    def inner(*args, **kwargs):
        print(11)
        res = fun1(*args, **kwargs)
        print(111)
        return res
    return inner

@outter3
@outter2
@outter1
def the_ad():
    print('i am ad')

the_ad()  # 输出顺序: 1 2 3 33 22 11 'i am ad' 111 222 333

推荐阅读
author-avatar
小乐的孤独人生_298
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有