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 ...
随机推荐
- AtomicLong AtomicDouble AtomicInteger
Atomic+数字类型 大多都持有一个静态的Unsafe对象,通过unsafe 对属性在类对象的offset cas直接操作物理内存实现对数据的修改 public class AtomicLong e ...
- Elasticsearch到底哪点好?
少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 从今天开始准备给大家带来全新 ...
- Rocket - debug - DebugCustomXbar
https://mp.weixin.qq.com/s/7h9Bdb0x4_clyigMU_0B7Q 讨论DebugCustomXbar中的几个问题. 1. sources/sourceParams n ...
- 分布式事务专题笔记(一) 基础概念 与 CAP 理论
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.基础概念 1.什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是 ...
- Java实现 洛谷 采药
题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- Java实现 LeetCode 463 岛屿的周长
463. 岛屿的周长 给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域. 网格中的格子水平和垂直方向相连(对角线方向不相连).整个网格被水完全包围,但其中恰好有一个岛屿(或者 ...
- Java实现 LeetCode 113 路径总和 II
113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 给定如下二叉树,以及目标和 sum = ...
- Java中TreeSet的详细用法
第1部分 TreeSet介绍 TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合.它继承于AbstractSet抽象类,实现了NavigableSet, Clonea ...
- Java实现 LeetCode 34 在排序数组中查找元素的第一个和最后一个位置
在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n ...
- 【asp.net core 系列】5 布局页和静态资源
0. 前言 在之前的4篇的内容里,我们较为详细的介绍了路由以及控制器还有视图之间的关系.也就是说,系统如何从用户的HTTP请求解析到控制器里,然后在控制器里处理数据,并返回给视图,在视图中显示出来.这 ...