运算符

一.算数运算:

二.比较运算:

三.赋值运算

四.逻辑运算

五.成员运算

基本数据类型

一.Number(数字)

Python3中支持int、float、bool、complex。

使用内置的type()函数查询变量类型。

>>> a,b,c,d = 1,2.0,True,3+4j

>>> print(type(a),type(b),type(c),type(d))

int(整型)

在python2中整数类型有两种一个是int,表示整型,一种是long,表示长整型。而在python3中整数类型只有int,没有限制大小,但是由于内存有限得原因,所以我们使用的整型不可能是无限大的。

在python2中整型大小的限制

在32为系统上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64为系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

python2中,当没有超过这个范围的时候是int类型,当超过这个范围的时候就是long类型。

整型的表现形式有四种,分别是二进制(0b开头),八进制(0o开头),十进制,十六进制(0x开头),进制之间的转换可以使用python中的内置函数(bin、oct、int、hex)。

#10进制转2进制

>>> bin(32)'0b100000'

#10进制转8进制

>>> oct(32)'0o40'

#10进制转16进制

>>> hex(32)'0x20'

#2进制转10进制

>>> int('0b00100000',2)32

#2进制转8进制

>>>oct(0b00100000)'0o40'

#2进制转16进制

>>>hex(0b00100000)'0x20'

#8进制转10进制

>>> int('0o40',8)32

#8进制转2进制

>>>bin(0o40)'0b100000'

#8进制转16进制

>>>hex(0o40)'0x20'

#16进制转10进制

>>> int('0x20',16)32

#16进制转2进制

>>> bin(0x20)'0b100000'

#16进制转8进制

>>> oct(0x20)'0o40'

二.布尔值

布尔值很简单,就是真和假,1为真0为假(进行判断的时候除了数字0为假,其它数字都为真)

三.字符串(str)

1.字符串的创建

我们的第一串代码hello world就是字符串类型的。

a = 'hello world'

Python中的字符串通常使用单引号(‘’)或者双引号(“”)括起来,在字符串中可以使用反斜杠(\)进行转义,可以使用+好将两个字符串连接起来。

>>> a = 'alexsel'

>>> b = "ld000001"

>>> c = a +b>>> print(a,b,c)

alexsel ld000001 alexselld000001

2.字符串的常用功能

分割

长度

索引

切片

#字符串分割

>>> aa="alexsel and alenten"

>>> print(aa.split("al"))

['', 'exsel and', 'enten']>>> aa="alexandalenten"

>>> print(aa.split("e"))

['al', 'xandal', 'nt', 'n']"""检索到规定字符删除并在那个地方进行分割,在这是检索字符串里的每一个而不是第一个,如果只需对第一个进行分割,只需在自己所规定的检索字符串后加上一个1(最多分割1次)

aa.rsplit从右向左检索"""

#字符串长度

>>> a = 'alexsel'

>>> a.__len__()7

>>>len(a)7

#索引

>>> a = 'alexsel'

>>> a[3]'x'

>>> az="alex,ala"

>>> print(az.capitalize())#首字母变为大写这个括号里没有就是无参数

Alex,ala>>> al="alex"

>>> ret =al.count("l") #检索在al这个整个字符串里i出现了多少次

>>> print(ret)1

#切片

>>> a = 'alexsel'

>>> a[0:2] #拿到索引大于等于0小于2的字符,索引从零开始

'al'

#字母小写变大写,大写变小写

>>> aa="a sdf AAA"

>>> print(aa.swapcase()

A SDF aaa#判断是否全为数字

... lj="666"

>>> print(lj.isdigit())

True>>> lj="5s55s"

>>> print(lj.isdigit())

False>>> lj="aaa"

>>> print(lj.isdigit())

False#判断字符串是否为字母

... aa="8a8a8a"

>>> print(aa.isalpha())#F

False>>> aa="aaa"

>>> print(aa.isalpha())#T

True>>> aa="111"

>>> print(aa.isalpha())#F

False#判断字符串是否只包含字母和数字

... lj="sdfasdfsd"

>>> print(lj.isalnum())#T

True>>> lj="Ssss"

>>> print(lj.isalnum())#T

True>>> lj="555555"

>>> print(lj.isalnum())#T

True>>> lj="!aaa"

>>> print(lj.isalnum())#F

False#判断字符串是否为空格

... lj=" "

>>> print(lj.isspace())#T

True>>> lj="Ssss"

>>> print(lj.isspace())#F

False>>> lj="\t"

>>> print(lj.isspace())#T

True>>> lj="\n"

>>> print(lj.isspace())#T

True

View Code

3.字符串特有功能

去除两边空白

是否以什么开头

查找子序列

将字符串的某个子序列替换为指定的值

变大写

判断字符串是否和某个字符串一样

#移除两边空白,无参数时移除两侧空格,换行符

>>> aa="a sdf"

>>> print(aa.strip())

a sdf>>> #有参数时移除两侧指定的字符

... bb = "**aaa**"

>>> print(aa.strip('*'))

a sdf#是否以什么开头

>>> aa = "Alexsel"

>>> aa.startswith("A")

True#查找子序列

>>> a="jjfjjmldhzf"

>>> print(a.find("f")) #找到变量a这个字符串中的第一个f的索引

2

>>> print(a.find("j"))

0>>> print(a.find("a"))#如果没有找到就返回-1

-1

>>> print(a.find("dhzf"))#返回的是第一个字符的索引

7

#变大写

>>> aa = "alexsel"

>>> print(aa.upper())

ALEXSEL#is#判断字符串是否为字母

... aa="8a8a8a"

>>> print(aa.isalpha())

False>>> aa="aaa"

>>> print(aa.isalpha())

True>>> aa="111"

>>> print(aa.isalpha())

False>>>

>>> #判断是否为数字

... lj="666"

>>> print(lj.isdigit())

True>>> lj="5s55s"

>>> print(lj.isdigit())

False>>> lj="aaa"

>>> print(lj.isdigit())

False#判断是否全为小写字母

... lj="sdfasdfsd"

>>> print(lj.islower())

True>>> lj="Ssss"

>>> print(lj.islower())

False>>> lj="555555"

>>> print(lj.islower())

False>>>

#判断字符串是否只包含字母和数字

... lj="sdfasdfsd"

>>> print(lj.isalnum())

True>>> lj="Ssss"

>>> print(lj.isalnum())

True>>> lj="555555"

>>> print(lj.isalnum())

True>>> lj="!aaa"

>>> print(lj.isalnum())

False>>>

#判断字符串是否为空格

lj=" "

print(lj.isspace())

lj="Ssss"

print(lj.isspace())

lj="\t"

print(lj.isspace())

lj="\n"

print(lj.isspace())

View Code

四.列表(List)

Python最常用的数据类型就是列表,在列表中的的数据类型可以不同,而且可以多层嵌套数据。

列表的格式,列表是写在[]中,使用逗号(,)进行元素间的分割。

1.创建列表

li=[11,22,33]

li=list()#创建一个空的列表

li=list([11,22,33])

2、转换

字符串、字典、元组都可以转换为列表

>>> s1 = '李璐'

>>> li =list(s1)>>> print(li)

['李', '璐']#s1可以是可迭代的数据,而且在转换时自动迭代转换为列表将循环的每一个元素,当作列表的元素

#元组转换为列表

>>> dic=("k1",123123,"alex",123)>>> li =list(dic)>>> print(li)

['k1', 123123, 'alex', 123]#字典转换为列表

>>> dic = {'k1':123,'k2':'alexsel','k3':'buff'}>>> li =list(dic)>>> print(li)#只输出key(键),字典默认循环时,循环的就是key

['k1', 'k2', 'k3']>>> ll = list(dic.values())#dic.values,获取dic的键的值

>>> print(ll)

[123, 'alexsel', 'buff']>>> lo = list(dic.items())#dic.items,获取dic的键值对

>>> print(lo)

[('k1', 123), ('k2', 'alexsel'), ('k3', 'buff')]

3.列表常用功能

索引

切片

长度

......

name_list=["alex","brain","rain"]#索引

>>>print(name_list[0])#输出第一个字符串

alexsel#切片

>>>print(name_list[0:2])#输出索引为0,1的字符串

['alex', 'brain']#len

>>>print(name_list[2:len(name_list)])#在这里是输出序号为2的字符串

['rain']

4.列表特有功能

排序

追加

插入

移除

个数

扩展

反转

#排序#此函数方法对列表内容进行正向排序,排序后的新列表会覆盖原列表,也就是sort排序方法是#直接修改原列表list排序方法。

l=[4,2,3,1]

l.sort()print(l) #[1,2,3,4]

#追加

... name=["asdf","asdfsdf","sssdfs"]>>> name.append("lslslslsl")>>> print(name)

['asdf', 'asdfsdf', 'sssdfs', 'lslslslsl']#在最后追加一个字符串

#插入

>>> name=["asdf","asdfsdf","sssdfs"]>>> print(name.index("sssdfs"))2

>>> name.insert(name.index("asdf"),"aaa")>>> print(name)

['aaa', 'asdf', 'asdfsdf', 'sssdfs']>>> name.insert(2,"aaa")>>> print(name)

['aaa', 'asdf', 'aaa', 'asdfsdf', 'sssdfs']>>> #在相应索引号(序号)插入字符串,序号在前,字符串在后name.index(1,'aaa')

#移除

>>> name=["asdf","asdfsdf","sssdfs"]>>> ai=name.pop(0)>>> print(name)

['asdfsdf', 'sssdfs']>>> print(ai)

asdf>>> ai=name.pop()>>> print(name)

['asdfsdf']>>> print(ai)

sssdfs#移除相应序号的字符串,如果不加序号就移除最后1个字符串#而且在执行移除命令时还可以把移除的字符串赋值给其它的变量

#个数统计

>>> name=["asdf","asdfsdf","sssdfs"]>>> print(name.count("asdf"))1

#统计匹配的字符串有多少个,最小匹配单位为一个字符串不是字符

#扩展字符串内容

>>> name=["asdf","asdfsdf","sssdfs"]>>> name.append("lslslslsl")#将sssdfs字符串作为最后一个元素扩充到name里面

>>> print(name)

['asdf', 'asdfsdf', 'sssdfs', 'lslslslsl']>>> print(name.count("asdf"))1

>>> kali=[111,555,999]>>> name.extend(kali)#扩充,将kali里的元素(迭代的)添加到name中,依次添加在后面

>>> print(name)

['asdf', 'asdfsdf', 'sssdfs', 'lslslslsl', 111, 555, 999]#对字符串的内容进行倒置,反转

>>> name=["asdf","asdfsdf","sssdfs"]>>>name.reverse()>>> print(name)#将元素的位置反转

['sssdfs', 'asdfsdf', 'asdf']

View Code

5.嵌套

>>> li=["alex",123,{"k1":"v1","k2":{"vv":("zzz",22,333),"ii":444}}]>>> zz=li[2] #将li中索引为2的元素赋值给zz

>>> aa=zz.get("k2") #将字典zz的key为k2的值赋给aa

>>> aal=aa.get("vv") #将字典aa中key为vv的值赋值给aal

>>> aaa=aal[2] #将aal中索引为2的元素赋值给aaa

>>> print(li[2]["k2"]["vv"][2])333

>>> print(aaa)333

五、元组(tuple)

元组合列表类似,但是元组中的元素一旦定义了就不能就行修改。

元祖的格式,元祖使用一个括号括起来,元素之间的分割是用逗号(,),元组中也可以存放不同类型的数据。

1.创建元组

t=(11,22,33)

t=tuple((11,22,33))

2.转换

字符串、列表以及字典都可以转换为元组

>>> name = 'alexsel'

>>> li = ['all',123]>>> dic = {'k1':'alic','k2':'naan'}>>> print(tuple(name))#输出的时候将字符串单个字符作为一个元素迭代输出

('a', 'l', 'e', 'x', 's', 'e', 'l')>>> print(li)

['all', 123]>>> print(tuple(dic),tuple(dic.values()),tuple(dic.items()))

('k1', 'k2') ('alic', 'naan') (('k1', 'alic'), ('k2', 'naan'))#这里字典的输出规则和列表的一样

3.常用功能

索引

长度

切片

...

>>> name_sss=("liudi","balabala","bulabula")#索引输出

>>> print(name_sss[0])

liudi#len

>>> print(name_sss[len(name_sss)-1])#输出索引数为长度减一的元素,就是最后一个元素

bulabula#切片

>>> print(name_sss[0:1])

('liudi',)

4.元组特有功能

个数

索引位置

>>> tup = ('alexsel',123123,'uuuttt')#检索个数

>>> print(tup.count('alex')) #最小匹配单位是一个元素

0>>> print(tup.count('alexsel'))1

#返回某个元素的索引

>>> print(tup.index(123123))1

>>> print(tup.index('uuuttt'))

5.嵌套

t=(11,22,33)

t=((11,22,33))

t=(11,22,["alex",{"k1":"v1"}])

6.元组的特性

元组的特性是不可修改,元素不可修改,但是元素中包含的元素可以修改

>>> t=(11,22,["alexsel",{"k1":"k2"}])>>> print(t)

(11, 22, ['alexsel', {'k1': 'k2'}])>>> t[2].append("sss") #对元组中的列表里添加元素

>>> print(t)

(11, 22, ['alexsel', {'k1': 'k2'}, 'sss'])>>> t[2][1].setdefault("k2","v3") #或用update或t[2][1]["k3"]=123,添加键值对

'v3'

>>> print(t)

(11, 22, ['alexsel', {'k1': 'k2', 'k2': 'v3'}, 'sss'])>>>

六、字典

Python中一个比较特别的数据类型,字典中的数据是映射的关系,一个键(key)映射一个或多个值(value),使用{}来进行标识,字典是一个无序的键值对的集合,而且一个字典中的间(key)是唯一的,不能重复。

1.创建字典

>>> a={"k1":123}>>> b = dict(k3=123,k2=456)>>> print(a)

{'k1': 123}>>> print(b)

{'k3': 123, 'k2': 456}

用列表创建字典时不能直接加到字典里需要通过enumerate。

>>> le=[11,22,44]#dic=dict[le] #使用这个会报错

>>>dictea=dict(enumerate(le)) #需要通过enumerate拿到每个元素的索引

>>> print(dictea) #然后将索引作为key,le中的元素作为值创建字典

{0: 11, 1: 22, 2: 44}

2.字典常用功能

字典中没有切片,因为字典中的键值对的键(key)就是相应值的索引,相当于自定义了每个指的索引。

索引

新增

删除

键、值、键值对

长度

#通过索引拿到值

>>> user={"name":"zz","age":99,"brain":0}>>> print(user["name"])

zz#通过for循环输出键,值

>>>

>>> user={"name":"zz","age":99,"brain":0}>>> for i in user: #i 拿到的是key,通过 i 拿到值

... print(i,user[i])

...

name zz

age99brain 0#通过get拿到相应key的值

>>> user={"name":"zz","age":99,"brain":0}>>> val=user.get("age")>>> print(val)99

>>> val=user.get("age11") #没哟这个键,所以输出None

>>> print(val)

None>>> val=user.get("age")>>> print(val)99

>>> val=user.get("age11",99)#如果不存在在后面加上值就可以赋值给值

>>> print(val)99

>>> val=user.get("age11","ooo")#如果不存在在后面加上值就可以赋值给值

>>> print(val)

ooo>>> print(val)

ooo#删除

>>> user={"name":"zz","age":99,"brain":0}>>> print(user.pop("name"))#输出所删除的键值对的值

zz>>> print(user)#输出字典

{'age': 99, 'brain': 0}>>> user={"name":"zz","age":99,"brain":0}>>> print(user.popitem())#输出所删除的字符(无参数就从最后一个参数开始删除)

('brain', 0) #删除的是一个元素,所以输出的时候就输出键和值

>>> print(user)#输出字典的内容

{'name': 'zz', 'age': 99}#新增

>>> user={"name":"zz","age":99,"brain":0}>>> print(user)

{'name': 'zz', 'age': 99, 'brain': 0}>>> item={"a1":123,"a2":456}>>> user.update(item)#将item的字典更新(链接到user后面)

>>> print(user)

{'name': 'zz', 'age': 99, 'brain': 0, 'a1': 123, 'a2': 456}

View Code

3.另一种方式创建字典

示例一

>>> a1 = {"keys":1111}>>> aa = a1.fromkeys(["key","keys2"], 123)>>> print(aa)#结果{'key': 123, 'keys2': 123}

{'key': 123, 'keys2': 123}>>> n=dict.fromkeys(["k1","k2","k3"],[])>>> print(n)

{'k1': [], 'k2': [], 'k3': []}"""用这个方法创建的字典在对键追加值时,会对所有的键进行追加,因为他们在内存里公用一个[],而不用这个方法创建时就不会出现这个情况"""

示例二

>>> n["k1"].append("s") #append在后面追加一个参数

>>> n["k2"]=456

>>> print(n)

{'k1': ['s', 's'], 'k2': 456, 'k3': ['s', 's']}>>>

>>> n2={"k1":[],"k2":[],"k3":[]}>>> print(n2)

{'k1': [], 'k2': [], 'k3': []}>>> n2["k1"].append("s")>>> print(n2)

{'k1': ['s'], 'k2': [], 'k3': []} #不使用fromkeys创建的时候不会出现对每一个键都追加

今天python的数据类型的介绍就到这里了,终于可以睡个安稳觉了,明天继续。

人生苦短,我用Python。

python中bd是什么属性_Python学习:4.运算符以及数据类型解析相关推荐

  1. python中bd是什么属性_python数据类型及其特有方法

    一.运算符 in方法 "hello" in "abcdefghijklmnopqrstuvwxyz" "li" in ["gg&q ...

  2. python中监控错误的语句_Python学习_07_错误、异常

    地毯式地过语法终于快要结束了... Python中的常见异常 1.NameError:尝试访问一个未初始化的变量 2. ZeroDivisionError:除数为0 3. SyntaxError:Py ...

  3. python中bd是什么属性_聊一聊:Python中对象的属性

    作者:Vamei 出处:http://www.cnblogs.com/vamei Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的 ...

  4. python中for和while区别_Python学习第九篇——while和for的区别

    1 pets = ['dog','cat','dog','goldfish','cat','rabbit','cat']2 print(pets)3 for pet inpets:4 print(pe ...

  5. python中bd是什么属性_bd2.1 Python 基础-基础语法

    Python2 中相对路径的 import 会导致标准库导入变得困难(想象一下,同一目录下有file.py,如何同时导入这个文件和标准库file). Python3 中这一点将被修改,如果还需要导入同 ...

  6. python整数类型的表示字母_Python学习笔记之基本数据类型-Number

    变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数据类型,这些变量就可以存储整 ...

  7. python中plot函数的属性_Python matplotlib 学习-绘图函数

    1 所使用函数说明 (1) plot函数 plt.plot(x,y,ls='--',lw =2,label='text') 参数说明 ● x:x轴上的数值. ● y:y轴上的数值. ● ls:折线图的 ...

  8. python中什么是按位取反_Python学习中的“按位取反”笔记总结

    |疑惑 最近在学习Python的过程中了解到位运算符,但对于按位取反有点迷糊,就比如说~9(按位取反)之后的结果是-10,为什么不是6呢?所以下面就来看看为什么不是6,正确结果是如何计算出来的呢? 敲 ...

  9. python中图例legend标签内容_Python学习第87课-数据可视化之图形标识title、label、legend...

    [每天几分钟,从零入门python编程的世界!] 第86课我们学习了matplotlib,并且用它画了一个简单的图形,但是这个图形上面没有标题,没有标明x轴和y轴,而且用于画这个图形的数据都是我们手动 ...

最新文章

  1. 【精华】【经典】自动化循环操作方法当前网页方法,可以用于本地化AI智能自动抓取网页资源信息,类似爬虫功能
  2. 核心路由器聚焦三大关键点
  3. 利用原生js 如何实现div移动?
  4. linux磁盘、分区、设备简单介绍
  5. 后台开发人员面试内容——数据库(二)
  6. seo优化闲了吧----第一回目
  7. Android开发:4-2、不同Activity数据的传递
  8. 在页脚里显示本页统计数据_外卖营业统计里的数据您能看懂吗?
  9. Android10apk怎么传数据,Android不同apk之间传递参数与数据
  10. wildfly ejb开发环境搭建(一):wildfly安装及数据源配置
  11. DIY多快充协议太阳能充电器!----BOOST升压电路
  12. Arcgis Server服务中rest服务和wms服务的对应关系
  13. PPT幻灯片放映计时器
  14. python循环结构高一信息技术会考_高一信息技术会考样题及参考答案
  15. python如何计算概率事件_「条件概率公式」scikit-learn机器学习(五)--条件概率,全概率和贝叶斯定理及python实现 - seo实验室...
  16. 工作问题:SQL求解用户复购率
  17. 传播动力学--SIR模型及其应用
  18. 英语四六级听力真题模拟题
  19. checkBox 选中 移除
  20. nslookup blog.csdn.net Can't resolve blog.csdn.net

热门文章

  1. caged系统pdf_基因的功能冗余-生态学杂志.PDF
  2. Windows系统读写ext2/3/4文件系统的工具「ext2fsd」
  3. Typora基础设置、MarkDown语法
  4. lodop的基本使用和常用API的详细介绍
  5. 初次使用CardView设置圆角等属性出现的问题(设置圆角出现层叠,外层View多出角的问题)
  6. 活动报名 | 宾夕法尼亚大学助理教授苏炜杰:隐私数据保护的一些进展和未来展望...
  7. 老子《道德经》第十二章
  8. 微信小程序毕业设计 基于微信花店鲜花小程序商城系统开题报告
  9. 《炬丰科技-半导体工艺》磷化铟晶片的研磨减薄
  10. Hyperspectral Imagery Classification Based on Contrastive Learning