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. static关键字的应用

    static关键字的应用:使用静态的变量可以实现   "累加" 的效果 package com.aff.statics; public class TestCircle { pub ...

  2. 小谢第7问:js前端如何实现大文件分片上传、上传进度、终止上传以及删除服务器文件?

    文件上传一般有两种方式:文件流上传和base64方式上传,毫无疑问,当进行大文件上传时候,转为base64是不现实的,因此用formData方式结合文件流,直接上传到服务器 本文主要结合vue的来讲解 ...

  3. 【JSP】el、jstl、MVC、三层架构

    JSP[Java Server Pages] [概念] java服务器页面 简化的servlet设计 html语法中扩展java 跨平台 JSP全名为Java Server Pages,中文名叫jav ...

  4. HashMap1.7和1.8,红黑树原理!

    jdk 1.7 概述 HashMap基于Map接口实现,元素以键值对的方式存储,并允许使用null键和null值,但只能有一个键作为null,因为key不允许重复,另外HashMap不能保证放入元素的 ...

  5. Java实现 LeetCode 830 较大分组的位置(暴力模拟)

    830. 较大分组的位置 在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组. 例如,在字符串 S = "abbxxxxzyy" 中,就含有 "a ...

  6. Java实现 蓝桥杯 算法提高 特等奖学金(暴力)

    试题 算法提高 特等奖学金 问题描述 土豪大学每年都会给学生颁发巨额的特等奖学金,当然,获奖的前提是要足够优秀.这所大学有n名学生,他们中的每个人都会在m门必修课的每门课上获得一个百分制的整数成绩(0 ...

  7. Java实现 蓝桥杯 算法训练 Anagrams问题

    算法训练 Anagrams问题 时间限制:1.0s 内存限制:512.0MB 问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相 ...

  8. Java实现 蓝桥杯 历届试题 小数第n位

    历届试题 小数第n位 时间限制:1.0s 内存限制:256.0MB 问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数. 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的 ...

  9. Java实现P2102 -- 正整数序列

    P2102 – 正整数序列 给定正整数n, 你的任务是用最少的操作次数把序列1,2,-,n中的所有数都变成0.每次操作可从序列中选择一个或多个整数, 同时减去一个相同的正整数.比如,1,2,3可以把2 ...

  10. Java实现 洛谷 P1421 小玉买文具

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = ...