数值、字符串与列表

数据类型

1、数值类型

变量需要经过声明赋值才能使用
数值表达式可以+,-,*,/
数值显示使用"{}".format()方法,format格式控制如下表:

:<填充><对齐><宽度><,><精度><类型>
引导符号填充字符<左对齐 >右对齐^中间对齐输出宽度千位分隔符浮点数精度或字符串最大输出长度整数类型b,c,d,o,x,X浮点数类型e,E,f,%

c为整数对应的Unicode字符,d为输出整数的十进制方式
例如:
f=3.3333
'f={0:.2f}'.format(f)
f=3.33
>>> '{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}'.format(521) '1000001001,ȉ,521,1011,209,209'

数值比较

<,>,≥,≤,==,!=返回布尔型,即True或False

数值除法

/表示正常除,//表示取整除
round()函数四舍五入取整

math库取整

>>> import math
>>> math.floor(3.6)
3
>>> math.floor(-2.8)
-3
>>> math.trunc(3.72)
3
>>> math.trunc(-3.99)
-3
>>> math.ceil(3.2)
4
>>> math.ceil(-2.6)
-2
math.floor()向下取整,math.trunc()截断整数部分,math.ceil()向上取整。

数值进制

0o表示八进制,0x表示16进制,0b表示2进制
转换方式
>>> oct(256),bin(256),hex(256)
('0o400', '0b100000000', '0x100')
Decimal小数类型可以解决浮点数运算不确定尾数的问题。

布尔型

>>> isinstance(True,int)
True
布尔型是整型的一个实例,即
>>> True == 1
True
>>> False == 0
True
非空即真,非0即真!

2、字符串类型

使用单引号’ ',双引号" “,三引号声明”"" “”"
三引号一般用做函数、类别等说明类文档

转义符"\"

反斜杠字符"“在python中带便“转义”,即该字符与后面相邻的一个字符共同组成了新的含义。
\n表示换行,\表示反斜杠,‘表示单引号,’'表示双引号,\t表示制表符(Tab)等。
忽略转义符:在字符串前面加个r,即r”…",输入存储路径的时候经常用到

字符串操作

连接两个字符串:x+y
复制n次字符串x:x*n
判断x是否为S子串:x in s,返回True or False
支持字符串的索引和切片
>>> s='python'
>>> s[0]
'p'
>>> s[0:3]
'pyt'

字符串常用处理函数

len(x)返回字符串x长度
>>> len('csdn博客')
6
str(x)返回任意类型X对应的字符串形式
>>> str(3.14159)
'3.14159'
chr(x)返回Unicode编码为x对应的单字符
>>> chr(97)
'a'
ord(x)返回单字符x对应的Unicode编码
>>> ord('爱')
29233

字符串常用处理方法

str.split()分割字符串返回分割的列表
>>> s='life is short,I learn python'
>>> s.split(",")
['life is short', 'I learn python']

str.count(sub)返回sub子串出现的次数
>>> s.count("l")
2

str.replace(old,new)返回将字符串里面的old字符全部替换为new字符的副本
>>> s.replace("I","you")
'life is short,you learn python'
注意:字符串是不支持原位更改的数据类型,返回的副本和原字符串具有不同的内存地址。如:
>>> s[0]='m'
Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> s[0]='m'
TypeError: 'str' object does not support item assignment

str.join(iter)将iter变量的每一个元素后增加一个str字符
>>> s='python'
>>> '/'.join(s)
'p/y/t/h/o/n

str.strip(chars)将字符串str的左侧和右侧取点chars字符
>>> s='haodenih'
>>> s.strip("h")
'aodeni'
str.lstrip()和str.rstrip()分别去掉左侧和右侧

str.upper()和str.lower()分别返回字符串大小写的副本
>>> s.upper()
'HAODENIH'
>>> s.lower()
'haodenih'

判断字符串的开头str.startswith()和结尾str.endswith()
s='baidu.com'
>>> s.startswith("ba")
True
>>> s.endswith("com")
True

str.find(‘chars’)找到字符串中某字符的位置,没找到时返回-1
>>> s.find('oo')
-1
>>> s.find('o')
7

注意:字符串方法返回的副本均不改变原字符串,可以将副本重新赋值为原字符串变量达到改变字符串的效果。
>>> s='python'
>>> s=s.replace('p','n')
>>> s
'nython'
即此时变量s指向副本‘nython’地址,原‘python’字符串由PVM释放。

3.列表

列表是任意对象的有序元素向量,可通过索引下标访问元素,属于可变序列数据类型

常用操作

ls+lt 返回列表相加的新列表
>>> ls=[1,2,3]
>>> lt=[4,5,6]
>>> ls+lt
[1, 2, 3, 4, 5, 6]

ls*n 返回将列表里面的所有元素复制n次的新列表
>>> ls*2
[1, 2, 3, 1, 2, 3]

字符串一样支持序列数据的ls.index(x)和ls.count(x)方法
>>> ls.count(1)
1
>>> ls.index(3)
2

支持索引,遍历和切片
>>> ls[0]
1
>>> ls[0:1]=[5,6,7]
>>> ls
[5, 6, 7, 2, 3]
>>> for i in ls:
print(i,end=' ')
5 6 7 2 3
列表推导法遍历
>>> [i for i in ls]
[5, 6, 7, 2, 3]

列表常用函数

len(ls)返回列表长度
>>> ls
[5, 6, 7, 2, 3]
>>> len(ls)
5
min(ls)返回列表中的最小元素
>>> min(ls)
2
max(ls)返回列表中的最大元素
>>> max(ls)
7
list(x)将可迭代对象x转换为列表类型
>>> list('python')
['p', 'y', 't', 'h', 'o', 'n']

列表常用方法

ls.append(x)ls在列表最后增加一个元素x
>>> ls=[5,6,7,2,3]
>>> ls.append(0)
>>> ls
[5, 6, 7, 2, 3, 0]

ls.extend(lt)在ls列表后面扩增lt列表的元素
>>> ls.extend([1,4])
>>> ls
[5, 6, 7, 2, 3, 0, 1, 4]

ls.insert(i,x)在ls列表第i个位置增加元素x
>>> ls.insert(1,8)
>>> ls
[5, 8, 6, 7, 2, 3, 0, 1, 4]

ls.pop(i)返回列表中第i项元素弹出值
>>> ls.pop(-2)
1
不指定位置时自动弹出列表最后一个元素

ls.remove(x)将列表中出现的第一个元素x删除
>>> ls
[5, 8, 6, 7, 2, 3, 0, 4]
>>> ls.remove(7)
>>> ls
[5, 8, 6, 2, 3, 0, 4]

全局操作del(ls[i])删除ls列表第i个元素
>>> del(ls[2])
>>> ls
[5, 8, 2, 3, 0, 4]

ls.sort()将ls列表里面的元素排序
>>> ls.sort()
>>> ls
[0, 2, 3, 4, 5, 8]

ls.reverse()将ls列表元素反转
>>> ls.reverse()
>>> ls
[8, 5, 4, 3, 2, 0]

ls.clear()删除ls中所有元素
>>> ls.clear()
>>> ls
[]

拷贝副本使用ls[:],ls.copy()
>>> ls=[1,2,3]
>>> lt = ls[:]
>>> lt
[1, 2, 3]
拷贝的副本和原列表有不同的内存地址
>>> id(lt)
2131109404168
>>> id(ls)
2131149724424
注意:列表为可原位更改的数据类型,更改列表的方法直接更改原列表的数据,更改列表的方法自身返回值为None。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值