Python【第二章】:Python的数据类型

基本数据类型

一、整型

如: 18、73、84

二、长整型

如:2147483649、9223372036854775807

三、浮点型

如:3.14、2.88

四、字符串

如:‘wupeiqi‘、‘alex‘、‘lzl‘

1、字符串常用功能:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

#!/usr/bin/env python

# -*- coding:utf-8 -*-

#-Author-Lian

#str功能操作

name = "my name is lzl"

print(name.capitalize())            #首字母大写

#My name is lzl

print(name.count("l"))              #统计字符串出现某个字符的个数

#2

print(name.center(30,"-"))          #打印30个字符,不够的-补齐

#--------my name is lzl--------

print(name.ljust(30,"-"))           #打印30个字符,不够的-补齐,字符串在左边

#my name is lzl----------------

print(name.endswith("lzl"))         #判断字符串是否以lzl结尾

#True

print(name[name.find("na"):])       #find寻找na所在的索引下标 字符串也可以切片

#name is lzl

print("5.3".isdigit())              #判断字符是否为整数

#False

print("a_1A".isidentifier())        #判断是不是一个合法的标识符(变量名)

#True

print("+".join(["1","2","3"]))     #把join后的内容加入到前面字符串中,以+为分割符

#1+2+3

print("\nlzl".strip())              #去换行符

#lzl

print("1+2+3+4".split("+"))        #以+为分隔符生成新的列表,默认不写为空格

#[‘1‘, ‘2‘, ‘3‘, ‘4‘]

name = "my name is {name} and i an {year} old"

print(name.format(name="lzl",year=20)

#my name is lzl and i an 20 old

print(name.format_map({"name":"lzl","year":20}))            #很少用

#my name is lzl and i an 20 old

= str.maketrans("abcdefli","12345678")         #转换  一一对应

print("lianzhilei".translate(p))

#781nzh8758

五、列表

如:[11,22,33,44,55]、[‘wupeiqi‘, ‘alex‘,‘lzl‘]

1、创建列表:


1

2

3

4

5

6

7

#两种创建方式

name_list = [‘alex‘‘seven‘‘eric‘]

print(name_list)

# [‘alex‘, ‘seven‘, ‘eric‘]

name_list = list([‘alex‘‘seven‘‘eric‘])

print(name_list)

# [‘alex‘, ‘seven‘, ‘eric‘]

2、列表类常用功能

① 切片


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

print(name_list[0:3])       #取下标0至下标3之间的元素,包括0,不包括3

#[‘Alex‘, ‘Tenglan‘, ‘Eric‘]

print(name_list[:3])        #:前什么都不写,表示从0开始,效果跟上句一样

#[‘Alex‘, ‘Tenglan‘, ‘Eric‘]

print(name_list[3:])        #:后什么不写,表示取值到最后

#[‘Rain‘, ‘Tom‘, ‘Amy‘]

print(name_list[:])         #:前后都不写,表示取值所有

#[‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘]

print(name_list[-3:-1])     #从-3开始到-1,包括-3,不包括-1

#[‘Rain‘, ‘Tom‘]

print(name_list[1:-1])      #从1开始到-1,下标有正有负时,正数在前负数在后

#[‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘]

print(name_list[::2])       #2表示,每个1个元素,就取一个

#[‘Alex‘, ‘Eric‘, ‘Tom‘]

#注:[-1:0] [0:0] [-1:2] 都是空

② 追加


1

2

3

4

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

name_list.append("new")          #append追加,加到最后,只能添加一个

print(name_list)

#[‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘new‘]

③ 插入


1

2

3

4

#插入

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

name_list.insert(3,"new")          #insert插入,把"new"加到下标3的位置

print(name_list)

④ 修改 


1

2

3

4

#修改

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

name_list[2= "lzl"                #把下标2的字符串换成lzl

print(name_list)

⑤ 删除 


1

2

3

4

5

6

7

8

9

10

11

#3种删除方式

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

del name_list[3]                      #del删除,指定要删除的下标

print(name_list)

#[‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Tom‘, ‘Amy‘]

name_list.remove("Tenglan")          #remove删除,指定要删除的字符

print(name_list)

#[‘Alex‘, ‘Eric‘, ‘Tom‘, ‘Amy‘]

name_list.pop()                       #pop删除,删除列表最后一个值

print(name_list)

#[‘Alex‘, ‘Eric‘, ‘Tom‘]

⑥ 扩展


1

2

3

4

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

age_list = [11,22,33]

name_list.extend(age_list)               #extend扩展,把列表age_list添加到name_list列表

print(name_list)

⑦ 拷贝


1

2

3

4

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

copy_list = name_list.copy()                #copy拷贝,对列表进行复制

print(copy_list)

#注:博客最下有关于深浅copy的详细区分

⑧ 统计 


1

2

3

name_list = ["Alex","Tenglan","Eric","Amy","Tom","Amy"]

print(name_list.count("Amy"))               #count统计,统计列表Amy的个数

#2

⑨ 排序和翻转


1

2

3

4

5

6

7

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy","1","2","3"]

name_list.sort()                              #sort排序,对列表进行排序

print(name_list)

#[‘1‘, ‘2‘, ‘3‘, ‘Alex‘, ‘Amy‘, ‘Eric‘, ‘Rain‘, ‘Tenglan‘, ‘Tom‘]

name_list.reverse()                           #reverse翻转,对列表进行翻转

print(name_list)

#[‘Tom‘, ‘Tenglan‘, ‘Rain‘, ‘Eric‘, ‘Amy‘, ‘Alex‘, ‘3‘, ‘2‘, ‘1‘]

⑩ 获取下标


1

2

3

name_list = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

print(name_list.index("Tenglan"))              #index索引,获取字符的下标

#1

六、元组

如:(11,22,33,44,55)、(‘wupeiqi‘, ‘alex‘,‘lzl‘)

1、创建元组


1

2

3

4

5

6

7

8

9

10

11

#5种创建方式

age = 11,22,33,44,55            #直接写数字或者字符串,默认创建类型元组 字符串类型用引号‘lzl‘

#输出: (11, 22, 33, 44, 55)   

age = (11,22,33,44,55)          #常见命名方式,()指定类型元组

#输出: (11, 22, 33, 44, 55)

age = tuple((11,22,33,44,55))   #tuple 以类的方式创建(()) 双括号 里面的()不可去掉

#输出: (11, 22, 33, 44, 55)

age = tuple([11,22,33,44,55])   #同(()) 效果一样 很少用 忘记它

#输出: (11, 22, 33, 44, 55)

age = tuple({11,22,33,44,55})   #({})创建的元组,随机排列  没卵用

#输出: (33, 11, 44, 22, 55)

2、元组类常用功能:


1

2

3

4

5

6

7

8

##count        #统计元组字符出现的次数   

name =  (‘wupeiqi‘‘alex‘,‘lzl‘)

print(name.count(‘alex‘))             

# 1

##index             #查看字符串所在的索引位置

name =  (‘wupeiqi‘‘alex‘,‘lzl‘)

print(name.index(‘lzl‘))               

# 2

七、字典 无序

如:{‘name‘: ‘wupeiqi‘, ‘age‘: 18} 、{‘host‘: ‘2.2.2.2‘, ‘port‘: 80}

注:字典一种key:value 的数据类型,也称键值对。字典dict是无序的,key值必须是唯一的,不能有重复。循环时,默认循环的是key

 1、创建字典


1

2

3

4

5

6

7

#两种创建方式:

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

print(info_dic)

#{‘stu1102‘: ‘LongZe Luola‘, ‘stu1101‘: ‘TengLan Wu‘, ‘stu1103‘: ‘XiaoZe Maliya‘}

info_dic = dict({‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",})

print(info_dic)

#{‘stu1102‘: ‘LongZe Luola‘, ‘stu1101‘: ‘TengLan Wu‘, ‘stu1103‘: ‘XiaoZe Maliya‘}

2、字典类常用功能:

① 增加


1

2

3

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

info_dic[‘stu1104‘= "JingKong Cang"           #增加

print(info_dic)

② 修改


1

2

3

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

info_dic["stu1101"= "Jingkong Cang"         #有相应的key时为修改,没有为增加

print(info_dic)

③ 删除


1

2

3

4

5

6

7

8

9

10

11

12

#3种删除方式

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

info_dic.pop(‘stu1101‘)                       #pop删除,指定删除的key

print(info_dic)

#{‘stu1103‘: ‘XiaoZe Maliya‘, ‘stu1102‘: ‘LongZe Luola‘}

del info_dic[‘stu1102‘]                      #del删除,指定删除的key

print(info_dic)

#{‘stu1103‘: ‘XiaoZe Maliya‘}

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

info_dic.popitem()                             #随机删除,没卵用

print(info_dic)

#{‘stu1101‘: ‘TengLan Wu‘, ‘stu1103‘: ‘XiaoZe Maliya‘}

④ 查找value值


1

2

3

4

5

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

print(info_dic.get(‘stu1102‘))                  #get查找,通过key查找value值

#LongZe Luola

print(info_dic[‘stu1102‘])                      #通过key直接查找,但是如果输入查找的key不存在的话,就会报错,get则不会

#LongZe Luola

⑤ 字典多级嵌套


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

av_catalog = {

    "欧美":{

        "www.youporn.com": ["很多免费的,世界最大的","质量一般"],

        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],

        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],

        "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]

    },

    "日韩":{

        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]

    },

    "大陆":{

        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]

    }

}

av_catalog["大陆"]["1024"][1+= ",可以用爬虫爬下来"

print(av_catalog["大陆"]["1024"])

#[‘全部免费,真好,好人一生平安‘, ‘服务器在国外,慢,可以用爬虫爬下来‘]

⑥ 循环


1

2

3

4

5

6

7

8

9

10

11

info_dic = {‘stu1101‘"TengLan Wu",‘stu1102‘"LongZe Luola",‘stu1103‘"XiaoZe Maliya",}

for stu_nu in info_dic:

    print(stu_nu,info_dic[stu_nu])             #循环默认提取的是key

#stu1103 XiaoZe Maliya

#stu1101 TengLan Wu

#stu1102 LongZe Luola

for k,v in info_dic.items():                  #先把dict生成list,数据量大的时候费时,不建议使用

    print(k,v)

#stu1103 XiaoZe Maliya

#stu1101 TengLan Wu

#stu1102 LongZe Luola

八、集合

如:{‘lzl‘, 33, ‘alex‘, 22, ‘eric‘, ‘wupeiqi‘, 11}

注:集合是一个无序的,不重复的数据组合。去重性,把一个列表变成集合,就自动去重了。关系测试,测试两组数据之前的交集、差集、并集

1、创建集合


1

2

3

4

#标准创建方式

info_set = set(["alex","wupeiqi","eric","lzl",11,22,33])

print(info_set,type(info_set))

#{33, 11, ‘wupeiqi‘, ‘lzl‘, ‘alex‘, ‘eric‘, 22} <class ‘set‘>

2、集合类常用功能

① 添加


1

2

3

4

5

6

7

8

9

10

#添加的两种方式

set_1 = set(["alex","wupeiqi","eric","lzl"])

set_1.add(11)                         #add只能添加一个元素

print(set_1)

#{‘alex‘, ‘lzl‘, ‘eric‘, 11, ‘wupeiqi‘}

set_1 = set(["alex","wupeiqi","eric","lzl"])

set_1.update([11,22,33])

print(set_1)                           #update可以添加多个元素

#{33, 11, ‘alex‘, ‘wupeiqi‘, ‘eric‘, 22, ‘lzl‘}

② 删除


1

2

3

4

5

6

7

8

9

10

11

12

13

14

#删除的三种方式

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_1.remove("alex")                    #remove 删除指定元素

print(set_1)

#{‘eric‘, 33, ‘lzl‘, 11, 22, ‘wupeiqi‘}

set_1.pop()                             #pop 随机删除元素

print(set_1)

#{33, ‘wupeiqi‘, 11, 22, ‘lzl‘}

set_1.discard("lzl")                   #discard 删除指定元素,与remove区别在于,如果元素不存在也不会报错

set_1.discard(55)

print(set_1)

#{33, ‘wupeiqi‘, 11, 22}

3、集合关系测试

① 交集


1

2

3

4

5

6

#交集

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_2 = set([11,22,33,44,55,66])

print(set_1.intersection(set_2))            #intersection 取两个set的交集 set_1和set_2可以互换位置

#{33, 11, 22}

② 并集


1

2

3

4

5

6

#并集

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_2 = set([11,22,33,44,55,66])

print(set_1.union(set_2))                     #union 取两个set集合的并集 set_1和set_2可以互换位置

#{33, 66, 11, 44, ‘eric‘, 55, ‘lzl‘, 22, ‘wupeiqi‘, ‘alex‘}

③ 差集


1

2

3

4

5

6

#差集

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_2 = set([11,22,33,44,55,66])

print(set_1.difference(set_2))                 #difference  取两个set集合的差集 set_1有但是set_2没有的集合

#{‘lzl‘, ‘eric‘, ‘wupeiqi‘, ‘alex‘}

④ 子集、父集  


1

2

3

4

5

6

7

8

#子集

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_2 = set([11,22,33,44,55,66])

set_3 = set([11,22,33])

print(set_1.issubset(set_2))                      #issubset 子集

#False

print(set_1.issuperset(set_3))                    #issuperset 父集

#True

⑤ 对称差集


1

2

3

4

5

6

#对称差集

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_2 = set([11,22,33,44,55,66])

print(set_1.symmetric_difference(set_2))           #symmetric_difference 对称差集=两个集合并集减去合集

#{66, ‘lzl‘, ‘eric‘, ‘alex‘, 55, ‘wupeiqi‘, 44}

⑥ 运算符做关系测试


1

2

3

4

5

6

7

8

9

10

11

#运算符做关系测试

set_1 = set(["alex","wupeiqi","eric","lzl",11,22,33])

set_2 = set([11,22,33,44,55,66])

set_union = set_1 | set_2           # 并集

set_intersection = set_1 & set_2    # 交集

set_difference = set_1 - set_2      # 差集

set_symmetric_difference = set_1 ^ set_2  # 对称差集

时间: 2024-10-08 03:37:35

Python【第二章】:Python的数据类型的相关文章

[Head First Python] - 第二章 python of comment

1- 多行注释 ''' ''' 或 """ """ '''this is the standard way to include a multiple-line comment in you code''' """this is the standard way to include a multiple-line comment in you code""" 2- 单行注释 # # t

计算机等级考试二级python 第二章 python的基本语法元素

知识导图 一.程序的格式框架 (一).什么是程序的格式框架? 既它的段落格式,是python程序设计语法中的一个部分,有助于提高代码的可读性和可维护性. 1.缩进 当在分支.循环.函数.类等语句时,若后面出现(:)时,后面的代码将要缩进. 提示: 缩进错误用“unexpected  indent”进行提示,说明代码缩进不匹配,需要查看所有缩进是否一样. 2.注释 注释是代码中的辅助性文字,不被编译器编译出来,不被计算机执行.用“#”在开头做标记. #注释第一行 3.续字符 由于代码过长,不便于程

第二章Python入门

第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码.为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容, 2.1.1.Python适合开发哪些类型的应用呢? 云计算 机器学习 科学运算 自动化运维 自动化测试 爬虫 数据分析 GUI图形化 Web开发等 2.1.2.P

machine learn in python 第二章2.1.1

1关于 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() data 的属性如下: 数据存储在.data项中 每个观察对象的种类存储在数据集的.target属性中 数据的特征的种类存储在数据集的.feature_names属性中. 2关于遍历问题 a:遍历不取item的序号i for item in sequence: process(item) b: for 

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

第二章 变量和数据类型

课时6:数据和数据类型 1.数据及数据类型 数据:指有用的信息 数据类型:对数据的分类 2.C#语言中的数据类型 Char字符类型 单个文字 (汉字,字母,数字,标点符号) 成对英文单引号表示 'A' string字符串类型 不限数量文字 (汉字,字母,数字,标点符号) 成对英文单引号示 "A" int整数类型 (简称整型) 表示一个整数 直接书写 100 double小数类型 表示包含小数点的数字 直接书写 1.1 课时7:认识变量 1.认识变量:一块存储数据的内存空间,并且该内存区

第二章python基础续

2.6基本数据类型--列表 列表的创建 list_test=['张三','李四','alex'] #或 list_test=list('alex') #或 list_test=list(['张三','李四','alex']) 列表的特点和常用操作 特性: 1.可存放多个值 2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序 3.可修改指定索引位置对应的值,可变 常规操作: #索引 >>> l = ['egon','alex','seven','yuan'] >>&

python 第二章

第二章 while 循环 # while -- 关键字(死循环) # while 条件 冒号 # 缩进 循环体 # 停止while要点击红色停止,不能只关闭窗口 while True: print("痒") print("鸡你太美") print("卡路里") print("好运来") while False: print("痒") print("鸡你太美") print("卡

第二章 Python入门

第一章计算机基础的部分,以后整理完后更新. 2.1 环境安装 学习python需要的环境(mac/windows): 解释器:py2\py3 开发工具:pycharm 2.2 编码 2.2.1 编码基础 常见编码: ascii (英语) unicode (内存中使用的编码,可以支持世界上任何语言符号.又称:万国码.由联合国组织定义) cse2 (以前常用的编码形式) cse4 (常用的编码形式) gbk (中文编码的一种,现在广泛被使用) gb2312 (中文编码的一种,比较旧的编码) utf

第二章 python基础(三)

第十六节 MySQLdb win64位安装python-mysqldb1.2.5 ubuntu下安装MySQLdb sudo apt-get install python-MySQLdb 导入MySQLdb库 import MySQLdb 创建数据库连接 conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="test",charset=&