1.直入主题

python中基本的数据类型有

数字(整形,长整形,浮点型,复数)

  字符串

  字节串:在介绍字符编码时介绍字节bytes类型

  列表

  元组

  字典

  集合

下面我们直接将以下面几个点进行学习

#一:基本使用
1 用途 2 定义方式 3 常用操作+内置的方法 #二:该类型总结
1 存一个值or存多个值
只能存一个值
可以存多个值,值都可以是什么类型 2 有序or无序 3 可变or不可变
!!!可变:值变,id不变。可变==不可hash
!!!不可变:值变,id就变。不可变==可hash

2.常用方法总结

1.数字(常用就是表达一个值,没有专用的方法)

数字类型中(比如整形,浮点型等)

2.字符串

#常用作描述性质的数据
#定义:在单引号\双引号\三引号内,由一串字符组成 name = 'zhang san' #常用的字符串操作方法
#1按索引取值,只能去不能修改
char1 = name[0]#输出第一个元素
print(char1) #2.切片(顾头不顾尾)
# 输出从0-4的字符,不包括4这个索引对应的值,返回的是一个新的=字符串
char2 = name[0:4]
print(char2) #3.长度计算
print(len(name)) #4.成员运算in 和 not in
if 'z' in name:
print('我在')
else:
print('赶紧加我') #5.移除空白和指定的字符串,只能去除两边的空白和指定字符串,中间的去除不了
message = ' 我就是我 颜色不一样的烟火 '
print(message.strip())
test = '……&*&(&(&……这就是你们想的(*^*%^&%'
print(test.strip('……&*&(&(&……(*^*%^&%')) #6.大小写转换
print(name.lower())
print(name.upper())
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
print(name.title()) #每个单词的首字母大写 #7.判断字符串的开始和结束
print(name.startswith('zhang'))
print(name.endswith('g')) #8.格式化字符串的三种方法
res1 = '{} {} {}'.format('zhang','san','ni hao')
res2 = '{1} {0} {1}'.format('我就是我','你看啥','说你呢')
res3 = '{name} {age} {sex}'.format(sex='male',age=19,name='zhangsan')
print(res1)
print(res2)
print(res3) #9.字符串分割
res4 = '18|张三|男|上海科技学院|计算机科学与技术专业'
print(res4.split('|')) #10.拼接字符串,添加字符串分割符,在添加字符数组
res5 = '--'.join(res4.split('|'))
print(res5) #11.替换字符串,替换res4中的|为++,后面的参数还可以指定替换的次数
res6 = res4.replace('|','++')
print(res6) #12.判断是bytes和unicode类型,是最常用的用于判断字符是否为数字的方法
age = input('请输入年级>>:')
print(age.isdigit())
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成 #13.查找字符中特定字符出现的次数
print(name.count('z'))

3.列表

#常用作描述多个值
#定义:[]内,有多个任意值,逗号分隔 #1.按值索引 可以存也可以取
showList = ['我','就是','我','不一样','的','烟火']
print(showList[3])
showList[0] = '还有谁' #2.切片,[0:5:2],从0-5这六个元素按着步长为2获取
# 步长可以为负值,开始 结束都是可以省略的,步长为-1 就是反转列表
# 初始值 或者结束值省略都是默认从最前面或者到最后面
print(showList[0:5:2])
print(showList[::-1]) #3.列表的长度
print(len(showList)) #4.成员运算in和not in
print('haha' in showList) #5.列表中添加元素和删除元素
# 添加在列表最后
showList.append('哈哈哈')
print(showList)
#插入列表中的任意位置
showList.insert(3,'插入的数据')
print(showList) #6.删除
del showList[0] #这是一种通用的删除方式 res = showList.remove('哈哈哈') #单纯的删除 没有返回值
res1 = showList.pop()#默认是删除列表最后一个元素 返回删除的元素
res2 = showList.pop(2)#指定删除元素的位置 #7.循环
#没有索引值,要手动拿到索引值
for value in showList:
index = showList.index(value)
print(index,value)
#添加索引值和元素
for index,value in enumerate(showList):
print(index,value)

4.元祖

#一:tuple基本使用
# 用途:不可变的列表
# 定义方式:()内用逗号分隔开多个任意类型的元素
t=('a',1,3.3) #t=tuple(('a',1,3.3))
print(t,type(t)) t1=tuple('hello') # 任意可以被for循环的数据类型都可以被tuple转成元组
print(t1,type(t1)) # 常用操作+内置的方法
#优先掌握的操作:
#1、按索引取值(正向取+反向取):只能取
#2、切片(顾头不顾尾,步长)
t1=(1,2,3,4,5)
print(t1[0:3]) #3、长度
#4、成员运算in和not in #5、循环
for item in t1:
print(item) #二:该类型总结
# 多个值 # 有序 # 不可变:
# 元组可变指的元组内索引对应的内存地址不变
# 列表可变指的列表内索引对应的内存地址可以改变 l1=['a','b','c']
print(id(l1[0])) l1[0]='A'
print(id(l1[0])) t1=('a','b',[3.1,'bbb'])
print(id(t1[0]),id(t1[1]),id(t1[2])) t1[2][0]=3.2
print(id(t1[0]),id(t1[1]),id(t1[2]))
#
#
#
# # 需要掌握的操作:
t=('a','b','a','a') t.index('c')
print(t.index('a',5,7)) print(t.count('a'))

5.字典

#一:基本使用
# 用途:存多个种类不同的值
# 定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,key应该对value有描述性的功能
# 注意:value可以是任意类型,而key必须是不可变类型且唯一,
# 即字典的key可以是int、float、tuple、str,通常是字符串类型
d={3.1:1,(1,2,3):2222} #d=dict({3.1:1,(1,2,3):2222} )
print(d[(1,2,3)]) # 了解
d1=dict(x=1,y=2,z=3)
print(d1)
# 了解
d2=dict([('name','egon'),['age',18],('sex','male')])
print(d2) # 常用操作+内置的方法
#优先掌握的操作:
#1、按key存取值:可存可取
d={'name':'egon','age':18}
print(id(d))
d['name']='EGON'
print(id(d))
print(d) l=['a','b']
l[2]='c'
d={'name':'egon','age':18}
d['sex']='male'
print(d) #2、长度len
d={'name':'egon','age':18,'age':19,'age':20}
print(d)
print(len(d)) #3、成员运算in和not in:判断的是字典的key
d={'name':'egon','age':18}
print('name' in d) #4、删除
d={'name':'egon','age':18}
res=d.pop('sex',None)
print(res) res=d.pop('name',None) # 删除key对应的元素,返回的是value值
print(res)
print(d) #5、键keys(),值values(),键值对items()
#了解:python2中的格式
# >>> d={'name':'egon','age':18}
# >>>
# >>> d.keys()
# ['age', 'name']
# >>> d.values()
# [18, 'egon']
# >>>
# >>> d.items()
# [('age', 18), ('name', 'egon')] #python3中的格式
d={'name':'egon','age':18} # print(d.keys())
# print(d.values())
# print(d.items()) # print(list(d.keys()))
# print(list(d.values()))
# print(list(d.items())) #6、循环
d={'name':'egon','age':18}
# for k in d.keys():
# print(k) #
# for k in d:
# print(k,d[k]) # for v in d.values():
# print(v) # for k,v in d.items(): #k,v=('name', 'egon')
# print(k,v) #7:get取值
# d={'name':'egon','age':18}
# d['sex']
# res=d.get('sex',None)
# print(res) # res1=d.get('name',None)
# print(res1) #二:该类型总结
# 存多个值 # 无序 # 可变 # 需要掌握
d={'name':'egon','age':18} # res=d.popitem()
# print(d,res) # d.update({'x':1,'name':'EGON'}) # 老字典d没有的则添加,有的则以新字典为准进行修改
# print(d) # 了解 # d={'name':'egon','age':18}
# res1=d.setdefault('name','EGON') # 当key存在时,不修改值,会返回key对应的原值
# print(res1)
#
# res2=d.setdefault('sex','male') # 当key不存在时,则新增一个元素'sex':'male',会返回新增的value
# print(res2) # s='hello alex alex say hello sb sb'
# # {'hello':2,'alex':2,'say':1,'sb':2}
# d={}
# words=s.split()
#
# for word in words:
# print(word,words.count(word))
# # d[word]=words.count(word)
# d.setdefault(word,words.count(word)) #{'hello':2}
# print(d)
# items=('name','age','sex')
# dic=d.fromkeys(items,None)
# {'name':None,'age':None,'sex':None}
# print(dic) # dic={}
# for item in items:
# dic[item]=None
# print(dic)

6.集合

#作用:去重,关系运算,

#定义:
知识点回顾
可变类型是不可hash类型
不可变类型是可hash类型 #定义集合:
集合:可以包含多个元素,用逗号分割,
集合的元素遵循三个原则:
1:每个元素必须是不可变类型(可hash,可作为字典的key)
2:没有重复的元素
3:无序 注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
#优先掌握的操作:
#1、长度len
#2、成员运算in和not in #3、|合集
#4、&交集
#5、-差集
#6、^对称差集
#7、==
#8、父集:>,>=
#9、子集:<,<=
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
# 求出即报名python又报名linux课程的学员名字集合
print(pythons & linuxs)
# 求出所有报名的学生名字集合
print(pythons | linuxs)
# 求出只报名python课程的学员名字
print(pythons - linuxs)
# 求出没有同时这两门课程的学员名字集合
print(pythons ^ linuxs)
去重
showlist=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
] #去重,无需保持原来的顺序
l=['a','b',1,'a','a']
print(set(l)) #去重,并保持原来的顺序
#方法一:不用集合
l=[1,'a','b',1,'a'] l1=[]
for i in l:
if i not in l1:
l1.append(i)
print(l1)
#方法二:借助集合
l1=[]
s=set()
for i in l:
if i not in s:
s.add(i)
l1.append(i) print(l1) #同上方法二,去除文件中重复的行
import os
with open('db.txt','r',encoding='utf-8') as read_f,\
open('.db.txt.swap','w',encoding='utf-8') as write_f:
s=set()
for line in read_f:
if line not in s:
s.add(line)
write_f.write(line)
os.remove('db.txt')
os.rename('.db.txt.swap','db.txt') #列表中元素为可变类型时,去重,并且保持原来顺序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
# print(set(l)) #报错:unhashable type: 'dict'
s=set()
l1=[]
for item in l:
val=(item['name'],item['age'],item['sex'])
if val not in s:
s.add(val)
l1.append(item) print(l1) #定义函数,既可以针对可以hash类型又可以针对不可hash类型
def func(items,key=None):
s=set()
for item in items:
val=item if key is None else key(item)
if val not in s:
s.add(val)
yield item print(list(func(l,key=lambda dic:(dic['name'],dic['age'],dic['sex']))))

python学习第二天-基本数据类型常用方法的更多相关文章

  1. Python 学习 第二篇:数据类型(字符串)

    字符串是一个字符的.有序的.不可变的序列,用于存储基于文本的信息.字符串所包含的字符存在从左至右的位置顺序,不可以在原处(in-place)修改.Python没有C语言的字符和字符串之分,只有字符串. ...

  2. python学习第二次笔记

    python学习第二次记录 1.格式化输出 name = input('请输入姓名') age = input('请输入年龄') height = input('请输入身高') msg = " ...

  3. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  4. python学习第二讲,pythonIDE介绍以及配置使用

    目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...

  5. Python学习-第二天-字符串和常用数据结构

    Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...

  6. python学习第二天 -----2019年4月17日

    第二周-第02章节-Python3.5-模块初识 #!/usr/bin/env python #-*- coding:utf-8 _*- """ @author:chen ...

  7. Python学习第二节——基础知识

    # !/usr/bin/edv python    脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它.# -*- coding:UTF-8 -*-    标明编码注释 ...

  8. Python学习笔记:02数据类型

    Python 数据类型 python中标准的数据类型有 基础类型 整型(长整型) 浮点型 复数型 布尔型 序列类型 字符串 列表 元组 字典 整型 整型和长整型并不严格区分,整型int的表达范围和计算 ...

  9. Python学习(一)——数据类型

    在大学学过一点python,只学了语法,关于实际应用却没怎么用过.现在用一些python的脚本来模拟webservices,挺好用的.这个语言,还是要好好学习学习了. 目前看着教材来的,这本教材,好像 ...

随机推荐

  1. 【转载】jquery实现勾选复选框触发事件给input赋值+回显复选框

    引用:https://blog.csdn.net/rui276933335/article/details/45717461 JSP: <td class="as1"> ...

  2. Win7配置express4环境

    本机环境: $ node -v v10.14.1 $ npm -v 6.4.1 配置node环境变量: #配置全局安装目录 npm config set prefix "G:\WEB\nod ...

  3. django_ORM学生管理系统

    一.新建django项目准备工作 CMD新建项目命令:django-admin startproject [项目名称] pycharm的project目录里新建app命令:python manage. ...

  4. 第3天 Java基础语法

    第3天 Java基础语法 今日内容介绍 引用数据数据类型(Scanner.Random) 流程控制语句(if.for.while.dowhile.break.continue) 引用数据类型 Scan ...

  5. 佛山Uber优步司机奖励政策(1月11日~1月17日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. 苏州Uber人民优步奖励政策

    人民优步(People's Uber)资费标准 起步价(Base Fare):¥0.00 每公里(Per KM):¥1.65 每分钟(Per Min):¥0.30 最低价(Min Fare):¥9.0 ...

  7. 【LG1527】[国家集训队]矩阵乘法

    [LG1527][国家集训队]矩阵乘法 题面 洛谷 题解 我也不知道为什么取个这样的名字... 其实就是区间\(kth\)扩展到二维 还是用整体二分搞啦,把树状数组换成二维的 其他的基本没有什么差别 ...

  8. CF 1042 E. Vasya and Magic Matrix

    E. Vasya and Magic Matrix http://codeforces.com/contest/1042/problem/E 题意: 一个n*m的矩阵,每个位置有一个元素,给定一个起点 ...

  9. CDN 缓存策略(转)

    1.CDN加速原理    通过动态域名解析,网友的请求被分配到离自己最快的服务器.CDN服务器直接返回缓存文件或通过专线代理原站的内容.    网络加速+内容缓存,有效提供访问速度 2.CDN节点数量 ...

  10. redis 类型、方法

    之前使用redis,现在对所有redis方法做一个总结: string类型 形式:key=>value; 说明:最简单的类型:一个key对应一个value,value保存的类型是二进制安全的,s ...