Python变量类型

news/2025/2/8 16:56:31 标签: list, dict, tuple, set, str
stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

变量类型

  • 关键字
  • 严格意义上来讲python只有一个类型
  • 标准数据类型6种
    • 数字
      • 整数
      • 浮点数
      • 科学计数法
      • 复数
    • 字符串
      • 三引号可以表示多行,单双引号默认一行
    • None类型
      • None表示没有,通常用来占位
    • 运算符
      • 加减乘跟数学一致
      • 普通除(/)整除(//)取余(%)
      • 所有运算符都可以缩写(+=,-=,/=,//=,%=,**=等)
      • 逻辑与and逻辑或or逻辑非not
    • 列表
    • 元组
    • 字典
    • 集合
#查看关键字
import keyword
print(keyword.kwlist)
dir(keyword)

#三种声明方式
age=19
age1=age2=age3=18
age4,age5,age6=1,2,3
print(id(age1),id(age2))

字符串

  • 转义字符:反斜杠\
  • 不同系统对换行操作有不同的表示
    • Windows:\n
    • Linux:\r\n
  • 格式化
    • 使用%进行格式化
    • format
  • str内置函数
    • 字符串查找类:find,index,rfind,lfind
    • 判断类函数:islower,isupper,isalpha,isdecimal,isdigit,isnumeric
    • 内容判断类:startswith,endswith
    • 操作类函数:format,strip,lstrip,rstrip,join,split,replace
#换行
print(string">"I am Lisa.\nAnd you")

#单个斜杠的用法
#在python里,单个反斜杠表示此行未结束,出于每个,需要下一行继续
def myDemo(x, \
          y, \
          z):
    print(string">"hahahah")
    return None

myDemo(1,2,4)

#格式化
s=string">"I love %s"
print(s%string">"六种")

s=string">"{}{}".format(string">"ddd",string">"dd")
print(s)

s=string">"{1}{0}".format(string">"ddd",string">"ff")
print(s)

s=string">"{0}{0}".format(string">"ddd")
print(s)

s=string">"我们是{school_name},我们的网址是{url},{teacher}最帅"
print(s.format(school_name=string">"hh",url=string">"www",teacher=string">"haha"))

s_dict={string">"school_name":string">"北京",\
        string">"url":string">"www",\
        string">"teacher":string">"haha"}
print(s.format(**s_dict))# **解包操作

print(string">"{:.2f}kg,{:.2f}m".format(45,1.58))

#str内置函数
s=string">"liu ze hua shi ge da ben dan ma?liu ze hua bu shi"
s1=string">"ze"
print(s.find(s1,30))
print(s.index(s1))

s=string">"liu zhe"
print(s.startswith(string">"l"))

s1=string">"&"
ss=[string">"a",string">"b",string">"c",string">"d",string">"e"]
print(s1.join(ss))

在这里插入图片描述

列表

  • 常见操作
    • 访问:索引
    • 切片:截取
    • 遍历:for/while
    • 列表内涵:list content(生成式)
  • 常用函数
    • len(),max(),list()
    • 列表末尾追加:list.append();两个列表相加:list.extend()
    • 指定位置插入(耗资源):list.insert(0,“bbb”)
    • del:删除;pop:将最后一个元素从列表取出【根据下标,默认最后一个】;remove:在列表中删除指定的值的元素【根据值】,list.remove(‘bbb’);clear:清空,list.clear()
    • list.reverse(),翻转;list.count(‘b’),list.copy(),浅拷贝;list.index(),根据值查找索引;list.sort(),应用在原列表;sorted(list),生成新的列表
#切片
s=string">"liu ze hua"
l=list(s)
print(type(s))
print(l)
print(l[0:4])
print(l[:4])
print(l[::2])

#删除
del l[0]
print(l)

#列表相加
a=[string">'a',string">'b']
b=[4,5]
c=[string">'5',4]
d=a+b+c
e=a*5
print(d,e)

#成员检测
print(string">'k'in e)
print(4 not in d)

#列表生成式
f=[i*2 for i in d]
print(f)
g=[i for i in range(1,35)]
h=[i for i in g if i%2==0]
print(h)

#列表拷贝
k=h
h.insert(5,99)
print(k,h)
j=h.copy()
j.insert(5,99)
print(j,h)

在这里插入图片描述

元组

  • 一个不允许更改的列表
  • 分片操作:索引,切片可超标
  • 成员检测:in
  • 元组遍历:for
  • 有序列表
  • list处理可修改外,元组都具有
  • 函数
#切片
s=(100,200,string">"sba")
print(s[:-1])
s1=(100,29,string">"sba")
s2=(30,45)
s3=s2*2
s=s1+s2+s3
print(s)

#成员检测
print(string">"sba" in s)

#多层循环
ta=((13,1,3),(string">"a",string">"b",string">"c"),(3,1,5))
for i in ta:
    print(i)
    for j in i:
        print(j)

#单层循环
for i,j,k in ta:
    print(i,j,k)

#函数
ta=[3,1,2,1,5]
print(ta.count(1))
print(ta.index(1))

#变量交换
a=100
b=string">"wang"
print(a,b)
a,b=b,a
print(a,b)

在这里插入图片描述

集合

  • 创建:set(),大括号
  • 集合无序,无法使用切片和索引
  • 遍历:for
  • 集合生成式:{i for i in j}
  • 内置函数:len(),max(),min(),add(),remove(),discard(),pop()
  • frozenset 冰冻集合,不允许修改
#创建集合
a=set([1,2,3,1,2,3])
print(a)

b={1,2,3,4,5,1}
print(b)
print(type(b))

#成员检测
print(299 in b)

#遍历
for i in b:
    print(i)
sa={(1,23,4),(3,4,5),(string">"i",string">"love",string">"i")}
for i,j,k in sa:
    print(i,j,k)

#集合生成式
sb={i**2 for i in b if i % 2==0}
print(sb)

sc={i*j for i in range(0,3) for j in range(1,4)}
sk=[i*j for i in range(0,3) for j in range(1,4) ]
print(sc)
print(sk)

#函数
print(b.add(299))
#print(b.update('abc'))将abc拆分为a,b,c后放入b
print(max(b))
b.remove(299)#无返回值,没有299报错
b.discard(299)#无返回值,没有299不报错
print(b)
print(b.pop())
print(sb.intersection(sa))
print(sb.difference(sa))
print(sb-sa)
print(sb.union(sa))#sb+sa不可用

#冰冻集合
sa=frozenset({string">"I love you"})
print(sa)

在这里插入图片描述

字典

  • 无顺序的组合数据,以键值对形式出现
  • 序列类型,但无序,无切片和索引
  • 字典键必须是可哈希的值,比如int,string,float,tuple。不可以是list,dict,set。字典值可以是任何值
  • 常见操作
    • 访问:dict[key];删除:del dict[key];成员检测:in/not in,检测的是key是否存在
    • 遍历:参考案例
    • 字典生成式
    • 函数:len(),max(),min(),dict(),dict.clear(),dict.items(),dict.keys(),dict.values(),dict.get(key)
    • fromkeys:使用指定的序列作为键,使用一个值作为字典的所有键的值
#创建字典
a={}
b=dict()
c=dict({string">'one':1,string">'too':2})
d=dict(one=1,too=2)
e=dict({(string">'one',1),(string">'too',2)})

#访问
for k in d:
    print(k,d[k])

for k in d.keys():
    print(k,d[k])
    
for v in d.values():
    print(v)
    
for k,v in d.items():
    print(k,string">'--',v)

#函数   
print(d.get(string">'one',100))
print(d.get(string">'w',100))

#成员检测
e={k:v for k,v in d.items() if v%2==0}
print(e)

#创建多个键对应一个值的字典
l=[string">'k',string">'v',string">'z']
d=dict.fromkeys(l,string">'hahaha')
print(d)

在这里插入图片描述


http://www.niftyadmin.cn/n/1376591.html

相关文章

surface pro app

fresh paintpotplayer acg播放器 http://potplayer.daum.net/?langzh_CNnebooneNoteGesture Signxodo pdf reader and editor

阮一峰 ES6

阮一峰 ES6:http://es6.ruanyifeng.com/#docs/module转载于:https://www.cnblogs.com/bydzhangxiaowei/p/9947078.html

线性回归模型

一元线性回归模型的介绍与应用 一元线性回归模型 回归方程形式:,i1,2,...n,其中需满足以下四个假设条件 a.正态性假设,即是服从正态分布的随机变量 b.无偏性假设,即E()0 c.同方差性假设,即所有的方差都相同&#…

java工具类Collections

Collections的常用方法1. sort(list,comparator)sort(list)在使用时,集合中的对象要可序列化,即实现comparable方法或者传入一个已知类型的比较器对象,默认调用的是compareTo()方法2. shuffle(list) 将元素进行随机排列,使顺…

vue引用百度地图,drawingManager.setDrawingMode不能接受参数,否则会报错

直接上部分代码: 引用百度地图后,没报错,但是鼠标绘制线路时报错: // 绘制点线 this.drawingManager new window.BMapLib.DrawingManager(this.map, { isOpen: true, //是否开启绘制模式 //enableDrawingTool: true, //是否显示…

11. Container With Most Water

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多…

核心基础(二)--进制转化以及字符串和格式化

如何表示二进制、八进制和十六进制 二进制:数值前面加0b八进制:数值前面加0o十六进制:数值前面加0x二进制转换函数:bin-->二进制转换函数;int-->十进制转换函数;hex-->十六进制转换函数&#xff…

全能系统监控工具dstat

一、什么是dstat?通过man帮助,可以看到官方对dstat的定义为:多功能系统资源统计生成工具( versatile tool for generating system resource statistics)。在获取的信息上有点类似于top、free、iostat、vmstat等多个工具…