一、数据类型介绍

1.字符串(string)

三种类型:单引号,双引号,三引号

a = 'jam'
b = "JamHsiao"
c = '''JAMHSIAO'''
print(type(a),type(b),type(c))

注意:字符串只能与字符串相加

a = 'Jam'
b = "Hsiao"
print(a+b)

2.整型(int)

a = 30
print(type(a))

3.浮点型(float)

a = 30.0
print(type(a))  

4.元组(tuple)里面可以是任意数据类型

t1 = (1,2,[1,2],(1,2,3))
print(type(t1))  

5.列表(list)里面同元组一样,可以是任意数据类型

l1 = [1,2,[1,2],(1,2,3)]
print(type(l1))

6.字典(dict)在记录一个人的姓名、身高、年龄等的时候使用,以关键字和数值组合的类型

info = {'name':'萧敬腾',    #每行结束必须有',',key和walue之间用':'连接
'age':32,
'high':171
}
print(type(info))

7.集合(set)l里面可以是出列表之外的任意数据类型

s1 = {1,2,'h','a',(1,2,3)}
print(type(info))

8.布尔(bool)

print(type(True))
print(type(False))

二、数据类型详解

1.字符串详解

  1.1isupper:判断字符串是否是大写

str1='HELLO,WORLD'
print(str1.isupper())

  1.2islower:判断字符串是否是小写

str1='hello,world'
print(str1.islower())

  1.3isspace:判断字符串是否是纯空格

str1='  '
print(str1.isspace()) 

  1.4isdigit:判断字符串是否是整型

str1='330'
print(str1.isdigit())

  1.5isalnum:判断字符串是否是数字或字母(不能有特殊字符)

str1='jamhsiao0330'
print(str1.isalnum()) 

  1.6isalpha:判断字符串是否是纯字母(不能有特殊字符)

str1='jamhsiao'
print(str1.isalpha())

  1.7istitle:判断字符串是否是抬头(标题)

str1='Hello,World'
print(str1.istitle())

  1.8title:把字符串变成抬头(标题)

str1='hello,world'
print(str1.title())

  1.9upper:把字符串变成大写

str1='hello,world'
print(str1.upper())

  1.10lower:把字符串变成小写

str1='HELLO,WORLD'
print(str1.lower())

  1.11startswith:判断开头是否是'He'

str1='Hello,World'
print(str1.startswith('He'))

  1.12endswith:判断结尾是否是'ld'

str1='Hello,World'
print(str1.endswith('ld'))

  1.13index:取字符串的下标,如果没有会报错

str1='Hello,World'
print(str1.index('l'))
print(str1.index('a'))

  1.14find:取字符串的下标,如果没有会返回-1

str1='Hello,World'
print(str1.find('l'))
print(str1.find('a')) 

  1.15count:统计有多少个'l'这样的字符

str1='Hello,World'
print(str1.count('l'))

  1.16replace:替换字符'o'为'A',且只替换一次

str1='Hello,World'
print(str1.replace('l','m',2)) #'l'表示原字符,‘m’表示替换字符,‘2’表示替换次数

  1.17join:把一个迭代对象(元组,列表,字符串,字典)替换成字符串 

str1=''
str2='|'
print(''.join('jamhsiao')) #join前面的str1,str2表示分隔符
print(str2.join('jamhsiao'))

  1.18split:把一个字符串从左到右切分成列表

str1='192.168.1.112'
print(str1.split('.',2)) #.表示以.为分隔符,2表示分割2次

  1.19rsplit:把一个字符串从右往左切分成列表

str1='192.168.1.112'
print(str1.rsplit('.',2))

  1.20strip:去除字符串左右两边的特殊字符

str1="=====hello,world====="
print(str1.strip('='))

  1.21rstrip:去除字符串右边的特殊字符

str1="=====hello,world====="
print(str1.rstrip('='))

  1.22lstrip:去除字符串左边的特殊字符

str1="=====hello,world====="
print(str1.lstrip('='))

  1.23format:格式化

str1='my name is {},my age is {}'
print(str1.format('janhsiao',32))
str2="my name is {2},my age is {0}"
print(str2.format(32,'','jamhsiao'))
str3='''my name is {name},my age is {age}'''
print(str3.format(name='jamhsiao',age=32))

  1.24%s,%d,%f格式化

str1='my name is %s,my age is %s'
print(str1 % ('jamhsiao',32)) #%前后有空格,表示分隔符

  1.25切片

str1='hello,world'
print(str1[2]) #取下标为2的字符
print(str1[2:5])     #取下标2-4的字符,顾头不顾尾
print(str1[2:])     #不包括2往左的字符都去除
print(str1[:2])     #包括2往右的字符都去除
print(str1[::2])     #每隔两个字符取一次

  1.26拼接

str1='jam'
str2='hsiao'
print(str1+str2)

  1.27单引号,双引号和三引号的任意切换

str1="it's a cute dog"
str1='''"it's a cute dog"'''

2.列表详解

  2.1sort:排序,数据类型要相同,按数字、字母、汉字进行排序

l1=['1','a','c','f','b','萧敬腾','狮子','3','2']
l1.sort()
print(l1)

  2.2clear:清除,清空列表里的所有元素

l1=['1','a','c','f','b','萧敬腾','狮子','3','2']
l1.clear()
print(l1)

  2.3reverse倒序

l1=['1','a','c','f','b','萧敬腾','狮子','3','2']
l1.reverse()
print(l1)

  2.4copy:复制一个列表

l1=['1','a','c','f','b','萧敬腾','狮子','3','2']
print(l1.copy()) 

  2.5insert:在索引或下标为3的地方插入一个元素

l1=['1','a','c','f','b','萧敬腾','狮子','3','2']
l1.insert(3,'JAM')
print(l1) 

  2.6append:在列表最后添加一个元素

l1=['1','a','c','f','b','萧敬腾','狮子','3','2']
l1.append('JAM')
print(l1)

  2.7extend:在列表中添加元组、列表中的单个元素(字典纸循环key)

l1=['萧敬腾','狮子']
l1.extend('JAM')
l1.extend([8,9])
l1.extend(('h','j'))
l1.extend({'name':'teng','age':'32'})
print(l1) #['萧敬腾', '狮子', 'J', 'A', 'M', 8, 9, 'h', 'j', 'name', 'age'

  2.8remove:删除指定元素,一次只能删除一个元素

l1=['萧敬腾','狮子']
l1.remove('狮子')
print(l1)

  2.9pop:取出指定元素,原元素消失

l1=['萧敬腾','狮子']
l1.pop(1) #以下标或索引取
print(l1)

  2.10count:统计列表中'1'的个数

l1=['萧敬腾','狮子','狮子']
print(l1.count('狮子'))

  2.11index:获取下标

l1=['jam','jamhsiao','hsiao']
print(l1.index('jam')  

  2.12切片

l1=['jam','jamhsiao','hsiao','a','b','1']
print(l1[3])
print(l1[1:3])
print(l1[2:])
print(l1[:2])
print(l1[::2]

  2.13利用下标改值

l1=['jam','jamhsiao','hsiao','a','b','1']
l1[3]='name'
print(l1)

3.字典详解

  3.1pop取出字典元素,原元素消失,通过key取value

info={'name':'萧敬腾',
'age':32,
'high':171,
'weigh':110
}
print(info.pop('name'))
print(info.pop('high'))

  3.2clear:清空

info={'name':'萧敬腾',
'age':32,
'high':171,
'weigh':110
}
info.clear()
print(info)

  3.3popitem:取出key_value,从最后一个取,一次只能取出一个,以元组的形式输出

info={'name':'萧敬腾',
'age':32,
'high':171,
'weigh':110
}
print(info.popitem())
print(info.popitem())

  3.4setdefault:设置默认值,没有的情况下才会被应用,通过key判断,而不是value

info={'name':'萧敬腾',
'age':32,
'high':171,
'weigh':110
}
print(info.setdefault('name','jamhsiao'))
print(info.setdefault('name1','jamhsiao'))

  3.5values:列出所有的value

print(info.values())

  

  3.6keys:列出所有的key

print(info.keys())

  3.7items:列出所有的key_value,以元组的形式输出

print(info.items())

  3.8update:合并,相同的替换,不同的原样输出

info={'name':'萧敬腾',
'age':32,
'high':171,
'weigh':110
}
info1={'name':'jamhsiao',
'age':32,
'gender':'handsome',
'fav':'music'
}
info.update(info1)
print(info)  

  3.9fromkeys:快速定义一个新的字典

print({}.fromkeys(('name','age','gender','high','weigh'),None))

  3.10get:取值,没有输出None,不能赋值

info1={'name':'jamhsiao',
'age':32,
'gender':'handsome',
'fav':'music'
}
print(info1.get('name'))
print(info1.get('hhh')

  3.11取值,没有索引,可以赋值,没有会报错

info1={'name':'jamhsiao',
'age':32,
'gender':'handsome',
'fav':'music'
}
print(info1['name'])
info1['name']='萧敬腾'
print(info1)

4.元组详解

大多数元组只能用来读,不用来修改;在相同的元素下,列表占用的资源会比元组大,因为列表的功能大

  4.1有下标或索引

t1=('a','b','c','3',4,'3')
print(t1.index('b'))
print(t1.count('3'))  

  4.2取值

t1=('a','b','c','3',4)
print(t1[3])
print(t1[2:3])
print(t1[:2])
print(t1[2:])
print(t1[::2])

5.集合详解(不常用到)

集合特点:无序,不重复

  5.1pop随机取出数据

s1={1,2,3,4,5,(1,2,3)}
print(s1.pop())

  5.2intersection:交集

s1={1,2,3,4,5,(1,2,3)}
s2={1,2,3,4,5,6,7,8,9}
print(s1.intersection(s2))

  5.3union并集

s1={1,2,3,4,5,(1,2,3)}
s2={1,2,3,4,5,6,7,8,9}
print(s1.union(s2))

  5.4difference差集(注意基准)

s1={1,2,3,4,5,(1,2,3)}
s2={1,2,3,4,5,6,7,8,9}
print(s1.difference(s2)) #以s2为基准
print(s2.difference(s1)) #以s1为基准

6.布尔详解

0、None、空格都为假,其余都为真

a = 10
b = 20
print(a>b)
print(a<b) a = ''
if a:
print('ok')
else:
print('不ok') a = 0
if a:
print('ok')
else:
print('不ok') a = None
if a:
print('ok') else:
print('不ok')

7.转换

  7.1str转换成字符串  

a = 330
print(str(a))
print(type(str(a)))

  7.2int转换成整型

a = 330.30
print(int(a))
print(type(int(a)))

  7.3list截取为列表

s1={1,2,3,4,5,6,7} print(list(s1)) print(type(list(s1)))

  

python数据类型及其详解的更多相关文章

  1. Python函数参数详解

    Python函数参数详解 形参与实参 什么是形参 在定义函数阶段定义的参数称之为形式参数,简称形参,相当于变量名. 什么是实参 在调用函数阶段传入的值称为实际参数,简称实参.相当于"变量值& ...

  2. 《python开发技术详解》|百度网盘免费下载|Python开发入门篇

    <python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...

  3. python之struct详解

    python之struct详解 2018-05-23 18:20:29 醉小义 阅读数 20115更多 分类专栏: python   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议 ...

  4. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息.        ...

  5. python time模块详解

    python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明  一.简介 ...

  6. Python中dict详解

    from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...

  7. Python开发技术详解(视频+源码+文档)

    Python, 是一种面向对象.直译式计算机程序设计语言.Python语法简捷而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结 ...

  8. python/ORM操作详解

    一.python/ORM操作详解 ===================增==================== models.UserInfo.objects.create(title='alex ...

  9. 【python进阶】详解元类及其应用2

    前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...

随机推荐

  1. Azure CosmosDB (13) CosmosDB数据建模

    <Windows Azure Platform 系列文章目录> 我们在使用NoSQL的时候,如Azure Cosmos DB,可以非常快速的查询非结构化,或半结构化的数据.我们需要花一些时 ...

  2. fatal: could not read Username for 'https://git.dev.tencent.com' 解决方法

    在使用webhook自动部署时测试出现此问题,通过以下方法粗暴解决: vim .git/config 文件,在remote "origin"  url中加入帐号密码,如图所示,格式 ...

  3. @Transactional的正确打开方式

    经常用到事务管理,可还是不小心会写错,导致事务没有生效,这里总结下. 正确的代码例子如下所示,框架是使用spring+mybatis的,有些配置的就不贴出来了. TestController2: pa ...

  4. C#和.Net的关系

    1..net(dot net) .net是一个平台,抽象的平台概念. 实现形式是库:①定义了基本的类型(通用类型系统CTS,common type system).   ②包含.net公共语言运行库( ...

  5. altera DDR2 ip使用笔记之IP核生成

    IP核生成 Quartus生成DDR2 ip流程如下: 点击菜单栏的Tools->MegaWizard Plug-In Manager,弹出  选择IP类型,保持路径即文件名等,如下图  点击n ...

  6. java 调用c# web api 代码

    上次我们写的.net  web api 给对方公司的java团队调用,他们觉得说java无法调用.net 写的api ,靠居然有这事,索性自己写一个java的demo给他们 使用apache的Http ...

  7. 树莓派做下载服务器 aria2 篇

    一开始要运行一下配置,扩大树莓派的根目录的空间,不然所有软件装完之后空间会只剩几百兆. sudo raspi-config 扩展根目录空间, 开启 SSH ,修改 pi 密码. 另外要提一下,树莓派默 ...

  8. JS 实现兼容浏览器报警提示声音

    <!DOCTYPE HTML> <head> <title>JS实现报警提示音</title> <meta http-equiv="co ...

  9. Oracle 生成Guid;Oracle 生成多个Guid;Oracle 生成带''-"的Guid

    Oracle 生成Guid select sys_guid() from dual Oracle 生成多个Guid Oracle 生成带''-"的Guid , ) , ) || '-' || ...

  10. idea Invalid bound statement (not found):

    一次 诡异的 idea Invalid bound statement (not found): 配置文件: mybatis.mapper-locations=classpath:mapper/*.x ...