python 之 数据类型初接触
python 之 数据类型初接触
标准数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
1,整型, 2.浮点型,3.字符串, 4.列表,5.元组,6.字符串 一.)整型(int)
======================================基本使用======================================
1、用途:存qq号,手机号,不带字母的身份证号.整数型适用场景.. 2、定义方式
age = 18 age = int(18)
int('dsjfjdsf')
int('1.1') int只能转纯数字的字符串,小数点都不行 进制转换 其他进制转10进制
二进制转十进制 0,1
10 1*(2**1) + 0*(2**0) 2
八进制转十进制 0-7
235 2*(8**2) + 3*(8**1) + 5*(8**0)
十六进制转十进制 0-9 A-F
217 2*(16**2) + 1*(16**1) + 7*(16**0)
print(int('1100',2)) int可以传第一个参数,表示的是第一个参数到底是什么进制 然后转成十进制
print(int('14',8))
print(int('c',16)) 10进制转其他进制
10进制转二进制
print(bin(12)) 0b1100 0b表示后面的数字是二进制数
10进制转八进制
print(oct(12)) 0o14 0o表示后面的数字是八进制数 14 >>> 1*(8**1) + 4*(8**0))
10进制转16进制
print(hex(12)) 0xc 0x表示后面的数字是十六进制数 3、常用操作+内置的方法
======================================该类型总结====================================
存一个值
有序or无序
有序:但凡有索引的数据都是有序的
不可变 可变类型与不可变类型
"""
可变类型:值改变的情况下,id不变,说明你改的是原值
不可变类型:值改变的情况下,id一定变
"""
x = 10
print(id(x))
x = 11
print(id(x)) 二. 浮点型
用途:精准的标记,运算
作用:薪资 身高 体重
定义方式:
salary = 1.1 float(1.1)
res = float('1.11')
print(type(res))
*****字符串********字符串********字符串********字符串********字符串********字符串**
======================================基本使用======================================
三.字符串 1、用途:描述性数据
2、定义方式:'' , """ """ ,
s = 'hello baby' str('hello baby')
s1 = str([1,2,3,4])
print(type(s1))
s2 = str({'name':'jason','password':123})
print(type(s2)) 1、按索引取值(正向取+反向取) :只能取
s = 'hello big baby~'
print(s[0])
2、切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
左边的固定就是头,右边固定就是位 没有说按数字来分头尾
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('egon' in 'egon is dsb and egon is sb')
print('g' in 'egon is dsb and egon is sb')
print('jason' not in 'egon is dsb and egon is sb') 5、去掉字符串左右两边的字符strip,不管中间的
username = input('>>>:').strip()
if username == 'jason':
print('good job')
strip()默认去除字符串首尾的空格
使用内置的方法统一采用 句点符(.)
name1 = 'jason'
name2 = ' jason '.strip()
print(name1 == name2)
name3 = '$$$$$eg$on$$$$'
print(name3.strip('$')) name4 = '% ¥jason&*)'
print(name4.strip('% ¥)'))
调用字符串的方法并没有改变字符串本身 rstrip() lstrip()
name5 = '$$$$jason$$$$'
print(name5.lstrip('$')) left左边
print(name5.rstrip('$')) right右边 6、切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
data = 'jaso 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) 1、strip,lstrip,rstrip 2、lower,upper
s = 'JaS1oN'
res = s.lower()
print(res)
print(s)
print(s.upper())
print(s)
调用字符串的方法并没有改变字符串本身 3、startswith,endswith
s1 = 'egon is dsb'
print(s1.startswith('e')) 判断字符串是否以什么什么开头
print(s1.endswith('n')) 判断字符串是否以什么什么结尾 4、format的三种玩法(python推荐使用format做格式化输出)
第一种 按位置占位 跟%s原理一致
str1 = 'my name is {} my age is {}'.format('jason',18)
str1 = 'my name is {} my age is {}'.format(18,'jason',)
print(str1)
第二种 按索引占位
str1 = 'my {1} name is {0} my {0} age is {0}'.format('egon',18)
print(str1)
第三种 指名道姓占位(关键字传参)
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='jason',age=18)
print(str1) 5、split,rsplit
6、join
data = 'jason|123|handsome'
res_list = data.split('|')
print(res_list) res_str = '$'.join(res_list) 将容器类型中的多个元素通过指定字符拼接成一个字符串
print(res_str)
l = ['1','a','b']
res = '|'.join(l)
print(res) 7、replace
str = 'egon is dsb and egon is sb he has a BENZ'
res = str.replace('egon','kevin',1)
print(res)
print(str) 8、isdigit 判断字符串中包含的是否为纯数字
while True:
age = input('>>>:')
if age.isdigit():
age = int(age)
if age > 28:
print('阿姨好')
else:
print('你他妈的能不能好好输') l=[564,654,6549879,465,132,1,89,c ,8735,4]
l.append('asd') 1、find,rfind,index,rindex,count
s = 'kevin is dsb o and kevin 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 = 'jason'
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 sH10'
print(s12.capitalize()) Hello world 首字母大写
print(s12.swapcase()) 大小写互换
print(s12.title()) 每个单词的首字母大小 5、is数字系列
num1=b'4' bytes
num2=u'4' 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、常用操作+内置的方法
======================================该类型总结====================================
存一个值
有序(有序:但凡有索引的数据都是有序的)
不可变类型 l=[asd,654,56486,7,51,3,546,7,94,64]
l.append('5')
print(l)
作用:多个装备,多个爱好,多门课程,多个女朋友等 定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] 本质my_girl_friends=list([...])
或
l=list('abc')
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]
l1 = [99,88,77,66]
[11,22,33,44,55,99,88,77,66] 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)
list.extend
3、长度
print(len(l))
4、成员运算in和not in
print( 444 in l)
5、往列表中添加元素(******)
append
insert
extend 6、删除
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)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
- 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
- 2、一个变量可以通过赋值指向不同类型的对象。
- 3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
- 4、在混合计算时,Python会把整型转换成为浮点数。
# 装饰器 加餐 请问 打印顺序是什么???/ def outter3(fun3):
print(3) def inner(*args,**kwargs): print(33)
res=fun3(*args,**kwargs)
print(333)
return res
return inner 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 # out3(ou2)
@outter2 # out2(out1)
@outter1 # out1(ad)
def the_ad():
print('i am ad') the_ad() # 谜题揭晓 123 33 22 11 'I AM AD ' 111 222 333
python 之 数据类型初接触的更多相关文章
- 初接触BurpLoader工具
初接触burp工具 菜鸟一枚,现在在接触一段时间测试,我在测试功能性的时候,想着网站被黑案例那么多,我是不是也应该弄弄安全性测试了,所以就有了下边的第一次接触BurpLoader工具来测试手机的app ...
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 软工实践练习-Git初接触
第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...
- vi初接触
vi初接触 它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到 ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- 我和Python的第一次亲密接触 - 零基础入门学习Python001
我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- ExtJS初接触 —— 了解 Ext Core
ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...
随机推荐
- UDP和TCP 简单 区别
1.双方都是一种网络传输协议2.TCP需要建立连接,而UDP不需要建立连接(无连接传输)3.是否建立真实连接的特性,造成了双方可靠性的差距. @1 TCP属于可靠的传输协议:因为传输前双方建立好了连接 ...
- WebServer远程部署
通过远程部署获取webshell并不属于代码层次的漏洞,而是属于配置性错误漏洞. 1.Tomcat tomcat是一个jsp/Servlet容器 端口号:8080 攻击方法: 默认口令.弱口令,爆破, ...
- js规则和运算符
通过“+”号或toString()方法将数值转换成字符串. 通过parseInt()将字符串转换成整型. 通过parseFloat()将字符串转换成浮点型. charAt() 获取字符串特定索引处的字 ...
- 分布式事务专题笔记(三)分布式事务解决方案之TCC(三阶段提交)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.什么是TCC事务 TCC是Try.Confifirm.Cancel三个词语的缩写,TCC要求每个分支 ...
- Java实现 LeetCode 96 不同的二叉搜索树
96. 不同的二叉搜索树 给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 ...
- java实现 猜数字游戏
猜数字游戏 猜数字 很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜.每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了.下列的代码模拟了这个过程.其中用户充当甲的角色,计算机充当乙的角色. ...
- Linux vi使用技巧
导入命令执行结果:r !命令,例如:导入已经存在的文件内容到当前文件 导入命令执行的结果到当前文件 定义快捷键,map 快捷键 触发命令,例如:map ^P I#<ESC>(使用CRTL+ ...
- FTM-100DR、FTM-400DR、FTM-400XDR和DR-1X 连接MMDVM中继板接线图BG7IYN
- Django如何上传图片并对上传图片进行访问
通过一个示例的完整演示过程,来学习django如何上传图片,以及对于media文件夹中的上传图片进行请求: 1.配置settings.py MEDIA_URL = '/media/' MEDIA_RO ...
- Linux系统调用和ANSI C文件操作的区别
一.在Linux下对文件操作有两种方式:Linux系统调用和ANSI C文件操作. 1.Linux系统调用调用常用于I/O文件操作,系统调用常用的函数有open.close.read.write.ls ...