计算机可以进行的运算有很多种,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算。字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算。比较运算中==比较的是值,is比较的是id。比较运算只能在同种类型下进行比较。字符串的比较是按照顺序依次进行比较。逻辑运算的顺序先后为要用括号来表示。

基本运算符

算术运算

以下假设a=10,b=20

比较运算

以下假设a=10,b=20

赋值运算

逻辑运算

成员运算

身份运算

what's the 内置方法

内置方法就是python中已经写好的方法,我们不用管原理直接拿来用就行。所以内置方法是规定好的,我们想要学会就必须是全部记住。

字符串的内置方法

字符串的内置方法包括:移除空白strip、切分split、长度len、切片(切出子字符串)、startswith和endswith、替代replace、查找find(顾头不顾尾,找不到则返回-1不报错)、index(顾头不顾尾,但找不到会报错)、count(顾头不顾尾,若不指定范围则查找所有)、格式化输出%或.format()、插入join、插入空格expandtabs、全大写upper和全小写lower、首字母大写capitlize、大小写翻转swapcase、每个单词的首字母大写title、插入符号

移除空白strip:

msg='hello'

print(msg)print(msg.strip())#hello

msg='***hello*********'msg=msg.strip('*')print(msg)#hello

print(msg.lstrip('*'))#hello*********

print(msg.rstrip('*'))#***hello

举个栗子(程序交互,如果用户在输入的用户名或者密码时不小心多按了空格,也不会造成错误,可以正常登陆)

whileTrue:

name=input('user:').strip()

password=input('password:').strip()if name == 'egon' and password == '123':print('login successfull')

切分split:

info='root:x:0:0::/root:/bin/bash'

print(info[0]+info[1]+info[2]+info[3])#root

user_l=info.split(':')print(user_l[1])#x

msg='hello world egon say hahah'

print(msg.split()) #['hello', 'world', 'egon', 'say', 'hahah']#默认以空格作为分隔符

cmd='download|xhp.mov|3000'cmd_l=cmd.split('|')print(cmd_l[1])#xhp.mov

print(cmd_l[0])#downland

print(cmd.split('|',1))#['download', 'xhp.mov|3000']

长度len:

print(len('hell 123'))

切片(切出子字符串):

msg='hello world'

print(msg[1:3]) #el

print(msg[1:4]) #ell

startswith和endswith:

name='you_suck'

print(name.endswith('uk'))#True

print(name.startswith('y')#True

print(name.startswith('w')#False

替代replace:

name='jack say :i have a iphone,my name is jack'

print(name.replace('jack','john',1))#john say :i have a iphone,my name is jack

查找find(顾头不顾尾,找不到则返回-1不报错)

index(顾头不顾尾,但找不到会报错)

count(顾头不顾尾,若不指定范围则查找所有):

name='jack say hello'

print(name.find('S',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引

print(name.index('S')) #同上,但是找不到会报错

print(name.count('S',1,5)) #顾头不顾尾,如果不指定范围则查找所有

格式化输出%或.format():格式化输出宏需要用到占位符,一般统一使用%s

print('my name is %s my age is %s my sex is %s' %('jack',18,'male'))#my name is jack my age is 18 my sex is male

print('my name is {} my age is {} my sex is {}'.format('jack',18,'male'))#my name is jack my age is 18 my sex is male

print('my name is {0} my age is {1} my sex is {0}:{2}'.format('jack',18,'male'))#my name is jack my age is 18 my sex is egon:male

print('my name is {name} my age is {age} my sex is {sex}'.format(

sex='male',

age=18,

name='jack'))#my name is jack my age is 18 my sex is male

插入join(切片split的反方向):

info='root:x:0:0::/root:/bin/bash'

print(info.split(':'))#['root', 'x', '0', '0', '', '/root', '/bin/bash']

l=['root', 'x', '0', '0', '', '/root', '/bin/bash']print(':'.join(l))#root:x:0:0::/root:/bin/bash

插入空格expandtabs:

name='jack\thello'

print(name))#jack hello#即俩单词中间插入了一个缩进的长度的空格

print(name.expandtabs(1)#jack hello#即俩单词中间插入了一个长度的空格

全大写upper和全小写lower:

name='jAck'

print(name.lower())print(name.upper())

首字母大写capitlize、大小写翻转swapcase、每个单词的首字母大写title:

name='jAck'

print(name.capitalize()) #首字母大写,其余部分小写

print(name.swapcase()) #大小写翻转

msg='jack say good morning'

print(msg.title()) #每个单词的首字母大写

插入符号:

name='jack'

print(name.center(30,'-'))#-------------jack-------------

print(name.ljust(30,'*'))#jack**************************

print(name.rjust(30,'*'))#**************************jack

print(name.zfill(50)) #用0填充#0000000000000000000000000000000000000000000000jack

在python3中

num0='4'

num1=b'4' bytes类型

num2=u'4' unicode,python3中无需加u就是unicode

num3='四' 中文数字

num4='Ⅳ' 罗马数字

isdigt:str,bytes,unicodeprint(num0.isdigit())print(num1.isdigit())print(num2.isdigit())print(num3.isdigit())print(num4.isdigit())

isdecimal:str,unicode

num0='4'num1=b'4' #bytes

num2=u'4' #unicode,python3中无需加u就是unicode

num3='四' #中文数字

num4='Ⅳ' #罗马数字

print(num0.isdecimal())#print(num1.)

print(num2.isdecimal())print(num3.isdecimal())print(num4.isdecimal())

isnumeric:str,unicode,中文,罗马

num0='4'num1=b'4' #bytes

num2=u'4' #unicode,python3中无需加u就是unicode

num3='四' #中文数字

num4='Ⅳ' #罗马数字

print(num0.isnumeric())#print(num1)

print(num2.isnumeric())print(num3.isnumeric())print(num4.isnumeric())

列表的内置方法

列表的内置方法主要有索引、切片、追加appand、删除pop、长度len、包含in、插入insert、count、清除clear、复制copy、翻转reverse、排序sort。

切片:

l=['a','b','c','d','e','f']print(l[1:5])#['b', 'c', 'd', 'e']

print(l[1:5:2])#['b', 'd']#其中的2表示步距

print(l[2:5])#['c', 'd', 'e']

print(l[-1])#f

追加append:

hobbies=['play','eat','sleep','study']

hobbies.append('girls')print(hobbies)#['play', 'eat', 'sleep', 'study', 'girls']

删除pop:

hobbies=['play','eat','sleep','study']

x=hobbies.pop(1) #不是单纯的删除,是删除并且把删除的元素返回,我们可以用一个变量名去接收该返回值

print(x)#eat

print(hobbies)#['play', 'sleep', 'study']

del hobbies[1] #单纯的删除

hobbies.remove('eat') #单纯的删除,并且是指定元素去删除

就append和pop补充一个队列和堆栈的小题目

#队列:先进先出

queue_l=[]#入队

queue_l.append('first')

queue_l.append('second')

queue_l.append('third')print(queue_l)#['first', 'second', 'third']#出队

print(queue_l.pop(0))#first

print(queue_l.pop(0))#second

print(queue_l.pop(0))#third

#堆栈:先进后出,后进先出

l=[]#入栈

l.append('first')

l.append('second')

l.append('third')print(l)#['first', 'second', 'third']#出栈

print(l.pop())#third

print(l.pop())#second

print(l.pop())#first

View Code

长度len:

hobbies=['play','eat','sleep','study']print(len(hobbies))#4

包含in:

hobbies=['play','eat','sleep','study']print('sleep' in hobbies)#True

msg='hello world jack'

print('jack' in msg)#True

插入insert:

hobbies=['play','eat','sleep','study','eat','eat']

hobbies.insert(1,'walk')

hobbies.insert(1,['walk1','walk2','walk3'])print(hobbies)#['play', ['walk1', 'walk2', 'walk3'], 'walk', 'eat', 'sleep', 'study', 'eat', 'eat']

另一种插入extend:

hobbies=['play','eat','sleep','study','eat','eat']

hobbies.extend(['walk1','walk2','walk3'])print(hobbies)#['play', 'eat', 'sleep', 'study', 'eat', 'eat', 'walk1', 'walk2', 'walk3']#注意extend与insert的区别

索引count、index:

hobbies=['play','eat','sleep','study','eat','eat']print(hobbies.count('eat'))#3,个数

print(hobbies.index('sleep'))#2,下标位置

清除clear和复制copy简单,不做详述。

字典的内置方法

#存/取:

info_dic={'name':'egon','age':18,'sex':'male'}print(info_dic['name11111111'])print(info_dic.get('name',None))#删除:

info_dic={'name':'egon','age':18,'sex':'male'}

info_dic.pop()

info_dic.popitem()del info_dic['name']#pop:key存在则弹出值,不存在则返回默认值,如果没有默认值则报错

print(info_dic.pop('nam123123123123123123e',None))print(info_dic)print(info_dic.popitem())print(info_dic)#键s,值s,键值对:

info_dic={'name':'egon','age':18,'sex':'male'}print(info_dic.keys())#键

print(info_dic.values())#值

print(info_dic.items())#键值对

for k in info_dic:#循环输出键值对

print(k,info_dic[k])#长度len,比较简单不做说明#包含in,也较简单不做说明

#升级:若原字典有则替换,若没有则添加

info_dic={'name':'jack','age':18,'sex':'male'}

info_dic.update({'a':1,'name':'jAck'})print(info_dic)#增加:

info_dic={'name':'jack','age':18,'sex':'male'}#info_dic['hobbies']=[]#info_dic['hobbies'].append('study')#info_dic['hobbies'].append('read')#print(info_dic)

#copy和clear较简单不做说明

#fromkeys:作用只是新建了一个字典,与原字典无关

d=info_dic.fromkeys(('name','age','sex'),None)print(d)

d1=dict.fromkeys(('name','age','sex'),None)

d2=dict.fromkeys(('name','age','sex'),('jack',18,'male'))print(d1)print(d2)

元祖的内置方法

元祖的内置方法较少,主要为切片、in、长度len、索引index、count。

切片:

goods=('iphone','lenovo','sanxing','suoyi')print(goods[1:3])#('lenovo', 'sanxing')

包含in:

goods=('iphone','lenovo','mi','zuk')print('iphone' in goods)#True

d={'a':1,'b':2,'c':3}print('b' in d)#True

长度len:

hobbies=('play','eat','sleep','study')print(len(hobbies))#4

索引index、count:

goods=('iphone','lenovo','mi','zuk')print(goods.index('iphone'))#0,下标位置

print(goods.count('iphone'))#1,个数

集合的内置方法

in和not in

s={'a','b','c','d'}print('a'in s)#True

并集|

s_1={'a','b','c'}

s_2={'a','b','d'}print(s_1|s_2)#{'a','b','c','d'}

#也可以用union

print(s_1.union(s_2))

交集&

s_1={'a','b','c'}

s_2={'a','b','d'}print(s_1&s_2)#{'a','b'}

#也可以用intersection

print(s_1.intersection(s_2))

差集-

s_1={'a','b','c'}

s_2={'a','b','d'}print(s_1-s_2)#{'c'}

#也可以用difference

print(s_1.difference(s_2)) #{'c'}

print(s_2.difference(s_1)) #{'d'}

对称差集^:即两者的并集去掉两者的交集

s_1={'a','b','c'}

s_2={'a','b','d'}print(s_1^s_2) #{'c','d'}

#也可以用symmetric_difference

print(s_1.symmetric_difference(s_2))

父集、子集

set1={1,2,3,4,5}

set2={1,2,3,4}print(set1 >=set2)#也可以用issuperset

print(set1.issupissubseterset(set2))print(set2 <=set1)#也可以用issubset

print(set2.issubset(set1))

简单要点,不做详述:添加add、删除pop(随机删除,因为集合是无序的)、remove(指定删除,找不到则报错)、discards(指定删除,找不到不报错)、升级update、清除clear、复制copy、解压a*_。

python字符串与列表与运算_what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法...相关推荐

  1. python中字典类型中的item是什么-python中 字典类型内置方法

    python中 字典类型内置方法 一.字典(dict) ​ 1·. 存多个值,但是每一个值都有一个key与之对应.列如存在值有姓名:jiayi.年龄:18.身高:173 ​ 2.定义方式 ​ 在{}内 ...

  2. Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]

    print("Hello Python") #输出 ''' 多行注释 用 三个引号 ''' a=1 #赋值 变量首字母只能书字母下划线 第二个字符数字,字母,下划线 声明一个列表 ...

  3. 零基础入门学习python(24)-字典(2):字典的内置方法

    fromkeys() fromkeys()方法用于创建并返回一个新的字典 它有两个参数:第一个参数是字典的键:第二个参数是可选的,是传入键对应的值,如果不提供,默认是None 访问字典的几个方法 ke ...

  4. Python学习day07 - Python进阶(1) 内置方法

    Python学习day07-Python进阶(1)数据类型的内置方法一. 数字类型内置方法1. 整型内置方法1.1 作用1.2 定义方法1.3 内置方法1.4 存在一个还是多个值1.5 有序or无序1 ...

  5. python的内置字典数据类型_python 数据类型元组与字典内置方法

    1.元组 (1)元组是不可变的列表,能存多个值:如果多个值只有取得需求,没有改的需求,用元组最合理 (2)定义:在()内用逗号隔开,可以存任意类型的值 注意:当元组只有一个元素时,要在后面加逗号 # ...

  6. python将元祖设为整形_python基础(5)---整型、字符串、列表、元组、字典内置方法和文件操作介绍...

    对于python而言,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等特性 1.int 首先,我们来查看下int包含了哪些函数 #python3.x dir(int)#['__abs_ ...

  7. Python入门学习 DAY 05 字符串,列表的内置方法

    Python入门 DAY 05 本篇文章主要介绍字符串类型及内置方法,列表类型及内置方法 1.字符串类型及内置方法 (1)字符串定义       1.字符串中的字符是有序的          可以通过 ...

  8. 基础知识:数字、字符串、列表 的类型及内置方法

    阅读目录 今日学习内容: 基本数据类型及内置方法 1.数字类型 2.字符串类型 3.列表类型 今天学习的内容比较细比较杂,需要一点一点嚼烂慢慢消化,别急,加油!ヾ(◍°∇°◍)ノ゙ ========= ...

  9. [Python基础]列表、元祖和字典

    本文参考链接和大神作者不详,知道的可留言链接.之前在网上下到的笔记,整理的很详细,本文有个人轻微修改(本人实践于Python3.x). 2.x和3.x的print使用方式不一样,这里不做太多针对版本的 ...

  10. day02 python基础之列表,元祖,字典

    今日内容: 1. 常用数据类型及内置方法 2.文件处理 3.函数   列表:定义:在[]内,可以存放多个任意类型的值,并以逗号隔开.  一般用于存放学生的爱好,课堂的周期等等. students=[' ...

最新文章

  1. R语言基础知识详解及概括
  2. 重磅推荐几个接私活的利器!
  3. SQL注入之堆叠注入(sql-lab第38关)
  4. Vue.js的基本使用 学习笔记
  5. python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...
  6. ios开发text kit_IOS开发入门之TextKit详解
  7. 通过百度 vs 奇虎,来谈博客搜索
  8. 栈的应用--中序表达式转后序表达式
  9. PyTorch 1.0 中文文档:torch.utils.bottleneck
  10. 联发科推出5G处理器天玑720 采用台积电7nm工艺制造
  11. AGC020C Median Sum
  12. 诺诺打赏源码_2020二开诺诺视频打赏源码/VIP付费看视频带试看 已对接支付+代理...
  13. Web前端实战:管理系统网页的初步设计
  14. 海外问卷调查项目分为哪几种?
  15. 2019年第十一届蓝桥杯国赛JavaB组第H题——“大胖子走迷宫”题目及解析
  16. 有将视频横屏改为竖屏的方法吗?
  17. [iOS]在xcode的iOS虚拟机中对BLE(蓝牙4.0)进行调试
  18. 西安python程序员薪资_最新程序员薪资统计来了!Java均薪16K,Python22k!你拖后腿了吗?...
  19. 用docx4j生成word之后转成pdf
  20. 机器学习入门(3)-——多元回归

热门文章

  1. Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)
  2. hdu Collect More Jewels
  3. pureftp在企业中的应用及配置
  4. 使用C语言读写xlsx文件
  5. 使用JavaFX打开fxml,找不到打开的图形界面
  6. C语言 结构体中的成员域偏移量
  7. (转)ZooKeeper伪分布式集群安装及使用
  8. android studio 上手使用 大水逼问题
  9. python学习之路四(类和对象1)
  10. 20款优秀的可以替代桌面软件的Web应用(转载自JavaEye)