int,bool,str,以及str的操作

python数据类型

int---数字类型

bool---布尔值

str---字符串类型

一,python基本数据类型

1,int===>整数,主要用来进行数学运算

2,str===>字符串,可以保存少量数据并进行相应的操作

3,bool===>判断真假,True,False

4,list===>存储大量数据,用[ ]表示

5,tuple===>元组,不可以发生改变,用( )表示

6,dict===>字典,保存键值对,一样可以保存大量数据

7,set===>集合,保存大量数据,不可以重复,其实就是不保存value的dict

二,整数

bit_length():计算证书在内存中占用的二进制码的长度

三,布尔值(bool)

取值只有True和False,bool值没有操作

转换问题

str => int(str)

int => str(int)

int => bool  bool(int). 0是False,非0是True

bool => int  int(bool)  True是1,False是0

str => bool bool(str)  空字符串是False,不空是True

bool => str str(bool) 把bool值转换成相应的值

四,字符串(str)

把字符串练成串,在python中用,"," ","""引起来的内容被称为字符串.

4.1切片和索引

1,索引,索引就是下标,切记,下标从0开始

s = "python最牛逼"
print(s[0]) # p
print(s[1]) # y
print(s[9]) # 超出范围会报错
print(s[-1]) # 表示倒数第一

 2,切片,我们可以使用下标来截取部分字符串的内容

语法:str[sart: end]

规则:顾头不顾腚,从start开始截取,截取到end位置,但不包括end

s = "python最牛逼"
print(s[0:3])  # pyt
print(s[0:8:2])  # 规定步长截取,pto最
print(s[-1:-4:-1])  # 从右往左取,逼牛最
print(s[:])  # 输出全部

 

字符串的相关操作

切记,字符串是不可变的对象,所以任何操作对原字符串是不会影响的

大小写转换

s = "python最牛逼"
print(s.capitalize())  # Python最牛逼,首字母转换成大写
print(s.lower())  # python最牛逼, 全部小写
print(s.upper())  # PYTHON最牛逼, 全部大写

# 检验用户输入的验证码是否合法
verify_code = "abDc"
user_verity = input("请输入验证码>>")
if verify_code.lower() == user_verity.lower():
    print("验证成功")
else:
    print("验证失败")

s = "python最牛逼kkk"
print(s.swapcase())  # PYTHON最牛逼,大写转换成小写,小写转换成大写

# 不常用
print(s.casefold())  # 转换成小写,和lower的区别:lower()对某些字符支持不够好.casefold()对所有字母都是有效的

# 每个被特殊字符隔开的字母首字母大写
print(s.title())  # Python最牛逼Kkk,中文也算特殊字符

 

 

切来切去

s = " 周杰伦 "
print(s.center(11, "*"))  # **** 周杰伦 **** , 居中操作,后面可添加填充物.
print(s.strip())  # 去除两边空格
print(s.lstrip())  # 去除左边空格
print(s.rstrip())  # 去除右边空格
# 应用,模拟用户登陆,忽略用户输入的空格
username = input("Name>>")
passwd = input(">>")
if username.strip() == 'chenrun' and passwd.strip() == '123':
    print("登陆成功")
else:
    print("登陆失败")


s = 'abcdefgabc'
print(s.strip("abc"))  # defg  可以指定去除参数


a = 'aylar_alex_taibai_eggon'
print(a.replace('alex', 'chenrun'))  # aylar_chenrun_taibai_eggon , 替换指定元素
print(a.replace('a', '@', 2))  # 可以添加参数,指定替换次数.@yl@r_alex_taibai_eggon

print(a.split("_"))  # ['aylar', 'alex', 'taibai', 'eggon'], 指定分割参数

# !!!注意
print(a.split("a"))  # ['', 'yl', 'r_', 'lex_t', 'ib', 'i_eggon'], 如果分割的字符在
#最右边或者最左边,一定会切割出来一个空的字符
s1 = '''诗人
学者
感叹号
渣渣'''
print(s1.split('\n'))  # ['诗人', '学者', '感叹号', '渣渣']

 

 

格式化输出

s = "我叫%s,今年%d岁了,我喜欢%s" %("陈润", 18, "周杰伦")
print(s)
s1 = "我叫{},今年{}岁,我喜欢{}".format("陈润", 18, "周杰伦")
print(s1)
s2 = "我叫{name},今年{age}岁,我喜欢{singer}".format(singer="周杰伦", age=18, name="陈润")
print(s2)  # 我叫陈润,今年18岁,我喜欢周杰伦

 

name = 'chenrun'
age = 12
print(f"my name is {name},i am {age}")  # my name is chenrun,i am 12

 

查找

s = "我叫sylar,我喜欢python,java,c等语言"
print(s.startswith("我"))  # 是否以我开头,返回bool
print(s.endswith("言"))  # 是否以言结尾,返回bool
print(s.count(","))  # 统计,出现的次数
print(s.find("python"))  # 查找python的位置
print(s.find("c", 4, 10))  # 查找c的位置,规定范围内,查找不到返回-1
print(s.index("python"))  # 查找python的位置,查找不到程序报错

 

条件判断

s = "123.16"
print(s.isalnum())  # 判断是否是数字或者是字母
print(s.isalnum())  # 判断是否是数字
print(s.isalpha())  # 判断是否是字母
print(s.isdigit())  # 判断是否是数字,不包括小数
print(s.isnumeric())  # 这个牛逼,汉字的数字也能识别
# 练习:用算法判断一个字符串是否是小数

s = "-123.12"
s = s.replace("-", "")
if s.isdigit():
    print("是个整数")
else:
    if s.count(".") == 1 and not s.startswith(".") and not s.endswith():
        print("是个小数")
    else:
        print("不是小数")

 

 

计算字符串的长度

s = "你是我的眼,我也是a"
ret = len(s)
print(ret)

 注意:len()是python的内置函数,所以访问方式也不一样

 

迭代

# 使用while和for循环分别打印字符串s="asdfer"中每个元素。
s = 'asdfer'
index = 0
while index < len(s):
    print(s[index])
    index += 1

for item in s:
    print(item)

 

posted @ 2018-06-01 20:35  猴里吧唧  阅读(267)  评论(0)    收藏  举报