Python学习 三

关于 and, or

#! /usr/bin/env python
#-*- conding: utf-8 -*-

a = '123'
b = 4

'''
and ,or
在优先级一文中可以看出and, or 处于同一级别 
因此在计算一连串的and, or时需要记住 断点规则 
不过在写代码时最好使用括号
''' #例如 c = a == '11' and b == 4 or a == '123' and b == 5 #c 的结果为false 在python中 计算从左到右编译计算 如果遇到逻辑运算符and且其左边表达式结果为false 则停止运算结果为false 如果遇到逻辑运算符or 且其左边表达式为true 则停止运算结果为true

关于数字的函数

#! /usr/bin/env python
#-*- conding: utf-8 -*-

int ('123')  # int () 方法 将字符串转换为数字   (字符串不能有字母)

int ('0011', base = 2) #结果为3 base表明参数的进制类型  在转换为10进制输出


a = 2
a.bit_length() #表示2的二进制最小为几位 (不包括符号位) 
a = 3
a.bit_length()  # 结果为2

关于字符串的函数

#! /usr/bin/env python
#-*- conding: utf-8 -*-

str = 'alex'
str.capitalize() # 结果为Alex 首字母大写

str = 'liZYN'
str.casefold () #结果为 lizyn  转化为小写
str.lower () #结果为lizyn 转化为小写

str.islower() #判断字符是否为小写

str.isupper() #判断是否为大写
str.upper() #转化为大写

# casefold 与 lower的区别
'''
 lower只能支持英文字母  casefold 则可以支持更多语言
'''
str = 'zyn'
str.center(10, '*')  #结果为'***zyn****'  第一个参数指填充到10位并且str居中  第二个参数指 以什么来填充 默认为空格且第二个参数的字符长度为只能为1

待续

str = 'lizynzzz'
str.count('z') #结果为4 统计参数在str中出现了几次
str.count('z', 4, 6)  #结果为1 后两个参数代表开始位置 到结束位置 (计算是不会包括结尾)  

str = 'lizyn'
str.endswith('n') # 判断是否以这个参数结尾 是返回true 否返回false  参数可以为多字符, 同样存在第二,第三个参数来表示开始和结尾 (计算时不会包括结尾)
str.startswith('l') # 与endswith相反


str = 'lizynz'
str.find('z') #找到第一个 z 返回其位置 找不到返回-1  同样存在第二,第三个参数来表示开始和结尾 (计算时不会包括结尾)

str = 'lizyn is a {name}'
print(str) # 结果为'lizyn is a {name}'
str.format(name = 'lizyn') #结果为 'lizyn is a lizyn'  可添加多个参数
# 如果 str = 'lizyn is a {0}'  则 str.format('lizyn') 可以不再起名

str.format_map( {'name' : 'lizyn'} )  # 结果也为 'lizyn is a lizyn'

str = 'lizyn'
str.index () # 与find的一样可以找字符  但找不到会报错 

str.isalnum() #判断字符串只能有字母或数字 成功为true 失败为false

str = '1234\t55'
str.expandtabs(3) #结果为'1234  55'  它会每次数3个字符遇到\t以空格补齐3个字符
#作用
str = "name\tage\t\nlizyn\t18"
print (str.expandtabs (10))
'''
结果为
name      age
lizyn       18
'''


str.isalpha() #判断字符串只能有字母或汉字  成功为true 失败为false

str.isdecimal() #判断字符串是否为数字 特殊地数字或汉字数字失败   成功为true 失败为false
str.isdigit() #判断字符串是否为数字 不过这个判断如果为特殊地数字也成功(②) 汉字数字不成功   成功为true 失败为false

str.isnumeric() #判断字符串是否为数字  判断如果为特殊地数字也成功(②) 汉字数字也成功   成功为true 失败为false

str.isprintable() #判断字符中是否有不可见字符 有为false 没有为true

str.isspace() #判断是否全部是空格 是为true 

str.title() #转换为标题的形式  例如  li is a  ===>  Li  Is A
str.istitle() #判断是否为正确标题格式 是为true 

a = 'abc'
b = ' '
b.join(a) #结果为 'a b c'  参考js的join


str.ljust(10, '*') #把str放在10个*的左边

str.rjust(10, '*') #把str放在10个*的右边

str.zfill(10)  # 不指定字符 在str的前边放10个0

str.isidentifier() #判断字符串是否为标识符(参考变量的定义规则)  成功为true 失败为false

str.lstrip()
str.rstrip()
str.strip()  #参考 php的 ltrim() rtrim()  trim()

m = str.maketrans('abcdef', '123456')  #作对应关系
v = 'abcdef'
v.translate(m) #结果为 123456  a=>1 b=>2 c=>3 .....

str.partition()  #在字符串左边找到第一个字符 切割为3份  abcdbd  => ('a', 'b', 'cdbd')
str.rpartition() #在字符串右边找到第一个字符 切割为3份  abcdbd => ('abcd', 'b', 'd')
str.split() # 例子 abcabcabc => ['ab', 'ab', 'ab', '']  第二个参数代表找几次分割 
str.replace() #替换

range() 函数创建于php类似 但 python3不会立即创建  只有当你用时才会给你调用一个

posted @ 2019-03-20 20:21  lizyn  阅读(76)  评论(0)    收藏  举报