Python
不可变和可变对象:
对象是一个可以存储数据并有可以操纵数据的操作或方法的实体。当一个变量使用赋值语句创建出来后,等号右边的值变成了内存中的一个对象,而变量引用(即指向)那个对象
可以原地修改的对象称为可变的,比如:列表。不能原地修改的对象称为不可变的,比如:数值、字符串和元组
索引和切片
能够索引的类型有:字符串、列表和元组
索引:
1.正向:
正向索引2.反向:
反向索引索引不允许越界
切片:
假设 str 是一个字符串变量 str[m:n] 包括了从索引为 m 到索引为 n-1的所有字符。如果 m 忽略,则表示从首字符开始 。如果 n 忽略,则表示到字符串末尾的字符。如果 m 和 n 都忽略,则表示整个字符串。如果 m>n ,则表示空的
切片允许越界,如果 m 过小,会从第一项开始,如果 n 过,会到最后一项
输入输出:
input() 输入 以Enter或return结束总是返回字符串:
input()print() 输出(结束后自动换行):
print()print(sep) 将分隔符改成我们想要的字符串sep:
print(sep)print(end) 在同一行的末尾显示end代替了的换行符:
print(end)测试 print(end)测试结果ljust(n) 左对齐 rjust(n) 右对齐 center(n) 居中 如果字符串没有达到宽域数字 n ,该字符串右、左或者两边用空格填充:
ljust(n) rjust(n) center(n)print('0123456789012345678901324567')
print('Rank'.ljust(5),'Player'.ljust(20),'HR'.rjust(3),sep='')
print('1'.center(5),'Barry Bonds'.ljust(20),'762'.rjust(3),sep='')
print('2'.center(5),'Hank Aaron'.ljust(20),'755'.rjust(3),sep='')
format() 对齐输出 <左对齐 ^居中 >右对齐:
format()print('0123456789012345678901324567')
print('{0:^5s}{1:<20s}{2:>3s}'.format('Rank','Player','HR'))
print('{0:^5d}{1:<20s}{2:>3d}'.format(1,'Barry Bonds',762))
print('{0:^5d}{1:<20s}{2:>3d}'.format(2,'Hank Aaron',755))
冒号之前数字是增长的对应多个位置,冒号后的数字是宽域数字
当需要格式化数字时,d 表示整型, f 表示浮点型, % 表示数字一百分数显示 逗号 , 表示千位分隔符
格式化数字格式化字符串时,s表示字符串
当用format格式化数字时,居右对齐时默认的对齐方式,格式化字符串时,居左对齐是默认的对齐方式
type() 判断类型:
type()isinstance() 判断类型:
isinstance()数值:
abs() 绝对值,不改变原数值:
abs()int() 丢弃小数点后的数值保留整数,不改变原数值:
int()float() 转换成小数,不改变原数值:
float()round(n,r) 四舍五入:将数值 n 保留到小数点后 r 位,不改变原数值:
round(n,r)round(n) 四舍五入到整数,如果 n 是两个数的中间,则返回距离最近的偶数,不改变原数值:
round(n)range() 产生一个等差数列:
range(m,n) m<n 产生 m 到 n-1 的数,如果忽略 n 则产生从 0 开始到 m-1 的数,公差是 1
range(m,n)range(m,n,s) m<n 且 s>0 或者 m>n 且 s<0 则产生从 m 开始 ,公差为 s 的小于 n 的数
chr() 返回ASCII:
chr()字符串:
len() 返回字符串的长度:
len()upper() 转换为大写字母,不改变原字符串:
upper()lower() 转换为小写字母,不改变原字符串:
lower()count() 返回字符串中出现的次数:
count()capitalize() 字符串首字母大写其他字母小写,不改变原字符串:
capitalize()title() 字符串每个单词的首字母大写其他字母小写,不改变原字符串:
title()rstrip() 移除字符串末尾的空白字符(换行符,空格,转义序列),不改变原字符串:
rstrip()int() 如果字符串是一个包含整数的字符串,返回整数,不改变原字符串,如果字符串以换行符结尾,自动忽略:
int()float() 如果字符串是一个包含任意数字的字符串,返回浮点型,不改变原字符串,如果字符串以换行符结尾,自动忽略:
float()eval() 如果字符串是一个包含数值表达式的字符串,则eval函数计算表达式,不改变原字符串,如果字符串以换行符结尾,自动忽略:
eval()startswith() 判断是否为开头:
startswith()endswith 判断是否为结尾:
endswith()ord() 返回ASCII的数字:
ord()列表:
len() 列表中元素的个数:
len()max() 最大值(列表元素必须是相同类型):
max()min() 最小值(列表元素必须是相同类型):
min()sum() 求和,元素必须是数字:
sum()count() 一个对象出现的次数:
count()index() 一个对象首次出现的索引位置:
index()reserve() 所有元素逆序,改变原列表:
reserve()clear() 清空:
clear()append() 在列表末端插入对象:
append()extend() 在列表末端插入新列表中的所有元素:
extend()del() 移除给定索引位置上的元素:
del()remove() 移除一个对象的首次出现:
remove()insert 在给定索引位置上插入新元素:
insert()split() 将一个字符串变成其子串组成的列表。split(a) a是分隔符,任意字符串都可以作为分隔符,如果没有指定分隔符,将使用空白作为分隔符:
join() 将一个字符串列表变成一个字符串:
join()sor() 将列表中的元素排序,改变原列表:
升序:
sort()降序:
sort()sorted() 排序不改变原列表但返回一个新的排好序的列表:
升序:
sorted()降序:
sorted()