02-Python基本数据类型

一、进制:

  1. 硬盘:二进制存储
  2. 读取:由二进制
    • 对应编码的汉字
    • 十六进制
  3. 用户所见
    • 转换完成的字符串
    • 以十六进制展示

二、基本数据类型

  1. 字符串
  2. 整数
  3. 布尔值
  4. 列表
  5. 元组
  6. 字典
  7. 集合

1.字符串

#1.capitalize 首字母大写,自身不变,生成新的值
name1 = 'alex'
s1 = name1.capitalize()
print(s1)

#2.casefold 所有大写变小写,casefold功能更牛
name2 = 'AleX'
s2 = name2.lower()
s22 = name2.casefold()
print(s2,s22)

#3.center 文本居中center(总长度,空白处填充字符)
n3 = ' -Alex- '
s3 = n3.center(20,'字')
print(s3)

#4.count 子序列在指定字符串中出现的次数count(子序列,起始,结束)
n4 = 'alekjdokjeskedfax'
s4 = n4.count('e',3,10)
print(s4)

#5.endswith 指定字符串是否以子序列结尾
n5 = 'aleeeeeeeeeeeeeeabcx'
s5 = n5.endswith('cx',10)
print(s5)

#6.startwith 开头
s6 = n5.startswith('al',0,10)
print(s6)

#7. 用n个空格代替\t,包含前面的值
n7 = 'al\ne\tx\ner\ti\tc'
s7 = n7.expandtabs(10)
print(s7)

#8. 找到指定子序列的索引位置,不存在是find返回-1,index报错
n8 = 'alex and eric'
s8 = n8.find('eax',0,5)
print(s8)
v88 = n8.index('ex')
print(v88) #没有时,报错ValueError: substring not found

#9-1.字符串格式化:format,可以是index,也可以直接赋值给变量名
n9 = 'my name is:{0}, age is:{1},gender is:{2}'
s9 = n9.format('alex',10,"male")
print(s9)
n91 = 'my name is:{name}, age is:{age},gender is:{gender}'
s91 = n91.format(name = 'alex', age = 19, gender = 'male')
print(s91)
#9-2.format_map
n92 = 'my name is:{name}, age is:{age},gender is:{gender}'
s92 = n92.format_map({'name':'bill',"age":20,'gender':'unkown'})
print(s92)

#10.判断一个字符串是否全是数字、汉字--不能含有空格
n10 = 'alexis李杰123'#汉字、字母、数字
s10 = n10.isalnum()
print(s10)

s101 = n10.isalpha() #不能包含数字
print(s101)

#11.是否为数字
n11 = '②'
s111= n11.isdigit() #阿拉伯数字,和带圈字符
s112 = n11.isdecimal() #最常用,只能阿拉伯数字,可用int类型转换过来
print(s111,s112)
n112 = '2②二'
s1121 = n112.isdigit()
s1122 = n112.isdecimal()
s1123 = n112.isnumeric() #数字:可为:阿拉伯、带圈数字、汉字
print(s1121,s1122,s1123)

#12.是否为标识符 ??这是啥意思--判断是否可以做变量名
n12 = '9alex'
s12 = n12.isidentifier()
print(s12) #True

#13.是都全部大/小写
n13 = 'ALEX'
s131 = n13.islower()
s132 = n13.isupper()
print(s131,s132)

#14.是否包含隐含字符
n14 = 'life is short \t learn\nPython'
n141 = 'hello world!'
s14 = n14.isprintable()
s141 = n141.isprintable()
print(s14,s141)

#15.是否全部为空格
n15 = '     '
s15 = n15.isspace()
print(s15)

#16.是否每个单词首字母大写
n16 = 'Congratulation' #根据空格判断单词,没有空格时会判断是否是一个单词
s16 = n16.istitle()
print(s16)

#17.元素拼接,可以是字符串或列表
n171 = 'hello world!'
v171 = '+'.join(n171)
print(v171)

n172 = ['alex','bill','chris']
v172 = '是'.join(n172)
print(v172)

#18.左中右填充
n18 = 'Pyhon'
s181 = n18.center(20,'中') #填充字符只能为1个
s182 = n18.ljust(20,'左')
s183 = n18.rjust(20,'右')
print(s181,s182,s183)

#19.对应关系+翻译
x = str.maketrans('hijkl','举头望明月')
print(x)
n19 = 'life is short, use python!'
s19 = n19.translate(x)
print(s19)

#20.分割,并保留分割元素。cf:split不保留分隔元素--都以第一个遇到的分割元素进行分割
n19 = 'life is, short, use, python!'
s191 = n19.split(', ') #返回值为列表
s192 = n19.partition(', ') #返回值为元组 --用法:计算器中保留运算符号
print(s191)
print(s192)

#21.替换
n21 = 'alexAbillAchrisAdavid'
s21 = n21.replace('A','Like',2)
print(s21)

#22.移除空白,包括:空格 \n \t 自定义
n22 = 'al\ne\tx  '
s22 = n22.strip() #只移除了结尾的空白,存疑!!
s221 = n22.strip('a')
print(s22)
print(s221)

#23.大小写转换
n23 = 'AlEx'
s23 = n23.swapcase()
print(s23)

#24.填充0
n24 = 'alex'
s24 = n24.zfill(10) #填充到前面
print(s24)

2.整型

#1.当前int以最少位数的二进制表示
num1 = 255
print(num1.bit_length())

#2.获取当前数据的字节表示--以多少位的16进制进行表示。其中,\xff为一个16进制
num2 = 255
i21 = num2.to_bytes(20,byteorder='big') #值在后面
i22 = num2.to_bytes(20,byteorder='little') #值在前面
print(i21)
print(i22)

3.布尔值

#1.False类型,空内容一般都为false
b1 = ''
b2 = 0
b4 = []
b3 = -2 #True

4.列表

#1.追加
u_list = ['alex','bill','chris','dick'] #可变类型

u_list.append('eric')
print(u_list)

#2.清空
u_list.clear()
print(u_list)

#3.浅拷贝
u_list = ['alex','alex','bill','chris','dick']
v = u_list.copy()

print(u_list)
print(v)

#4.计数
v2 = u_list.count('alex')
print(v2)

#5.扩展源列表,多个元素
v3 = u_list.extend(['eric','frank'])
print(u_list)
print(v3) #空,应该直接u_list.extend(['eric','frank'])

#6.查找元素的索引(第一个出现的),没有时报错
v4 = u_list.index('alex')
print(v4)

#7.删除并获取元素--根据索引
v5 = u_list.pop(2)
print(v5)
print(u_list)

#8.删除但获取不到元素--根据值,删除查找到的第一个
v6 = u_list.remove('alex')
print(v6)
print(u_list)

#9.翻转
u_list.reverse()
print(u_list)

#10.排序
nums = [11,22,55,6,77,3]
print(nums)
#小>大,默认
nums.sort(reverse=False)
print(nums)
#大>小
nums.sort(reverse=True)
print(nums)

5.元组

usr_tuple = ('alex','bill','bill','chris','dick')
#1.获取指定元素的个数
v = usr_tuple.count('bill')
print(v)

#2.获取值的索引,显示查到的第一个
v2 = usr_tuple.index('bill')
print(v2)

6.字典

1.  字典可以嵌套
2.  字典的key必须为不可变类型。比如元组
3.  可以索引取值
4.  可根据key删除键值对 del dic['k1']  


#1.clear 清空
dic1 = {'k1':'v1','k2':'v2'}
dic1.clear()
print(dic1)

#2.copy 浅拷贝
dic = {'k1':'v1','k2':'v2'}
d2 = dic.copy()
print(d2)

#3.get 根据key获取指定的value
d3 = dic.get('k1')
d31 = dic.get('k3')
print(d3)
print(d31)

# d32 = dic['k3']
# print(d32)

#4.pop 删除并获取对应value值,并获取到该value值
dic4 = {'k1':'v1','k2':'v2','k3':'v3'}
d4 = dic4.pop('k2')
print(d4)
print(dic4)

#5.popitem 随机删除键值对,并获取到该键值
dic5 = {'k1':'v1','k2':'v2','k3':'v3'}
d5 = dic5.popitem() #dict无序,所以随机删除
print(d5)
print(dic5)


#6.setdefault 增加,只能增加一个(逗号分隔 键值),已存在时不做操作
dic6 = {'k1':'v1','k2':'v2','k3':'v3'}
dic6.setdefault('k4','v4')
print(dic6)

dic6.setdefault('k1',123)
print(dic6)

#7.update 更新,批量增加/修改。存在时跟新,不存在时增加(括号内为字典)
dic6 = {'k1':'v1','k2':'v2','k3':'v3'}
dic6.update({'k1':999,'k5':'v5'})
print(dic6)


#8.fromkeys 循环创建字典
dic8 = dict.fromkeys(['k1','k2','k3'],123)
print(dic8)
dic8['k1'] = 'hello world' #替换。123为整型,不可变,不能追加
print(dic8)

dic81 = dict.fromkeys(['k1','k2','k3'],[1,])
print(dic81)
dic81['k1'].append(234) #值是列表时追加到所有值的列表中
print(dic81)

7.集合

# 1. 可变类型
# 2. 不可重复的列表

s1 = {'alex','bill','chris','david'}
s2 = {'alex','bill','eric','frank'}
#1. s1中存在,s2中不存在
a1 = s1.difference(s2)
print(a1)

#1-1.将difference的值赋值给s1
# s1.difference_update(s2)
# print(s1)

#2.连个集合的所有不同元素组成一个新的集合
a2 = s1.symmetric_difference(s2)
print(a2)

#3.交集
a3 = s1.intersection(s2)
print(a3)

#4.并集
a4 = s1.union(s2)
print(a4)

#5.移除
s1.discard('alex')
print(s1)

#6.更新,已经有的不变,没有的更新
s6 = {'alex','bill','chris','david'}
s6.update({'alex','bill','rose','lily'})
print(s6)

#7.for-loop
s7 = {'alex','bill','rose','lily'}
for item in s7:
    print(item)

s8 = {'alex','bill',(1,2,3)}
for i in s8:
    print(i)

8.range范围取值

# 2.7中:range立即生成范围内的所有值,xrange迭代后逐个生成
# 3.x中:range等同有2.7中的xrange,不立即生成所有数值,迭代后才逐个生成

li = ['alex','bill','chris']
for i in li:
    print(i)
for i in range(0,len(li)):
    ele = li[i]
    print(i+1,ele)

9.enumerate,比range额外生成一列有序数字

li9 = ['alex','bill','chris']
for i,ele in enumerate(li,10): #不在for循环中时,怎么使用??
    print(i,ele)
#范例:商品列表取值
# v = int(input('请输入商品序号:'))
# item = li[v-1]
# print(item)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • python 数据类型 Python中的数据结构的说明 在Python中,不需要提前声明,当给一个变量赋值的时候就...
    So_ProbuING阅读 649评论 0 2
  • 53.计算字符 在字符串中获取字符值的数量, 可以使用字符串字符属性中的计数属性: let unusualMena...
    无沣阅读 1,002评论 0 4
  • 内置函数Python解释器内置了许多功能和类型,总是可用的。他们是按字母顺序列在这里。 abs(x)返回一个数的绝...
    uangianlap阅读 1,179评论 0 0
  • 昨天带着崽崽回娘家,吃了火锅很开心。把崽哄睡觉自己也睡了,没有学习,也没有输出,在这里反省。 我今天学习了怎么使用...
    李九_Lijiu阅读 112评论 0 0
  • 薛梗王说: 我们的爱情到这刚刚好!剩不多也不少还能忘掉! 我们的距离到这刚刚好,不够我们拥抱就挽回不了! 真的有那...
    懒壁虎阅读 164评论 0 0