数据类型

一.数字

整形int

x=10 #x=int(10)
print(id(x),type(x),x)

浮点型float

salary=3.1 #salary=float(3.1)
print(id(salary),type(salary),salary)

二.字符串

name='hantao'
#按索引取值(正向取+反向取) :只能取
print(name[0],type(name[0]))
print((name[-1]))
# 切片(顾头不顾尾,步长)
print(name[1:3])
print(name[0:5:2])
print(name[5::-1])
# 长度len
print(len(name))
# 成员运算in和not in
msg='hellochantao'
print('hantao'in msg)
# 移除空白strip
passwd=' hantao123 '
print(passwd.strip())
passwd1='****hantao***'
print(passwd1.strip('*'))
print(passwd.lstrip())
print(passwd.rstrip())
# 切分split
user='hantao:liangchaowei:liudehua'
print(user.split(':'))
user.split('',1) #选定切分的数量
user.rsplit('',1) #从右侧切分
#判断开头结尾
msg='hantao_is_cool'
print(msg.startswith('han'))
print(msg.endswith('cool'))
#用replace替换
msg='hantao say i have a tesla,my name is hantao'
print(msg.replace('hantao','sb',1)) #替换,后面数字是替换数量
#format格式化
print('my name is %s,my age is %s'%('hantao',18))
print('my name is {},my age is {}'.format('hantao',18))
print('my name is {0},my age is {1}'.format('hantao',18))
print('my name is {a},my age is {b}'.format(a='hantao',b=18))
#查找
msg='hello world'
print(msg.find('hel'))
print(msg.index('o'))
print(msg.count('l',0,4))
#join连接
print(':'.join(['hantao', 'liangchaowei', 'liudehua'])) #必须是字符串放在一个列表中传入join
#填充
print('info'.center(30,'='))
print('info'.rjust(30,'='))
print('info'.ljust(30,'='))
print('info'.zfill(30))
#is数字系列
#在python3中
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字 #isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False #isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False #isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True #三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
'''
总结:
    最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
    如果要判断中文数字或罗马数字,则需要用到isnumeric
'''
#find,rfind,index,rindex,count
name='hantao say hello'
print(name.find('h',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
# print(name.index('h',2,4)) #同上,但是找不到会报错
print(name.count('h',1,3)) #顾头不顾尾,如果不指定范围则查找所有
#center,ljust,rjust,zfill
name='hantao'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充
#expandtabs  方法把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
name='egon\thello'
print(name)
print(name.expandtabs(1))
#captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
print(msg.title()) #每个单词的首字母大写
#is其他
print('===>')
name='hantao'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成 print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())

四.列表

# 按索引存取值(正向存取+反向存取):即可存也可以取
print(my_familly[2])
print(my_familly[-1])
# 切片(顾头不顾尾,步长)
print(my_familly[0:3])
print(my_familly[0:5:2])
print(my_familly[5::-1])
# 长度
print(len(my_familly))
# 成员运算in和not in
print('nep'in my_familly)
# 追加
my_familly.append('Corgi')
print(my_familly)
# 删除
goods=['apple','banana','pear']
del goods[-1]
print(goods.remove('apple')) #不返回删除值
print(goods.pop(1)) #按照索引删,默认末尾开始删,返回删除值
print(goods)
#其他
goods=['apple','banana','pear','banana']
# goods.insert(0,'sb') #具体插入的位置
# goods.extend(['meat','eggs'])
# print(goods.count('banana'))
# goods.reverse() #反转
# l=[2,4,6,1,-3]
# l.sort(reverse=True)
# print(l)
print(goods)

五.元祖

ages=(23,34,23,12)
# 按索引取值(正向取+反向取):只能取
print(ages[1])
# 切片(顾头不顾尾,步长)
print(ages[0:2])
# 长度
print(len(ages))
# 成员运算in和not in
print(23 in ages)
ages=(23,34,23,12)
print(ages.index(12)) #查找索引
print(ages.count(23)) #查找个数

小练习

'''
简单购物车,要求如下:
实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
'''
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
l = []
while True:
for key in msg_dic:
print(key,msg_dic[key])
goods=input('input your good:').strip()
if goods not in msg_dic:continue
while True:
counts=input('input the number:').strip()
if counts.isdigit():break l.append((goods,msg_dic[goods],counts))
print(l)

六.词典

info={'name':'egon','age':18,'sex':'male'}
# 按key存取值:可存可取
print(info['name'])
info['hobbies']=['eat','drink','sleep']
print(info)
# 长度len
print(len(info))
# 删除
print(info.pop('na1me',None))
# 键keys(),值values(),键值对items()
print(info.keys())
print(info.values())
print(info.items())
for item in info.items():
print(item)
info={'name':'egon','age':18,'sex':'male'}
print(info.get('name')) #取出value
print(info.get('na1me')) #返回None
print(info.popitem()) #随机删
t=['','','','']
a,*_,d=t #压缩赋值
print(a,d)
for a,b in info.items():
print(a,b)
info_new={'a':1,'b':3,'name':'hantao'}
info.update(info_new) #没有则新加,有则更新
print(info)
dic={}.fromkeys(['name','age','hobbies']) #初始字典
print(dic)
print(info.setdefault('age','')) #有则不改(且返回有的值),无则增
#字典推导式
d = {'A' : , 'B' : , 'C' : }
d_new={v:k for k,v in d.items()}

七.集合

'''
1:每个元素必须是不可变类型(可hash,可作为字典的key)
2: 没有重复的元素
3:无序
'''
#作用:去重,关系运算
s={1,2,'a'} #s=set({1,2,'a'})
s1={1,2,3}
s2={2,3,4}
# | 并集
s1|s2
s1.union(s2)
# & 交集
s1&s2
s1.intersection(s2)
s1.intersection_update(s2)
# - 差集
s1-s2
s1.difference(s2)
s1.sifference_update(s2)
# ^ 对称差集
s1^s2
s1.symmetric_difference(s2)
#父集
s1>=s2
s1.issuperset(s2)
#子集
s1<=s2
s1.issubset(s2)
s1={1,2,3,4,'a'}
# print(s1.pop()) #随机删,返回结果
# print(s1.remove(1)) #删元素,不返回值,元素不存在,报错
# s1.discard(1) #删元素,不返回值,元素不存在,不报错
s2={5,6}
print(s1.isdisjoint(s2)) #s1和s2没有交集,则返回True
# 有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
l1=[]
for i in l:
if i not in l1:l1.append(i)
print(l1)
#另一种集合的数据类型
s=forenset()

Python的数据类型和常用方法大全的更多相关文章

  1. python基础--数据类型的常用方法1

    1.数字类型 整型 用途:存qq号,手机号,不带字母的身份证号... 进制转换: 二进制转十进制:10 -->  1*(2**1) + 0*(2**0) 2 八进制转十进制:  235  --& ...

  2. Python读写EXCEL文件常用方法大全

    前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...

  3. python基础--数据类型的常用方法2

    列表及内置方法: count():查询元素的个数 clear():清空当前对象 reverse():对当前对象进行反转 sort():对当前对象中的元素进行排序 总结: 能存多个值 有序的 可变的 队 ...

  4. Python输入数据类型判断正确与否的函数大全(非常全)

      对于python输入数据类型判断正确与否的函数大致有三类: (1)type(),它的作用直接可以判断出数据的类型 (2)isinstance(),它可以判断任何一个数据与相应的数据类型是否一致,比 ...

  5. python基本数据类型常用方法

    python基本数据类型 1.整型 1.1 int 1.2 bit_lenght # 当前数字的二进制位数,至少用n位表示 r = age.bit_length() >>> a = ...

  6. python 基本数据类型分析

    在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...

  7. Python 爬虫的工具列表大全

    Python 爬虫的工具列表大全 这个列表包含与网页抓取和数据处理的Python库.网络 通用 urllib -网络库(stdlib). requests -网络库. grab – 网络库(基于pyc ...

  8. 【转】python文件和目录操作方法大全(含实例)

    python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块.方法,并列举了一个综合实例,需要的朋友可以参考下一.python ...

  9. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

随机推荐

  1. AD smart pdf 中文丢失

    Altium Designer将原理图通过smart pdf导出,原理图中的中文丢失了. 将原理图中的所有中文字体改为宋体即可. 百度知道上的也有说: 打开软件后,点击左上角的[DXP]→[Prefe ...

  2. 1 week110的zookeeper的安装 + zookeeper提供少量数据的存储

    随时查看,zookeeper企业里公认的最新文档版本!       https://archive.apache.org/dist/    下面是在weekend110上的zookeeper的安装 在 ...

  3. WPF InitializeComponent() 方法介绍

    namespace WindowsApplication1 { /// <summary> /// Interaction logic for Window1.xaml /// </ ...

  4. Woody的Python学习笔记3

    Python运算符 Python逻辑运算符 and布尔与-假设x为false.x and y返回false,否则它返回y的计算值. or 布尔或-假设x是true,它返回true.否则它返回y的计算值 ...

  5. css从中挖去一个圆

    始终居中: width: 300px; position: fixed; /*在可视区域的上下左右居中*/ top: calc(50vh - 200px); left: calc(50vw - 150 ...

  6. centos6安装系统时选包

    date: 2018-06-05   11:44:06 1,系统:minimal   2,包组:     Base System :  Base.Compatibility libraries.Deb ...

  7. 【BZOJ2982】combination Lucas定理

    [BZOJ2982]combination Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然, ...

  8. JQuery 操作数组 each、map、grep

    Jquery中对数组的操作大致有一下几种形式:1.$.each( collection, callback(indexInArray, valueOfElement) )$.each()函数和$(se ...

  9. Oracle涂抹oracle学习笔记第9章RMAN说,我能恢复

    RMAN中的恢复对应两个操作:数据库修复(restore)和数据库恢复(recover) 数据库修复(restore):是指利用备份集的数据文件来替换已经损坏的数据库文件或者将其恢复到一个新的位置.R ...

  10. SAS9.4安装

    安装教程请查看博客https://blog.csdn.net/qq_38960682/article/details/80567686 启动SAS时就报下面的错了:WARNING: 连接逻辑库“SAS ...