1、运算符

(1)基本运算符

   +  加法

    -   减法

*   乘法

/   除法

**   幂

//   取整(除法)

%   取余(除法)

(2)判断某个东西是否在某个东西里面包含

  in

  not  in

(3)结果是值

  a、算术运算

    a=10*10

    b、赋值运算

    a=a+!    a+=1 

(4)结果是布尔值

  a、比较运算

    a=1>5

  b、逻辑运算

    a=1>6 or 1==1    一方为真则为真

    a=1>6 and 1==1   同时为真则为真

  c、成员运算

    a="小"  in "小缠绵"

    a="小" not in "小缠绵"

2、基本数据类型

(1)、数字    int

 a、int 将字符串转换为数字      

a="123"
print(type(a),a) #<class 'str'> 123 b=int(a)
print(type(b),b) #<class 'int'> 123 num="0011"
v=int(num,base=2)
print(v) #以二进制的形式 v=3

 b、 bit_length 当前数字的二进制,至少用n位表示  

age=2

r=age.bit_lenght()

print(r)  #2, 2的二进制为11,如果age=5,则输出为3,因为5的二进制为101

(2)、字符串   str  

python中字符串有三种表现形式,分别是单引号,双引号,三引号

字符串一旦创建,不可修改
一旦修改或者拼接,都会造成重新生成字符串

 a、首字母大写   capitalize()

test="alex"
v=test.capitalize()
print(v)

b、所有的字符变小写  casefold()和lower()

区别:casefold()可以改变很多未知的,lower()只能改变熟知的

test = 'alex'
v1=test.casefold()
print(v1)
v2=test.lower()
print(v2)

c、设置宽度,并将内容居中 center()

test = 'alex'
v3=test.center(20,"*") # 20 代指总长度,*空白位置填充,一个字符,可有可无

d、字符串中寻找子序列出现的次数 count(sub,start=None,end=None)

  sub:子序列

  start:起始位置,默认为空

  end:终止位置,默认为空

test = 'alex'
v4=test.count('l',1,4)

 e、判断以什么结尾/开头,endswitch(suffix, start=None, end=None)和startswitch(suffix, start=None, end=None)

  suffix:需要判断你的字段

  start:起始位置

  end:终止位置

  返回值为布尔值

test = 'alex'
v5=test.endswith('ex',1,4)
v6=test.startswith('a')

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

 ①find()

test = 'alex'test.find('ex')  >>2

 ②index()

test = "alex"
test.find('ex') >>2 # 说明如果找不到会抛出一个异常

 g、格式化,将一个字符串种的占位符替换为指定的值

(1)指定参数

test='I am {name},age {a}'
print(test)
v=test.format(name='Christian',a=26)
print(v)

(2)根据索引

test1='I am {0},age {1}'
print(test1)
v1=test1.format('C',19)
print(v1)

h、字符串中是否只包含 字母和数字 结果为Ture False

v=test.isalpha() 

i、当前输入是否是数字

 ①、只判断数字,对于特殊字符以及汉字不支持

test="二"
v1=test.isdecimal()   >> False

 ②、可以含有特殊字符,比如②,不支持汉字  

v2=test.isdigit()  >> False

test1 = "②"

test1.isdigit() >> True

 ③、同时支持数字,汉字,以及特殊字符

test = '二'
test.isnumeric() >>True
test1 = '②'
test1.isnumeric() >>True
test2 = "2"
test2.isnumeric() >>True

j、判断是否存在不可显示的转义字符,若没有,输出ture,否则false

test="ssfsgghh\t"
test.isprintable() >>False # 返回False 表示存在

test = "safaf\\t"
test.isprintable() >>True # 返回True 表示不存在

k、判断是否全是空格,是输出Ture,否则False

test=' '
v=test.isspace() >>True

l、判断是否是标题(标题每个单词的首字母都是大写)并转换为标题

test='dafgg gsgh hfsfs'

v1=test.istitle()      # 判断是否为标题
print(v1) #输出V1为False
v2=test.title() # 转化为标题
print(v2)      #输出v2为Dafgg Gsgh Hfsfs
v3=v2.istitle()
print(v3)    #输出v3为 Ture

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

test="你是风儿我是沙"
print(test) #你是风儿我是沙
t=' '
v1=t.join(test)
v2='_'.join(test)
print(v1) #你 是 风 儿 我 是 沙
print(v2)  #你_是_风_儿_我_是_沙 

 n、设置内容宽度,并将内容居左,居中,居右显示

 ①、将内容居中  

test="alxe"
v=test.center(20,"中") #20代指总长度,空白未知填充一个字符,可有可无
print(v) #中中中中中中中中alxe中中中中中中中中 

 ②、将内容居左 

test="alex"
v1=test.ljust(20,"中")
print(v1) #alex中中中中中中中中中中中中中中中中

③、内容居右显示  

test="alex"
v2=test.rjust(20,"中")
print(v2) #中中中中中中中中中中中中中中中中alex 

 O、大小写转换(对整个字符串,要么全是大写,要么全是小写)

 ①、判断是否全部为小写并转换为小写islower()和lower()

test="Christian"
v1=test.islower()
print(v1) #False
v2=test.lower()
print(v2) #christian
v3=v2.islower()
print(v3) #ture

 ②、判断是否全部为大写并转换为大写isupper()和upper()

test="Christian"
v1=test.isupper()
print(v1) #False
v2=test.upper()
print(v2) #CHRISTIAN
v3=v2.islower()
print(v3) #ture  

 p、大小写转换(对字符串中的大写字符转换为小写,小写字符转换为大写)

test="Christian"
v=test.swapcase()
print(v) #cHRISTIAN

q、移除指定字符串

 ①、strip()

test = "   Christian     "
test.strip() >>Christian

 ②、lstrip()

test = "    Christian    "
test.lstrip() >>"Christian "

 ③、rstrip()

test = "    Christian    "
test.rstrip() >>" Christian"

r、按照指定字符分割字符串,返回列表

test = "Christian   Negan   Alex"
test.split() >>["Christian", "Negan", "Alex"]

s、索引方式获取字符串中的某一个字符

test='ALEX'
test[0:3] >>ALE #区间0<=X<3,包头不包尾
test[0] >>A #第一个字符
test[-1] >>X # 取最后一个字符 

 t、获取字符串的长度

test = 'Negan'
len(test) >>5

 u、字符替换 replace(self, old, new, count=None)

test= “Christian”
test.replace('i', '') >>Chrstan

 v、一个一个输出字符串的内容

 ①、while循环

idex=0
test="我要好好学习Python"
while idex < len(test):
v=test[idex]
print(v)
idex+=1 print('end')

 ②、for循环

   for 变量名 in 字符串:

test="我要好好学习Python"
for idex in test:
print(idex)

 w、获取字符串中最大和最小字符

①、最大字符 max() 

test = "Christian"
max(test) >>"t"

 ②、最小字符 min()

test = "Christian"
min(test) >>"t"

(3)、列表   list 

  中括号括起来,用","分割每个元素,元素可以是数字,字符串,列表,bool值……总之所有的东西都能放进去 

  索引取值,结果是元素

  切片,切片结果是列表

  列表元素可以被修改(内存地址不会被改变)

 a、修改

  ①、索引的方式进行修改

li=[234,222,'assx',['sssa','sss',[1]]]
li[1]='age'
li > [234, 'age', 'assx', ['sssa', 'sss', [1]]]

  ②、切片的方式进行修改

li=[234,222,'assx',['sssa','sss',[1]]]
li[1:3]=[2,'a']  >> [234, 2, 'a', ['sssa', 'sss', [1]]]

 b、删除

  ①、索引方式

li=[234,222,'assx',['sssa','sss',[1]]]
del li[1]
li >> [234,'assx',['sssa','sss',[1]]]

 ②、切片方式同样适用 

li=[234,222,'assx',['sssa','sss',[1]]]
del li[0:2]
li >> ['assx',['sssa','sss',[1]]] 

 c、在原来的值后面追加

 ①、append(object)

 list.append(object) 向列表中添加一个对象object  

 使用append的时候,是将new_media看作一个对象,整体打包添加到music_media对象中。

music_media = ['compact disc', '8-track tape', 'long playing record']
new_media = ['DVD Audio disc', 'Super Audio CD']
music_media.append(new_media)
music_media >>['compact disc', '8-track tape', 'long playing record', ['DVD Audio disc', 'Super Audio CD']]

 ②、extend(sequence)

 扩展原来的列表,参数为可迭代对象,内部执行for循环  

 list.extend(sequence) 把一个序列seq的内容添加到列表中

 使用extend的时候,是将new_media看作一个序列,将这个序列和music_media序列合并,并放在其后面。

music_media = ['compact disc', '8-track tape', 'long playing record']
new_media = ['DVD Audio disc', 'Super Audio CD']
music_media.extend(new_media)
music_media >>> ['compact disc', '8-track tape', 'long playing record', 'DVD Audio disc', 'Super Audio CD']  

 d、清空列表 clear()  

li = [1,2,3]
li.clear()
li >> [] 

 e、拷贝(浅拷贝)   

li = [1,2,3]
v=li.copy()
v >> [1,2,3]

 f、计算元素在列表中出现的次数 

li=[1,2,3,4,1]
v=li.count(1)
v >> 2

g、根据值获取当前值索引位置(左边优先)  

li=[234,222,'assx',['sssa','sss',[1]]]

v=li.index(222)

v >>1

h、在指定索引位置插入元素

  insert(self, index, p_object) 

li=[234,222,'assx',['sssa','sss',[1]]]
li.insert(0,"chen")
li >>['chen', 234, 222, 'assx', ['sssa', 'sss', [1]]]

i、pop删除某个值(指定索引,默认是最后一个),并返回当前的值

  pop(self,index=None) 改变原列表,内存地址不会发生改变

li=[234,222,'assx',['sssa','sss',[1]]]
v=li.pop(0)
li >>[222, 'assx', ['sssa', 'sss', [1]]]
v >>234

j、删除列表中的指定值,左边优先

   remove(self,value)  改变原列表,内存地址不会发生改变

li=[234,222,'assx',['sssa','sss',[1]]]
li.remove(234)
li >>[222, 'assx', ['sssa', 'sss', [1]]] 

  k、将当前列表进行反转

  reverse(self)  

li=[234,222,'assx',['sssa','sss',[1]]]
li.reverse()
li >>[['sssa', 'sss', [1]], 'assx', 222, 234]

  l、排序 

 sort(self,key=None, reverse=False)    默认从小到大

li=[234,222,22345]
li.sort(reverse=1) # 1表示为True,倒序排列
li >>[22345, 234, 222]

 扩展:

 sort()是应用在list上的方法,对已经存在的列表进行操作 ,无返回值。

 sorted()函数对所有可迭代对象进行操作(所有能被for循环的都是可迭代对象),会返回一个新的list

li=[234,222,22345]
sorted(li, reverse=True) >> [22345,234,222]  

 m、列表转换成字符串

 ①、既有数字又有字符串需要自己写for循环一个一个处理 

li=[11,22,33,'123','Alex']
s=''
for item in li:
s=s+str(item)
s >>112233123Alex

 ②、如果只有字符串,用join()方法

  和字符串中的join方法类似

li=["123",'alex']
v=''.join(li)
v >>123alex

 n、列表生成式

l = [i  for i in range(10) if i % 2 == 0]

l >> [0,2,4,6,8]

(4)、元祖  tuple

  元素不可被修改,不能被增加或者删除(一级元素不可被修改)

  tu=(111,222,333)

  count 获取指定元素在元组中出现的位置

  index 获取指定元素在元组中出现的次数 

  注意:如果元祖中只有一个元素,元素后面需要加一个“,”。

tu=(111,"alex","Christian",111,34)
v1=tu.count(111)
v2=tu.index(111)
print(v1,v2) >>>>2 ,0

(5)、字典  dict

  字典的value可以使任意值

  列表,字典不能作为字典的key

  字典是无序的

  字典支持del

  字典可以for循环

 a、输出字典的Key值  

info={"K1":"V1",
"K2":"V2"}
for item in info.keys():
print(item) >>K1
K2

 b、输出字典的value 

info={"K1":"V1",
    "K2":"V2"}
for item in info.values():
print(item)

>>1
 2

 c、同时输出字典的键和值

①手动输出

info={"K1":"V1",
    "K2":"V2"}
for item in info.keys():
print(item,info[item]) >> K1 V1
  K2 V2

②自动循环输出键值对

info = {"K1": "V1","K2": "V2"}
for k,v in info.items():
print(k,v)
>> K1 V1
K2 V2

d、根据序列,创建字典,并指定统一的值

v=dict.fromkeys(['k1','k2','k3'],123)
v >>{'k1': 123, 'k2': 123, 'k3': 123}

 e、根据key获取值

 ①使用get()获取,如果key不存在,则返回None

info = {"K1": "V1","K2": "V2"}
v=info.get('K1')
v >> v1

 ②、通过索引key获取,如果key不存在,会报错

info = {"K1": "V1","K2": "V2"}
info['K1'] >> V1 info['K3'] >> KeyError # 对于不存在的key,会抛出异常。

 f、设置值

 ①、通过key设置value

 如果存在key,则更改对应的value值,如果不存在,则给字典新增key和value

dic = {'a':1, 'b':2}
dic['a'] = 22 # 更改
dic >> {'a':22, 'b':2}
dic['c'] = 33 # 增加
dic >> {'a':22,'b':2,'c':33}

 ②、setdefault

  key已存在,不设置,获取当前key对应的值
  key不存在,设置,获取当前key对应的值

info = {"K1": "V1","K2": "V2"}
V=info.setdefault('K1', 22)
info.setdefault('k3',11)
V >> V1
info >> {'K1': 'V1', 'K2': 'V2', 'k3': 11}

 g、更新 

info = {"K1": "V1","K2": "V2"}
info.update({'K1':11})
#info.update(K1=11) info >>{'K1': 11, 'K2': 'V2'}

  

python基础—基本数据类型—数字,字符串,列表,元组,字典的更多相关文章

  1. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  2. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  3. Python数据类型-布尔/数字/字符串/列表/元组/字典/集合

    代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...

  4. python数据类型(数字\字符串\列表)

    一.基本数据类型——数字 1.布尔型 bool型只有两个值:True和False 之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False. (1)布尔值是False的各种情况 ...

  5. python基础知识-04-字符串列表元组

    python其他知识目录 内存,cpu,硬盘,解释器 实时翻译 编译器 :一次性翻译python2,3 除法,2不能得小数,3能得小数 1.字符串操作 1.1字符串操作startswith start ...

  6. python基础一数据类型之字符串

    摘要: python基础一中有字符串,所以这篇主要讲字符串. 一,字符串的注释 二,字符串的索引与切片 三,字符串的方法 一,字符串的注释 单引号 双引号 三引号都可以用户定义字符串.三引号不仅可以定 ...

  7. python字符串/列表/元组/字典之间的相互转换(5)

    一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...

  8. python字符串 列表 元组 字典相关操作函数总结

    1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...

  9. Python基础->for循环、字符串以及元组

    python流程控制>for循环.字符串以及元组 学习有关序列的思想.序列:一组有顺序的东西.所有的序列都是由元素组成的,序列中的元素位置是从0开始编号的,最后一个元素的位置是它长度减一. fo ...

  10. python 字符串,列表,元组,字典相互转换

    1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回:<type 'str'> {'age': 7, 'n ...

随机推荐

  1. 修改npm下载地址为淘宝镜像

    修改 npm 下载地址 修改为国内淘宝镜像 # 修改为新淘宝镜像(推荐) npm config set registry https://registry.npmmirror.com/ # 旧 npm ...

  2. Netty基础—6.Netty实现RPC服务

    大纲 1.RPC的相关概念 2.RPC服务调用端动态代理实现 3.Netty客户端之RPC远程调用过程分析 4.RPC网络通信中的编码解码器 5.Netty服务端之RPC服务提供端的处理 6.RPC服 ...

  3. bp靶场业务逻辑漏洞

    修改商品价格 目标是修改价格后低价买下这件夹克,再home这个页面的第一个商品就是 点击Add to cart,抓包,发现price的值可以该,改成000发现不行,0.00也不行,改成10后发现购物车 ...

  4. 利用Windows自带性能计数器分析软件产品的性能瓶颈(转)

    利用Windows性能计数器分析软件产品的性能瓶颈转自:http://blog.163.com/jack_test/blog/static/166620663201061594459936/ [摘要] ...

  5. Win环境下的批处理命令和JScript脚本结合使用笔记

    最近工作有接触到.bat 批处理命令,在Win环境下编写的时候基于以前的编码习惯,觉得批处理语法可读性较差,于是学习了解了一下结合JScript的用法,特此记录. 什么是JScript JScript ...

  6. [源码系列:手写spring] IOC第一节:简单bean容器

    本专栏带领大家手写一遍spring的核心代码,包括IOC,AOP,三级缓存... 第一节较为简单,后面的章节会逐渐提升代码量和复杂度,喜欢的同学记得订阅哦  ̄▽ ̄ 定义一个简单的bean容器BeanF ...

  7. ANSYS 启动窗口过大问题解决

    方法总结(省流版):选择兼容性下更改高 DPI 设置 => 勾选高DPI 缩放代替 ,且其下对应应用程序选项 1.环境 系统环境:Windows 11 设备情况:分辨率 1920×1080:缩放 ...

  8. 【SpringMVC】运行流程

    SpringMVC 运行流程 在 Spring 的环境下使用 SpringMVC Bean 被创建两次? Spring 的 IOC 容器不应该扫描 SpringMVC 中的 bean, 对应的 Spr ...

  9. Redis使用IO多路复用进行事件处理机制

    一.epoll多路复用 这里重点要说的就是redis的IO编程模型,首先了解下 为什么要有多路复用呢 ? 案例 引用知乎上一个高赞的回答来解释什么是I/O多路复用.假设你是一个老师,让30个学生解答一 ...

  10. MySQL 的查询优化器如何选择执行计划?

    MySQL 的查询优化器负责决定如何执行 SQL 查询,它会根据多个因素选择最优的执行计划.查询优化器的目标是选择一个成本最低.性能最优的执行计划,以便高效地处理查询.执行计划的选择是基于 MySQL ...