python读书笔记

1.常用函数

abs(x) 返回指定值的绝对值
bytes(string,encoding[,errors]) 对指定字符串进行编码,并以指定的方式处理错误
pow(a,b) a的b次方
pow(x,y[,z]) 返回x的y次方对z求模的结果
round(x) 将浮点数圆整为与之最接近的整数
round(number[,ndigits]) 四舍五入为指定的精度,正好为5时舍入到偶数
float(x) 将字符串或数字转换为浮点数
help([object]) 提供交互式帮助
input(x) 以字符串的方式获取用户输入
import math
math.floor(x) 以浮点数的方式返回向下圆整的结果
math.ceil(x) 以浮点数的方式返回向上圆整的结果
math.sqrt(x) 求给定数的平方根,可用于复负数
通过使用命令import 的变种 from moudle import function,可在调用函数时不指定模块前缀
nan具有特殊含义,指的是非数值(not a number)
注释: # xxx
字符串拼接 +
str(obj):将指定的值转换为字符串。用于转换bytes时,可指定编码和错误处理方式
repr(obj):返回指定值的字符串表示
长字符串('''xxx'''):若要表示很长的字符串需要用三引号
(常规字符串也可以跨多行,在行尾加上反斜杠即可)
原始字符串:前缀前加 r 即可

2、列表和元组
  不同之处:列表可以修改元组不可以
  两种主要的容器:序列、映射、集合(set)
  序列:列表和元组
  映射:字典

  浅谈序列:索引、切片、相加、相乘、成员资格审查
  1.索引:序列中所有元素都有编号从0开始,使用负索引时将从右往左数(-1 是最右边元素)
  2.切片:用切片访问特定范围内的元素。为此,可使用两个索引,并用冒号分隔开
    第一个索引是包含的第一个元素的编号,第二个索引是切片后余下的第一个元素的编号
    第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内
  3.简写:
    若切片作用于序列末尾,可省略第二个索引;若切片始于序列开头可省略第一个索引
    若复制整个序列可将两个索引都省略
  4.步长:执行切片操作时可以显式或隐式的指定起点和终点,但通常省略另一个参数:步长。在普通切片中步长为1,也可显式指定步长。注:步长不能为0,但可为负数,即从右向左提取元素
  5.序列相加:相加序列为同类型,不同类型会报错。
  6.乘法:将序列和x相乘时,降重复序列x次来创建一个新序列
  7.成员资格:运算符 in 检查是否满足指定的条件并返回相应的值:满足时返回True,不满足返回false。(布尔运算

  列表:可变、可修改其内容
  基本操作:
  函数liss("xxx") 可将任何序列作为list的参数
    形式:listname = [x,x,x,x]
  删除元素:del listname[lindex]
  给切片赋值:
  列表方法:
  形式:object.method(arguments)
    追加:lst.append(x)
    清空:lst.clear()
    复制列表:lst1 = lst2
    指定元素出现的次数:lst.count(x) :x 在lst中出现的次数
    将多个值附加到列表表尾:lst.extend(b) : 将列表 b 扩展到列表 lst 中
    查找指定值第一次出现的索引:lst.index(x)
    插入:lst.insert(index,x) : 将x插入到列表 index 的位置
    从列表中删除一个元素(末尾为最后一个元素),并返回这一元素:lst.pop()
    用于删除第一个为指定值的元素:lst.remove("x")
    按相反的顺序排列列表中的元素:lst.reverse()
    对列表就地排序:lst.sort()
    高级排序:方法sort接受两个可选的参数:key和reverse

  元组(不可修改的序列):
  元组语法简单,将一些值用逗号分隔开,就能自动创建一个元组
  元组可以用括号括起来(这是通常的做法)
  包含一个值的元组,特殊点:即使为一个值,也必须在它后面加上逗号


3、字符串:
基本操作:
所有标准序列操作(索引、切片、乘法、成员资格审查、长度、最小值和最大值)都适用于字符串,但是字符串是不可变的,因此所有元素赋值和切片赋值都是非法的的
设置格式:

format = "hello ,%s.%s enough for ya?"
values = ('world','Hot')
print(format % values)
输出:
hello ,world.Hot enough for ya?

%s 为转换说明符,指出了要将值插入到那个地方
s 意味着将值视为字符串对待
%.3f 将值的格式设置为包含3位小数的浮点数


模板字符串如下:

from string import Template
tmpl = Template("Hello,$who! $what enough for ya?")
print(tmpl.substitute(who = "Mars",what = "Dusty"))
输出:
Hello,Mars! Dusty enough for ya?

字符串方法format:使用这种方法时,每个替换字段都用花括号括起来,其中可能包含名称,还有可能包含有关如何对相应的值进行转换和格式设置的信息

print("{},{} and {}".format("first","second","third"))
输出:
first,second and third

print("{0},{1} and {2}".format("first","second","third"))
输出:
first,second and third

print("{3},{0} {2} {1} {3} {0}".format("be","not","or","to"))
输出:
to,be or not to be

from math import pi
print("{name} is approximately {value:.2f}".format(value = pi,name = "pi"))
输出:
pi is approximately 3.14

宽度、精度和千位分隔符:
宽度是使用整数指定的:

print("{num:10}".format(num = 3))
输出:
         3

精度也是使用整数指定的,但需要在它前面加上一个表示小数点的句点

from math import pi
print("Pi day is {pi:.2f}".format(pi = pi))
print("Pi day is {pi:10.2f}".format(pi = pi))
输出:
Pi day is 3.14
Pi day is       3.14

可使用逗号来指出要添加的千位分隔符:

print("one google is {:,}".format(10**100))
输出:
one google is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

符号、对齐和用 0 填充(未完待续。。。)

猜你喜欢

转载自www.cnblogs.com/IamJiangXiaoKun/p/9652211.html