day2----python的基本类型

本文档的大致内容:(python使用版本3.6.4)

1 数字--int

2 布尔--bool

3 字符串--str

4 元祖--()

5  列表---['a','b']

6 字典--{}

运算符:

算数:+ -  *  /   //(商的整数)   %(余数)  **(次幂)

比较:==  !=  >= <=  < >等

赋值:= += -=

逻辑运算:not  and  or

成员运算:in   not in

一 数字

数字一般在计算的时候用的多,运算后无理数的话,总共保留16位数字

例如:print(2/3)     结果:0.6666666666666666           print(80/9)     结果为:11.428571428571429

二 布尔

其结果就两种

True 或 1    --》表示真

False 或 0   ---》表示假

优先级的大小:()> not > and >or

三 字符串

字符串一般使用 ’ ‘或 “ ”或 ’‘’ ‘’‘ 给括起来,其中’‘’ ‘’‘在多行字符串中使用

例如:

msg = '''
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
'''
print(msg)

View Code

字符串中含有 ’ 号时,其一般使用“”给括起来

例如: msg = "My name is 星辰, I'm 22 years old!"

3.1 字符串------增

str='hello world'
str1='!!!'
str2='oh'
print(str+str1)  #使用两种字符串拼接的方式,后拼接  结果 hello world!!!
print(str2,' '+str) #使用两种字符串拼接的方式,前拼接  结果为 oh  hello world
str=str * 3  #使用字符串乘法的方式,重复拼接  结果为 hello worldhello worldhello world
print(str)

View Code

3.2 字符串-------删

  3.2.1 使用strip的方式 

    strip() 的用法默认删除字符串前后的空格,换行符,制表符,加上参数就能删除相应的字符串例如:strip('h')  -->依次删除首尾处出现 h  的字符,strip使用删除多个字符的情况较复杂,这理先不研究str='hello world'   print(str.strip('h '))   其结果为ello world   

View Code

  3.2.2 strip的说明

strip 删除是字符串收尾的字符,中间不做考虑例如:
str="hello ll "

print(str.strip("he")) #删除的字符可以从开头匹配:llo ll 注意最后的空格保留了print(str.strip(' ll')) #最后的空格可以不匹配:hello  后面没有空格print(str.strip("ll ")) #连着匹配后面的空格 :hello  后面没有空格print(str.strip('ll'))  #在中间,原字符串不变,中间空格不能省print(str.strip('llo')) #在中间,字符串不变

3.3 字符串-------改

  3.3.1使用replace的方式替

    例如:s="xingchen 啊林凤娇辣椒粉 xingchen 啊链接发垃圾 xingchen"s8=s.replace("xingchen","hehe")  #默认全部替换  结果为:hehe 啊林凤娇辣椒粉 hehe 啊链接发垃圾 hehes8=s.replace("xingchen","hehe",1) #替换的数量   结果为: hehe 啊林凤娇辣椒粉 xingchen 啊链接发垃圾 xingchen

View Code  

3.4 字符串-------查

  3.4.1 使用索引,索引默认是从0开始的

    例如:str='abc'   print(str[0])  其结果为 aprint(str[-1])  结果为   c

View Code

  3.4.2 使用切片的方式,截取字符串的一段,(原则就是顾头不顾腚)s[起始索引:结束索引+1:步长]

    例如:

    str='abcdef'   print(str[0:3]) 或者 print(str[:3])  --> abcprint(str[3:6]) 或者 print(str[3:100])  --->def采用步长的方式,默认步长是1,print(str[0:3:2])   ----》 acprint(str[-1:-4:-1]) --->fed  # -4<-1,步长使用 -print(str[-1:-4:-2]) --->fd

View Code

  3.4.3 使用split分割的方式,结果由 str ---> list

   s1 = 'alex wusir taibai ritian'  print(s1.split())   ---> ['alex', 'wusir', 'taibai', 'ritian']   #默认一空格分割s2 = 'alex,wusir,taibai,ritian‘  print(s2.split(,))  ----->同上                                        #指定以,分割s3 = 'alexwusirtaibairitian'     print(s3.split('i',2)) --->['alexwus', 'rta', 'bairitian']     #指定以 i 分割,并指定两个 i,则分成了三段,按照i 出现的位置依次分割s3 = 'alexwusirtaibairitian'     print(s3.split('i',100)) --》['alexwus', 'rta', 'ba', 'r', 't', 'an']  # i最多出现了5次,因此只能分成6 段

View Code

  3.4.4 让 list ---> str ,可以考虑使用join的方式

   l1=['alex','wusir','ritian']s10=' '.join(l1)          print(s10,type(s10))  ---> alex wusir ritian <class 'str'>s11='_'.join(l1)     print(s10,type(s10))  ---> alex_wusir_ritian <class 'str'>

View Code

  3.4.5-1 通过元素找字符串的索引 ---》find

   s = 'alexwausir's1=s.find("a") print(s1)    --->   0       #找到a的索引s2=s.find("al") print(s2) --->   0       #找到的第一个索引作为结果s3=s.find("ax") print(s3)  ---> -1       #找不到,返回值是-1

View Code

  3.4.5-2 index 命令和find类似,但是找不到它会报错,而不是-1

   s = 'alexwausir'    s3=s.index("ax")  print(s3)   --》ValueError: substring not found

  3.4.6 startwith和endwith 以什么为开头或结尾   

  s = 'alexWUsir'# s6=s.startswith('a')# s6=s.startswith('alex')  #结果为True# s6=s.startswith('alexa')  #结果为False# s6=s.startswith('WU',4,) #验证WU是否在索引为4的位置,结果为True# s6=s.startswith('WU',4,5) #从索引4的位置到5,也即是W,查找WU的位置,结果为False 【4,5)#s6=s.startswith('WU',4,6) #从索引4的位置到6,也即是W,查找WU的位置,结果为True [4,6)

View Code

3.5 字符串的其他用法

  3.5.1 计算字符串的个数:s='abcdef'  print(len(s))  ---> 6

     计算字符出现的个数:print(s.count('a'))

  3.5.2 判断字符串的组成

isalnum:由数字或者字母组成

    isdigit:由数字组成

    isalpha:由字母组成

  3.5.3 将字符串填入相应的格式内----》format

              第一种用法:s = "我叫{},今年{},爱好{}"s12 = s.format('太白', '25', '女')   print(sl2) 第二种用法:s1 = "我叫{0},今年{1},爱好{2},我依然叫{0}"s13 = s1.format('太白', '25', '女')   print(sl3)第三种用法:s3 = "我叫{name},今年{age},爱好{hobby}"s14 = s3.format(age=25,hobby='girl',name='太白')   print(sl4)

View Code

  3.5.4 字符串的大小写转化

    s.capitalize()  # 首字母大写其余字母小写s.title()  #非字母隔开的每个单词首字母大写例如: s_s='2alex %wusjlfj**sjflj2%tian%2%'   print(s_s.title())  结果为: 2Alex %Wusjlfj**Sjflj2%Tian%2%s.swapcase()  #大小写反转,即大写变小写,小写变大写s.upper() 全部大写 s.lower() 全部小写

View Code

四 元组                                                                                                                                                                                  返回头部

  元组:只读列表,使用(),里面的内容使用逗号隔开,里面的元素不可更改,但是如果里面嵌入列表或者字典时还是可以修改的

    支持count查找某个元素的数量,例如tu.count('name')

    注意: tu=(1,)  tu=(1,2)是元组,tu(1)不是元组,是int

  4.1 单纯的元组

    不支持增、删、改,主要讲查

    4.1.1 使用for循环遍历

                tu = (1, 2, 33, 'alex')for i in tu:print i

View Code

    4.1.2 支持索引查找

     print(tu[0])  ----> 1

    4.1.3 通过index查找    

s=('name','a','name','alex')
print(s.index('name',1)) #从‘a'开始查找
#支持index查找索引,不支持find
print(s.index('name',s.index('a'))) #从a的索引位置往后查找 name

  4.2 嵌入式元组

    元组中可以有列表,可以嵌入字典,元组中的列表适用列表的方法等等

五 列表

  列表外面使用【】,中间元素使用逗号隔开,列表中可以嵌入列表和元组

  5.1 列表的---增

    5.1.1 append  其后面只能增加一个元素例如:s.append('nihao')   s.append(1)   s.append([1,2,3])  s.append((1,2,3))5.1.2 insert   insert(位置,元素)例如:s.insert(1,'name')5.1.3 extend  是可以迭代的例如:s=[]     s.extend('aaa')   s.extend([1,2,3])  s.extend((4,5,6))   ---->其结果为: ['a', 'a', 'a', 1, 2, 3, 4, 5, 6]5.1.4 extend扩展字典时,只保留keys=['abc']s.extend({'a':'alex'})print(s) #['abc', 'a']

View Code

  5.2 列表的---删

    5.2.1 pop 根据索引删除,不能根据元素删除例如:s.pop(1)5.2.2 remove 根据元素删除例如:s.remove('name')5.2.3 del 根据索引或者切片删除 del s[]例如:del s[1]    del s[0:3]5.2.4 clear清空列表内的所有元素,也即变成一个空列表例如:s.clear()5.2.5 直接使用切片的方式将一段内容清空例如: li = ['alex','wusir','eric','rain','alex']li[1:4]=''print(li)   ------>['alex','alex']

View Code

  5.3 列表的--改

    5.3.1 根据索引修改例如:s[0]='nihao'5.3.2 根据切片修改  按照切片修改时,将删除切片区域的元素,并将要增加的字符串以单个字符的方式分别加入列表例如:l=['ni','wo','ta','women']l[:3]='afdfgaggga %*gaga\tegtgcfjaj;fjinkjnfknk'print(l)                    -->结果:['a', 'f', 'd', 'f', 'g', 'a', 'g', 'g', 'g', 'a', ' ', '%', '*', 'g', 'a', 'g', 'a', '\t', 'e', 'g', 't', 'g', 'c', 'f', 'j', 'a', 'j', ';', 'f', 'j', 'i', 'n', 'k', 'j', 'n', 'f', 'k', 'n', 'k', 'women']另1:加步长的情况,替换前后的元素必须一样多例如:l=['ni','wo','ta','women']l[:3:2]='ab'print(l)   ----->结果为:['a', 'wo', 'b', 'women']另2:使用字典替换的情况,字典的键作为元素替换到列表中,值被抛弃例如:l=['ni','wo','ta','women']l[:3]={'username':'xingchen','hobby':'girl'}print(l)   --->结果为:['username', 'hobby', 'women']另3:使用列表替换元素时,列表的每个元素成为了它的新元素例如:l=['ni','wo','ta','women']l[:3]=[11,22,33,44,'abc']print(l)      ---> [11, 22, 33, 44, 'abc', 'women']

View Code

  5.4 列表的---查

   索引查  print(s[0])切片查  print(s[:3])切片加步长查 print(s[:3:2])for循环查  for i  in s:print i判断是否包含:print('a' in s)  -->显示True 或者 False当列表中嵌入列表时:print([1,2] in s)

View Code

  5.5列表的其他方式:  

    # print(len(l)) # 总个数# print(l.count('a')) # 某个元素出现的次数# l1 = [1, 9, 8, 4, 3, 2, 6,]# l1.sort() # 正序排序# l1.sort(reverse=True) # 倒叙排序# l1.reverse() # 翻转,前后换位置# print(l1)

View Code

六 字典

  字典:key-values存储,字典的键 必须是唯一的,不可重复,value 可以为任意数据类型或者对象。

    字典的键可以使用的数据类型:int str tuple bool

  6.1 字典的---增

    根据键增加   例如: dic=[]   dic['name']='xingchen'    #由于name键在字典中没有,所以增加,但是如果存在的话,就会修改值

    根据setdefault   例如:dic.setdefault('name','xiaobai')  #无则增加,有则不变

  6.2 字典的---删

    6.2.1 pop 其会返回值例如:dic.pop('name')   ---》其会返回键name对应的值dic.pop('不存在','此键不存在')   --》删除一个不存在的键,可以预定返回的值6.2.2 popitem 3.5之前是随机删除,3.6之后是删除最后一个键值对,其括号中不加入键名例如:dic.popitem()6.2.3 clear清空 例如:dic.clear()6.2.4 del 从内存层面删除这个字典  例如:del  dic

View Code

  6.3 字典的---改

    6.3.1 根据存在的键名改: dic['name']='wuming'6.3.2 update 根据一个字典去更新另外一个字典例如:dic = {"name": "jin", "age": 18,"sex": "male"}dic2 = {"name": "alex", "weight": 75}dic2.update(dic)print(dic2)   ---->结果 {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}

View Code

  6.4 字典的---查    

 6.4.1 get 有返回值例如:dic={'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}print(dic.get('name1'))    -->返回Noneprint(dic.get('name1','没有此键'))   --》返回 没有此键6.4.2 for循环查 默认遍历字典的键 keys(),还可遍历字典的值 values()  键值对items()例如:for i in dic:print(dic[i])另:可以键,值分别赋值给变量for key  val  in dic.items():print(key val)6.4.3  使用键名查   dic['name']6.4.4  包含查询     print('name' in dic)

View Code

  6.5 字典的其他用法

    fromkeys的用法

    例如:     

dic=dict.fromkeys('abc',[]) #fromkeys命令建立一个列表,建立一个键值对后,它们指向的是同一个内存
print(dic) #{'a': [], 'b': [], 'c': []}
dic['c'].append(666) #给一个键赋值,其他的也赋了同样的值
print(dic) #{'a': [666], 'b': [666], 'c': [666]}
dic['a'].append(777)
print(dic) #{'a': [666, 777], 'b': [666, 777], 'c': [666, 777]}
#如何脱离这个限制
dic['b']=[666,777]
print(dic) #{'a': [666, 777], 'b': [666, 777], 'c': [666, 777]}
dic['c'].append('其他')
print(dic)  #{'a': [666, 777, '其他'], 'b': [666, 777], 'c': [666, 777, '其他']} 结果就脱离限制了

View Code

****最后:在循环列表或者字典的时候,千万不要做添加或者删除操作。应借助于其他变量如列表

例如:

将索引为奇数对应的元素删除
l1 = [11, 22, 33, 44, 55]
# for i in range(len(l1)):
#     print(i)
#     print(l1)
#     if i % 2 == 1:
#         del l1[i]
#     print(i)
#     print(l1)
# print(l1) #[11, 33, 44] 结果不是我们想要的
#应使用下面方法
for i in range(len(l1)-1,-1,-1):if i % 2 == 1:del l1[i]
print(l1) #[11, 33, 55]

View Code

7其他                                                                                                                                                             返回顶部

foramt格式化

例如  2后面两个%是为了打印%,相当于转换命令

# job = input('请输入职业:')
# hobbie = input('请输入爱好:')
# msg = '''------------ info of %s -----------
# Name : %s
# Age : %d
# job : %s
# Hobbie: %s
# ------------- end -----------------
# ''' % (name, name, int(age), job, hobbie)
# print(msg)

# print('我叫%s,今年%d,学习进度2%%' % ('xingchen', 10000))

range  范围

posted on 2018-05-16 14:51 dawn-liu 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/mmyy-blog/p/9046009.html

day2----python的基本类型相关推荐

  1. Day2 - Python基础2 列表、字典、集合

    Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过 ...

  2. Day2 - Python基础2 列表、字典、集合 --转自金角大王

    Day2 - Python基础2 列表.字典.集合 --转自金角大王 Posted on 2018-01-24 13:23 Byd_lei 阅读(41) 评论(0)  编辑 收藏 本节内容 列表.元组 ...

  3. 全面理解Python中的类型提示(Type Hints)

    众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...

  4. python判断字符类型alpha_Python3.10第二个alpha版本来了!最新特性值得关注

    选自towardsdatascience 作者:James Briggs 机器之心编译 编辑:陈萍 Python3.10 的第二个 alpha 版本已在 11 月初发布,相比于不久前发布的 3.9 版 ...

  5. python 功能 代码_让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  6. 在Python中检查类型的规范方法是什么?

    检查给定对象是否为给定类型的最佳方法是什么? 如何检查对象是否从给定类型继承? 假设我有一个对象o . 如何检查是否为str ? #1楼 前往雨果: 您可能是说list而不是array ,但这指向类型 ...

  7. python程序设计语言是什么类型的语言-Python 是弱类型的语言 强类型和弱类型的语言区别...

    Python 是弱类型的语言 在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言.C++.Java 是强类型语言的代表. 下面我们以 C++ 为例来演示强类型语 ...

  8. python语言必背代码-让你的Python代码实现类型提示功能

    Python是一种动态类型语言,这意味着我们在编写代码的时候更为自由,但是与此同时IDE无法向静态类型语言那样分析代码,及时给我们相应的提示.为了解决这个问题,Python 3.6 新增了几个特性PE ...

  9. python读文件代码-Python读取表格类型文件代码实例

    这篇文章主要介绍了Python读取表格类型文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 resp = My_Request_ ...

  10. 聊一聊Python的变量类型判断type和isinstance

    正常情况下不应该编写代码检查类型的,而应该直接假设被操作的instance具有你希望的属性,否则抛出异常. class Parrot:def fly(self):print("Parrot ...

最新文章

  1. 上海交大开源训练框架,支持大规模基于种群多智能体强化学习训练
  2. mysql设置Tooken过期时间_基于thinkPHP3.2实现微信接入及查询token值的方法
  3. Word中大括号内公式如何左对齐
  4. QPushButton
  5. Web框架之Django_03 路由层了解(路有层 无名分组、有名分组、反向解析、路由分发 视图层 JsonResponse,FBV、CBV、文件上传)
  6. 剑网三虽然是游戏,但场面堪比电影大片,发布会会带来什么惊喜?
  7. NOSQL系列-Redis精简版安装与Ruby测试
  8. python求取列表中的质数
  9. 绑定任意格式的XML文档到WPF的TreeView
  10. Swift中类的使用
  11. 洛谷oj---1036 选数
  12. ppt手动放映怎么设置_PPT如何设置幻灯片自动播放免除手动一张一张的点击
  13. Mac - 输入法卡顿
  14. 平均绝对值误差(L1_Loss)和 均方误差(L2_Loss)
  15. Aatcc加速器市场现状及未来发展趋势
  16. 美版iPhone4卡贴解锁
  17. 面试被问扔鸡蛋问题:100层扔鸡蛋问题(扔球问题)
  18. 生产计划:制定您的生产流程
  19. 了解Intel IPP
  20. 教育技术(Educational technology)学习分析和教育数据挖掘领域的SCI、SSCI、CSSCI期刊与会议

热门文章

  1. chm电子书字体大小的调整
  2. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day30】—— 设计模式1
  3. Gromacs基础教程一:入门建议
  4. 激光清洗的优点和实际案例
  5. python实现离散沃尔什变换_【图像处理】沃尔什变换与 python 实现
  6. 从0开发豆果美食小程序——搜索组件
  7. 三、【React-Router6】重定向 Navigate
  8. Color---颜色对照表
  9. 轻取帝国CMS管理员密码
  10. Unity获取物体下的子物体+只获取子物体