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 之 数据类型初接触的更多相关文章

  1. 初接触BurpLoader工具

    初接触burp工具 菜鸟一枚,现在在接触一段时间测试,我在测试功能性的时候,想着网站被黑案例那么多,我是不是也应该弄弄安全性测试了,所以就有了下边的第一次接触BurpLoader工具来测试手机的app ...

  2. python 基本数据类型分析

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

  3. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

  4. 软工实践练习-Git初接触

    第一次听到Git,有点不知所云,听了实践课老师的讲解,才明白了Git作为最先进的分布式版本控制系统的重要性. 至于Git的安装和使用仍旧是自己摸索着去完成了,当然在这过程中也是遇到了很多的问题. 接下 ...

  5. vi初接触

    vi初接触 它有三种模式: 一 一般模式 二 编辑模式 三 命令行模式 介绍几种比较常用的吧 -- 退出:q 写入:w 强制:! (以上可叠加) 显示行号:set nu 取消:set nonu 跳转到 ...

  6. 闲聊之Python的数据类型 - 零基础入门学习Python005

    闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...

  7. 我和Python的第一次亲密接触 - 零基础入门学习Python001

    我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...

  8. python自学笔记(二)python基本数据类型之字符串处理

    一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...

  9. ExtJS初接触 —— 了解 Ext Core

    ExtJS初接触 —— 了解 Ext Core Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS ...

随机推荐

  1. [01]HTML基础之简单介绍

    1.前言 现如今科技进步,足不出户尽晓天下事,一转身便仿若隔世茫然.科技绽放时代,网络技术对人们的触变无疑是深远而重大的,隐于缤纷绚丽的网页背后,是前端的蜕变更新. 如今,随意点开页面,绚丽华彩的特效 ...

  2. PAT1065 单身狗 (25分) 思路记录——参考大神柳婼

    1065 单身狗 (25分)   “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ 50 000), ...

  3. Rocket - diplomacy - Node相关类

    https://mp.weixin.qq.com/s/BvK3He3GWon8ywG8Jdmcsg   介绍Node相关的类.   ​​   1. BaseNode   BaseNode是所有节点类的 ...

  4. 【RT-Thread笔记】BH1750软件包的使用

    BH1750简介 BH1750是一种用于两线制串行总线接口的16位数字型光强度传感器集成电路.利用它的高分辨率可以探测较大范围的光强度变化.(1lx~65535lx). 创建工程.验证 在RT-Thr ...

  5. Java实现 蓝桥杯 基础练习 闰年判断

    基础练习 闰年判断 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 年份是4的倍数而不是1 ...

  6. Java实现 蓝桥杯 算法训练 区间k大数

    算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二 ...

  7. Java实现 蓝桥杯VIP 算法提高 多项式输出

    算法提高 多项式输出 时间限制:1.0s 内存限制:512.0MB 问题描述 一元n 次多项式可用如下的表达式表示: f(x)=a[n]xn+a[n-1]x(n-1)+-+a[1]x+a[0], a[ ...

  8. java实现串逐位和(C++)

    给定一个由数字组成的字符串,我们希望得到它的各个数位的和. 比如:"368" 的诸位和是:17 这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案: int f(c ...

  9. Mac 制作 Linux 启动盘

    本文原始地址:https://sitoi.cn/posts/28583.html 前期准备 一个 Mac 电脑 一个 U 盘(8GB 以上) 下载好 Linux 系统镜像(iso 文件) 具体步骤 挂 ...

  10. K8S-PV和PVC的实践

    一.什么是PV和PVC? PV的全称是Persistent Volume,翻译过来为持久化存储卷,是对底层的共享存储的一种抽象,PV由管理员进行创建和配置,主要含存储能力.访问模式.存储类型.回收策略 ...