码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础 之 数据类型

时间:2018-06-06 23:47:31      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:decode   子序列   split   sla   数据类型   长度   close   display   under   

一、运算符

算数运算
a = 10 * 10
赋值运算
a = a + 1  a+=1

  

布尔值:True 真
    False 假

if  True:
    pass
                
while True:
    pass                  
                
v = not Trure #False 

 

成员运算

a = "文" in "伊文尧"

"伊文尧"   字符串
""   字符
"伊文"   建文 子字符串,子序列
# ctrl + ?     在Pychram中使用该操作进行整体注释
name  = "伊文尧"

if "伊文" in name:
    print(OK)
else:
    print(Error)

if "伊尧" not in name:
    print(1)
else:
    print(2)

#"伊尧"字符不在name中,print输出为1
技术分享图片
if "伊尧" not in name:
if 1 == 1:
if 2 > 2:
# 以上三条均是真假布尔值
关于真假布尔值
v = 1 == 2
print(v)
#直接对真假进行输出

 

比较运算
a = 1 > 5
逻辑运算
a = 1 > 6 or 1==1

user = "root"
pwd = "root!23"

v = user == "root" and pwd == "root!23" or 1 == 1 and pwd == "99854" and 1==2
print(v)

#先计算括号内的
#遇到如上情况,从前到后执行
#结果True,后面还有or,直接为True
#如果True,后面还有and,则继续运算
#如果False,后面还有or,则继续运算
#如果False,后面还有and,直接为False

 

二、基本数据类型

 

数字 int 
a1 = 123
a1 = 456

将字符串转换为数字

技术分享图片
a = "123"
print(type(a),a)    #输出一个值,并表示类型

b = int(a)
print(type(b),b)    #输出一个值,并表示类型

num = "B" 
v = int(num, base=16)
print(v)

#<class ‘str‘> 123
#<class ‘int‘> 123
#11
转换

 

 

capitalize

首字母大写

技术分享图片
test = "evEn"
v = test.capitalize()     
print(v)
#Even
capitalize

 

 

casefold 和 lower

casefold使用功能更强大,很多未知的语言对应关系也可以变小写

技术分享图片
test = "evEn"
v1 = test.casefold()
print(v1)
v2 = test.lower()
print(v2)
#even
#even
casefold 和 lower

 

 

swapcase

将小写转成大写,大写转成小写

技术分享图片
test = "eVen"
v = test.swapcase()
print(v)
#EvEN
swapcase

 

 

center 和 just

设置宽度 center

技术分享图片
test = "even"
v = test.center(20,"=")
# 20 代指总长度
# = 代表填充,只能填一个字符,可有可无
print(v)
#========evEn========
center

 

 

填充功能 ljust

技术分享图片
test = "even"
v = test.ljust(20,"=")  #把内容放置到左侧,右侧为填充
print(v)
#even================
ljust

 

 

填充功能 rjust

技术分享图片
test = "even"
v = test.rjust(20,"=")  #把内容放置到右侧,左侧为填充
print(v)
#================even
rjust

 

 

 

count

去字符串中寻找,寻找子序列的出现次数

技术分享图片
test = "evEnevenr"
v = test.count(ev)
print(v)
#2

test = "evEnevenr"
v = test.count(ev,5,6)
# 从5开始,直至6结束,在这之间寻找子序列的出现次数
print(v)
#0
count

 

 

encode 和 decode  暂不讨论  

 

 

expandtabs

断句,制表

test = "username\temail\tpassword\nroot\troot@!23\t123\nroot\troot@!23\t123\nroot\troot@!23\t123"
v = test.expandtabs(20)  
#test数字符20个,不足则补全20个
print(v)
#username            email               password
#root                root@!23            123
#root                root@!23            123
#root                root@!23            123

 

 

find

从开始往后找,找到第一个之后,获取其位置

test = "evenEven"
# 未找到 -1
v = test.find(en)
print(v)
#2

 

 

format

格式化,将一个字符串中的占位符{ }替换为指定的值

技术分享图片
test = i am {name}, age {a}
print(test) 
v = test.format(name=even,a=20)
print(v)
#i am {name}, age {a}
#i am even, age 20
format

 

 

按照位置替换为指定的值

技术分享图片
test = i am {0}, age {1}
print(test)
v = test.format(even,20)
print(v)
#i am {name}, age {a}
#i am even, age 20
format

 

格式化,传入的值 {"name": ‘alex‘, "a": 19},字典相关

技术分享图片
test = i am {name}, age {a}
v1 = test.format(name=Q,a=10)
v12 = test.format_map({"name": even, "a": 20})
print(v1)
print(v2)
#i am Q, age 10
#i am even, age 20
format_map

 

 

 

判断类型

isalnum

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

技术分享图片
test = "123"
v = test.isalnum()
print(v)
#True
isalnum

 

 

isalpha

判断是字母或汉字

技术分享图片
test1 = "as2df"
test2 = "asdf"
v1 = test1.isalpha()
v2 = test2.isalpha()
print(v1)
print(v2)            
#False
#True
isalpha

 

 

 

 

isdecimal  isdigit  isnumeric

判断当前输入是否是数字

技术分享图片
test = "" # 1,②
v1 = test.isdecimal() #常用
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)
#False False True
isdecimal

 

 

isprintable

判断是否存在不可显示的字符

技术分享图片
# \t   制表符
# \n   换行
test = "oiuas\tdfkj"
v = test.isprintable()
print(v)
#False
isprintable

 

 

isspace

判断是否全部是空格

技术分享图片
test1 = ""
test2 = "eve n"
test3 = " "
v1 = test1.isspace()
v2 = test2.isspace()
v3 = test3.isspace()
print(v1,v2,v3)
#False False True
isspace

 

 

istitle 和 title

istitle判断是否是标题(每个单词首字母大写),title负责将其转换成标题

技术分享图片
test = "Even Is A good boy!"
v1 = test.istitle()
print(v1)
v2 = test.title()
print(v2)
v3 = v2.istitle()
print(v3)
#False
#Even Is A Good Boy!
#True
istitle title

 

 

islower isupper 和 lower upper

islower lower 判断是否全部是小写 和 全部转换小写

 

test = "Even"
v1 = test.islower()
v2 = test.lower()
print(v1, v2)
#False even

 

 

isupper upper 判断是否全部是大写 和 全部转换大写

test = "Even"
v1 = test.isupper()
v2 = test.upper()
print(v1,v2)
#False EVEN

 

 

startswith 和 endswith

判断是否以xxx开头,以xxx结尾

技术分享图片
test = "ip 127.0.0.1"
v1 = test.startswith(i)
v2 = test.endswith(255)
print(v1)
print(v2)
#True
#False
startswith endswith

 

 

isidentifier

判断是否是有效标识符

技术分享图片
a = "def"
b = "123"
v1 = a.isidentifier()
v2 = b.isidentifier()
print(v1,v2)
#True False
isidentifier

 

 

join

将字符串中的每一个元素按照指定分隔符进行拼接

test = "伊文尧"
print(test)
v1 =  .join(test)
v2 = "_".join(test)
print(v1)
print(v2)
#伊文尧
#伊 文 尧
#伊_文_尧

 

 

strip  lstrip  rstrip

移除空白字符   (除此之外还能去除\t \n)

 

test = " even " 
v1 = test.lstrip()    #去除左空白
v2 = test.rstrip()    #去除右空白
v3 = test.strip()        #去除左右空白        
print(v1)
print(v2)
print(v3)
#even 
# even
#even

 

 

移除指定字符串(优先最多匹配)

test = "even"
v1 = test.lstrip(ev)
v2 = test.rstrip(mnvzev)
v3 = test.strip(ev)
print(v1)
print(v2)
print(v3)
#n
#
#n

 

 

maketrans 和 translate

构建对应关系 和 替换

技术分享图片
test =  "aeiou"
test1 = "12345"

v = "asidufkasd"
m = str.maketrans("aeiou", "12345")    #构建对应关系
new_v = v.translate(m)                #根据对应关系进行替换
print(new_v)
#1s3d5fk1sd
maketrans translate

 

 

 

分割

partition  rpartition

分割为三部分

test = "testasdsddfg"
v = test.partition(s)    #按照s,做分割
print(v)
v = test.rpartition(s)    #按照s,从右开始做分割
print(v)
(te, s, tasdsddfg)
(testasd, s, ddfg)

 

split  rsplit

分割为指定个数 但匹配值会丢失

 

test = "testasdsddfg"
v = test.split(s,2)        #按照s,做两刀分割
print(v)
v = test.rsplit(s,2)    #按照s,从右做两刀分割
print(v)
#[‘te‘, ‘ta‘, ‘dsddfg‘]
#[‘testa‘, ‘d‘, ‘ddfg‘]

 

 

splitlines

只能根据True,False:选择是否保留换行

 

test = "abc\nabc\nabc"
v = test.splitlines(False)
print(v)
#[‘abc‘, ‘abc‘, ‘abc‘]

 

 

 

replace

将指定字符串替换为指定字符串

 

test = "rootrootroot"
v = test.replace("oo",xx)    #将oo替换成xx
print(v)
#rxxtrxxtrxxt

v = test.replace("oo",xx,2)    #将oo替换成xx,只限于前2个
print(v)
#rxxtrxxtroot

 

技术分享图片总而言之

7个 十分重要的基本数据类型

# join  
# split
# find
# strip
# upper
# lower
# replace

 

 

技术分享图片

三、其他补充

1.索引

获取字符串中的某一个字符,0为第一个字符

test = "even"
v = test[2]    #获取第3个字符
print(v)
#e

 

2.切片

获取字符串中的范围

 

test = "evenyao"
v = test[1:-1]    #获取第2个字符至倒数第2个字符中的所有字符
print(v)
#venya

 

 

3.获取长度

Python3: len获取当前字符串中由几个字符组成

test = "even"
v = len(test)
print(v)
#4

 

4.for循环

 

for 变量名 in 字符串:
一样支持break 和 continue

使用while循环对一条语句进行纵向单个输出

test = "今天天气不错"
index = 0
while index < len(test):    #len获取长度
    v = test[index]        #获取索引
    print(v)
    index = index + 1
print(=======)
#
#
#
#
#
#
#=======

 

使用for循环进行一样的实现

test = "今天天气不错"
for item in test:
    print(item)
print(=======)
#
#
#
#
#
#
#=======

 

for中的break和continue

技术分享图片
test = "今天天气不错"
for item in test:
    print(item)
    break
#
#
break
技术分享图片
test = "今天天气不错"
for item in test:
    continue
    print(item)
#
continue

 

 

5.获取连续或不连续的数字

Python2中立即创建在内容中
Python3中只有for循环时,才一个一个创建

r1 = range(10)
r2 = range(1,10)
r3 = range(1,10,2)
#帮助创建连续的数字,通过设置步长来指定不连续

 

设置步长为5,并输出0-99的数字

技术分享图片
v = range(0, 100, 5)    #0-100连续输出,设置步长为5

for item in v:
    print(item)
# 0
# 5
# 10
# 15
# 20
# 25
# 30
# 35
# 40
# 45
# 50
# 55
# 60
# 65
# 70
# 75
# 80
# 85
# 90
# 95
range(0,100,5)

 

Python基础 之 数据类型

标签:decode   子序列   split   sla   数据类型   长度   close   display   under   

原文地址:https://www.cnblogs.com/evenyao/p/9140092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!