python基础--数据类型的常用方法1
1、数字类型
整型
用途:存qq号,手机号,不带字母的身份证号...
进制转换:
二进制转十进制:10 --> 1*(2**1) + 0*(2**0) 2
八进制转十进制: 235 --> 2*(8**2) + 3*(8**1) + 5*(8**0)
十六进制转十进制:217 --> 2*(16**2) + 1*(16**1) + 7*(16**0)
int可以可以传一个参数,表示的是第一个参数到底是什么类型的,然后转成十进制的。
十进制转二进制: print(bin(12)) --> 0b1100 0b表示后面的数字是二进制数
十进制转八进制: print(oct(12)) --> 0o14 0o表示后面的数字是八进制数 14 >>> 1*(8**1) + 4*(8**0))
十进制转十六进制: print(hex(12)) --> 0xc 0x表示后面的数字是十六进制数
总结:
存一个值、不可变(可变:只改变的情况下,id不变,说明你改的是原值 不可变:只改变的情况下id一定变)、有序:但凡有索引的数据都是有序的
浮点型
用途:薪资、身高、体重
2、字符类型及内置方法
用途:描述性
定义方式:单引号、双引号、三引号 --> s = 'hello baby' # str('hello baby')
常用操作及内置方法:
1、按索引取值(正向取+反向取) :只能取
# s = 'hello big baby~'
# print(s[0])
2、切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
左边的固定就是头,右边固定就是位 没有说按数字来分头尾
s = 'hello world i am a baby'
print(s[0:5]) # hello
print(s[0:10:1]) # hello 步长不写默认是1
print(s[0:10:2]) # 步长表示隔几个取一个
#了解负数取值
print(s[-1])
print(s[0:5:-2]) # 切片取值默认是从左往右的
print(s[5:0:-1]) # 切片取值默认是从左往右的
print(s[-1:-10:-1])
3、长度len:统计的是字符串中字符的个数
s1 = ' '
print(len(s1))
#4、成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中
print('wiliam' in 'william is dsb and william is sb')
print('g' in 'john is dsb and john is sb')
print('john' not in 'john is dsb and john is sb')
5、去掉字符串左右两边的字符strip,不管中间的
username = input('>>>:').strip()
if username == 'william':
print('good job')
# strip()默认去除字符串首尾的空格
# 使用内置的方法统一采用 句点符(.)
name1 = 'william'
name2 = ' william '.strip()
print(name1 == name2)
name3 = '$$$$$will$iam$$$$'
print(name3.strip('$'))
# 了解即可
name4 = '% ¥#william&*)'
print(name4.strip('% ¥#)'))
# rstrip() lstrip()
name5 = '$$$$william$$$$'
print(name5.lstrip('$')) # left左边
print(name5.rstrip('$')) # right右边
6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
data = 'william n|123| handsome'
print(data.split('|'))
username,password,info = data.split('|')
print(username,password,info)
# 强调:split切分出来的数据类型是一个列表
print(data.split('o')) # 切割的顺序其实从左往右的
print(data.split('o',1)) # 切割的顺序其实从左往右的
print(data.rsplit('o',1)) # 切割的顺序其实从左往右的
# 如果不指定那么split和rsplit效果是一样
7、循环
for i in data:
print(i)
需要掌握的:
2、lower,upper
s = 'WiLL1Iam'
res = s.lower()
print(res)
print(s)
print(s.upper())
print(s)
# 调用字符串的方法并没有改变字符串本身
3、startswith,endswith
s1 = 'john is dsb'
print(s1.startswith('e')) # 判断字符串是否以什么什么开头
print(s1.endswith('n')) # 判断字符串是否以什么什么结尾
4、format的三种玩法(python推荐使用format做格式化输出)
# 第一种 按位置占位 跟%s原理一致
str1 = 'my name is {} my age is {}'.format('william',18)
str1 = 'my name is {} my age is {}'.format(18,'william',)
print(str1)
# 第二种 按索引占位
str1 = 'my {1} name is {0} my {0} age is {0}'.format('william',18)
print(str1)
# 第三种 指名道姓占位(关键字传参)
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='wililam',age=18)
print(str1)
6、join
data = 'william|123|william'
res_list = data.split('|')
print(res_list)
#
res_str = '$'.join(res_list) # 将容器类型中的多个元素通过指定字符拼接成一个字符串
print(res_str)
l = ['','a','b']
res = '|'.join(l)
print(res)
7、replace
str = 'john is dsb and john is sb he has a BENZ'
res = str.replace('william','john',1)
print(res)
print(str)
8、isdigit # 判断字符串中包含的是否为纯数字
while True:
age = input('>>>:')
if age.isdigit():
age = int(age)
if age > 28:
print('阿姨好')
else:
print('你他妈的能不能好好输')
需要了解的内置方法:
1、find,rfind,index,rindex,count
s = 'william is dsb o and william is sb'
print(s.find('dsb')) # 返回的是d字符所在的索引值
print(s.find('xxx')) # 找不到的时候不报错返回的是-1
print(s.find('i',0,3)) # 还可以通过索引来限制查找范围
print(s.index('o')) # 返回所传字符所在的索引值
print(s.index('i',0,3)) # 返回所传字符所在的索引值
print(s.count('n')) # 统计字符出现的次数
2、center,ljust,rjust,zfill
s9 = 'william'
print(s9.center(12,'*'))
print(s9.ljust(40,'$'))
print(s9.rjust(40,'$'))
print(s9.rjust(40,' '))
print(s9.zfill(40))
3、expandtabs
s10 = 'a\tbc'
print(s10.expandtabs(100))
4、captalize,swapcase,title
s12 = 'hElLo WoRLD wililam'
print(s12.capitalize()) # Hello world 首字母大写
print(s12.swapcase()) # 大小写互换
print(s12.title()) # 每个单词的首字母大小
#5、is数字系列
num1=b'' #bytes
num2=u'' #unicode,python3中无需加u就是unicode
num3='壹' #中文数字
num4='Ⅳ' #罗马数字
# ''.isnumeric(): unicode,中文数字,罗马数字 只要是表示数字都识别
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric()) # ''.isdecimal(): unicode 只识别普通的阿拉伯数字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal()) # ''.isdigit() :bytes,unicode 通常情况下使用isdigit就已经满足需求了
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())
总结:
只能存一个值、有序(但凡有索引的数据都是有序的)、不可变类型
3、列表类型及内置方法
定义:[]内可以有多个任意类型的值,逗号分隔
l1=list({'name':'jason','password':'123'})
print(l1)
list内部原理就是for循环取值 然后一个个塞到列表中去
常用操作:
1、按索引存取值(正向存取+反向存取):即可存也可以取
l = [1,2,3,4]
print(l[0:4:1])
print(l[0::])
print(l[5::-1])
print(id(l))
l[0] = 69
print(id(l))
print(l)
2、切片(顾头不顾尾,步长)
l = [11,22,33,44,55]
print(l[0:3])
3、添加
1.尾部添加一个66
l.append(66) # 注意append值能将被添加的数据当作列表的一个元素
print(l) # 2.任意位置添加元素
l.insert(2,96) # 通过索引在任意位置添加元素
print(l) # 注意insert值能将被添加的数据当作列表的一个元素 # 3.添加容器类型数据
l.append(l1)
l.insert(-1,l1)
l.extend(l1) # 内部原理for循环l1一个个追加到列表的尾部
l.extend([1,])
print(l)
4、删除
print(l)
del l[2] # del适用于所有的删除操作
print(l) res1 = l.pop() # 尾部弹出
res2 = l.pop()
res3 = l.pop()
print(res1,res2,res3) res1 = l.pop(0) # 可以指定索引 按照索引弹出元素
print(res1) res = l.remove(33) # 指定要删除的元素的值
print(l)
print(res) s = 'haha'
print(s)
del s
print(s)
7、循环
for i in l:
print(i)
python基础--数据类型的常用方法1的更多相关文章
- python基础--数据类型的常用方法2
列表及内置方法: count():查询元素的个数 clear():清空当前对象 reverse():对当前对象进行反转 sort():对当前对象中的元素进行排序 总结: 能存多个值 有序的 可变的 队 ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- 1--Python 入门--Python基础数据类型
一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
随机推荐
- ES6数组对象新增方法
1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...
- php中Sessions
PHP Sessions Session 中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息. PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会 ...
- 菜鸟nginx源码剖析数据结构篇(八) 缓冲区链表ngx_chain_t[转]
菜鸟nginx源码剖析数据结构篇(八) 缓冲区链表 ngx_chain_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.c ...
- Linux下c开发 之 线程通信
Linux下c开发 之 线程通信 1.Linux“线程” 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型.Linux是一种“多进程单线程”的操作系统.Linux本身 ...
- 使用 Vue.js 和 Chart.js 制作绚丽多彩的图表
本文作者:Jakub Juszczak 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58e5e0e1a58c240ae35b ...
- 黑裙晖安装后修改mac和sn
d当前使用6.2 打开putty sudo -i 然后在/tmp目录下创建一个临时目录,名字随意,如:boot mkdir -p /tmp/boot 第四步:切换到dev目录 cd /dev 第五步: ...
- 数据库备份还原——mysqlbackup与mysqldump对比测试
1 环境描述 1.1 硬件环境 服务器类型:华为RH5885 IP: 10.148.128.100 内存: 64G 物理CPU个数:4 CPU核数:8 逻辑CPU个数:64 Int ...
- vue 使用QRcode生成二维码或在线生成二维码
参考:https://blog.csdn.net/zhuswy/article/details/80267748 1.安装qrcode.js npm install qrcodejs2 --save ...
- Java开源诊断工具 Arthas 发布v3.1.0
Arthas 自2018年9月份上线以来「传送门」,已收获近万个star,感谢开发者们的认可.此次Arthas 3.1.0版本的发布,不仅带来大家投票出来的新LOGO,还带来强大的新功能和更好的易用性 ...
- 分布式事务中间件 Fescar—RM 模块源码解读
前言 在SOA.微服务架构流行的年代,许多复杂业务上需要支持多资源占用场景,而在分布式系统中因为某个资源不足而导致其它资源占用回滚的系统设计一直是个难点.我所在的团队也遇到了这个问题,为解决这个问题上 ...