python基础知识查漏补缺

python中真值表

 
“String”:True
0:False
>=1:True
<=-1:True
"" 空字符串:False
() 空元祖:False
[] 空列表: False
{} 空字典:False
None: False
 
 
循环else子句:如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行。
语法:
while condition:
    block
else:
    block
 
for element in iteratable:
    block
else:
    block
 
三目运算符替代表达式
源代码:
if a > b:
    print(b, a)
else:
    print(a, b)
三目运算符:
真值 if 条件 else 假值
即上面代码可以表示为:print(b, a) if a > b else print(b, a)
 
print函数的用法:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
 
sep :输出的多个value之间的分割符,默认不分割
end:输出之后的结束符,默认输出之后换行
file:输出定向文件,默认输出到sys.stdout
flush:是否强制刷新输出缓存流
例如:print('hello', 'world', sep = '***', end='####')
输出结果:
>>> print('hello', 'world', sep = '***', end='####')
hello***world####>>>
 
字符串format用法:
函数原型:S.format(*args, **kwargs) -> str
 
value1 = val1
value2 = val2
value3 = val3
例1: "{} {} {}".format(value1, value2, value3)  输出:"val1 val2 val3"
例2:"{2}****{0}*****{1}".format(value1, value2, value3) 输出:"val3****val1*****val2"
其中{}为占位符,{2}代码索引为2的参数
例:"{0} * {1} = {2:<6}".format(1, 2, 3) 输出:"1 * 2 = 3     "
例:"{0} * {1} = {2:>6}".format(1, 2, 3) 输出:"1 * 2 =      3"
其中{2:>6}表示对索引为2的值采用占6个字符并向右对齐,相反{2:<6}表示向左对齐,省略{2:6}表示默认向右对齐
九九乘法表打印代码:
for in range(110):
    for in range(1, i+1):
        print("{1}X{0}={2:<2}".format(i, j, i*j), end ' ')
    print()

 
s = "{server} {1}:{0}".format("8000""127.0.0.1"server "Web Server Info")
s = "{0[0]} {0[1]}".format(("abc""def"))
'{0}*{1}={2:<2}'.format(322*3#输出第三个数字占两位并左对齐输出 3*2= 6
'{0}*{1}={2:<02}'.format(322*3#输出的第三个数据占两位并左对齐,并且空位用0补充,输出: 3*2=60
'{0}*{1}={2:>02}'.format(322*3#输出的第三个数字占两位并右对齐且空位用0补充,输出:3*2=06
'{:^30}'.format("centered"#该域输出占30位,并居中输出,输出:' centered '
'{:*^30}'.format("centered"#该域输出占30位,居中输出,并用*填充空位,输出:'***********centered***********'
进制打印:
"int:{0:d}; hex:{0:x}; oct:{0:o}; bin:{0:b}".format(42#输出:'int:42; hex:2a; oct:52; bin:101010'
"int:{0:d}; hex:{0:#x}; oct:{0:#o}; bin:{0:#b}".format(42#输出:'int:42; hex:0x2a; oct:0o52; bin:0b101010'
 
python对数字的处理方法:
 
import math
round() ----四舍六入,五取最近的偶数
math.floor()  --向下取整
math.ceil()   ---向上取整
int() --取整,与//相同作用
math.pi  ---π
math.sqrt()   ---开平方
math.pow()   ----x ** y
 
类型判断
 
type(obj)   ---返回类型而不是字符串,比如type('q')  返回str类
isinstance(obj, class_or_tuple)   ---返回布尔值,比如:isinstance(6, int)   isinstance(6, (int, str))
 
随机数
random模块
randint(a, b)  随机返回[a, b]之间的整数
choice(seq) 从非空序列的元素中随机挑选一个元素
randrange([start, ]stop [, step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
random.shuffle() -->None 就地打乱列表信息
 
 
字符串分割
 
从左向右切割,maxsplit为最大切割次数
S.split(sep=None, maxsplit=-1) -> list of strings  
 
从右向左切割(可用于取某个目录字符串的最后一级路径名)
S.rsplit(sep=None, maxsplit=-1) -> list of strings
 
按行切割字符串:
S.splitlines([keepends]) -> list of strings    #将\r、\n、\r\n都认为是换行符
 
分割字符串二:
S.partition(sep) -> (head, sep, tail)
   从左至右分割,如果遇到分隔符就把字符串分割成两部分,并返回头、分隔符、尾的三元组;如果没有找到分隔符,就返回头、两个空元素的三元组
 
S.rpartition(sep) -> (head, sep, tail)
   从右向左分割,如果遇到分隔符就把字符串分割成两部分,并返回头、分隔符、尾的三元组;如果没有找到分隔符,就返回头、两个空元素的三元组
 
S.title()    #标题的每个单词首字母大写
S.center(width [,fillchar])     #居中打印,width:打印宽度,fillchar:填充的字符
S.zfill(width)   #居右打印,width:打印宽度,左边用0填充
S.ljust(width [,fillchar])     #走对齐,width:打印宽度,fillchar:填充的字符
S.rjust(width [,fillchar])     #右对齐,width:打印宽度,fillchar:填充的字符
 
S.strip([chars])   #从字符串两端去除指定的字符集chars,默认去除空白字符
S.lstrip([chars]) #从字符串左边去除指定的字符集chars,默认去除空白字符
S.rstrip([chars]) #从字符串右端去除指定的字符集chars,默认去除空白字符
 
字符串查找:find没有找到返回-1, index没有找到,抛出异常
S.find(sub[, start[, end]]) -> int
S.rfind(sub[, start[, end]]) -> int
 
S.index(sub[, start[, end]]) -> int
S.rindex(sub[, start[, end]]) -> int
 
 
发布了8 篇原创文章 · 获赞 0 · 访问量 7936

猜你喜欢

转载自blog.csdn.net/u013410838/article/details/104290857