day03 python
一.基本数据类型
1.int
a= 8
a_length = a.bit_length() #此方法求数字的二进制长度
print(a_length)
2.bool
只有True 和 False 两个值
涉及到的类型转换
str()
int()
bool() #所有的空是 False: 0 "" () []{} None
3.str 一般不存放大量数据
'' "" '''''' """""" 括起来的就是字符串, 是不可变的数据类型, 无论什么操作, 源字符串不变.返回结果是新的字符串
索引: 从 0 开始使用 [n] 可以获取到每一个字符, 超过索引值报错:支持从后面数 -1
切片: [起始位置:结束位置:步长] 包括开头, 不包括结尾,步长支持负数
s = 'bajie'
print(s[0:500]) #超过索引相当于不写
print(s[0:])
print(s[:])
print(s[:500]) #从头切到尾, 取全部
s = 'bajieaishuishui'
s.capitalize()
print(s)
bajieaishuishui #无论什么操作, 源字符串不变.返回结果是新的字符串
s = ' bajie ai sHuisHui '
print(s.capitalize()) #首字母变成大写
print(s.lower()) #把字符串变成小写
print(s.upper()) #把字符串变成大写
print(s.swapcase()) #大小写互换
print(s.casefold()) #把字符串变成小写, 支持一些东欧的字母
print(s.title()) #把每个单词的首字母大写, 其余单词变成小写
print(s.center(30,'#')) #把字符串居中, 以'#'号填充
print(s.strip()) #去掉字符串两边的空格 和 空白, \t \n 空格
print(s.lstrip()) #去掉左空白
print(s.rstrip()) #去掉右空白
print(s.replace('bajie','wukong')) #替换字符串中的某些
print(s.replace('bajie', '')) #去掉字符串中的某些东西
print(s.replace('i','I',2)) #替换时, 限定替换的个数, 默认 -1 代表所有
print(s.split()) #切割, 结果是列表, 列表中装的是字符串, 如果刀和木头一样长, 会留下两个空字符串的列表
s1 = 'bajie \taishuihui'
print(s1.expandtabs()) #更改字符串中 \t 的长度, 默认是8个空格
格式化输出
s = 'my name is %s, my age is %s, I like %s.' % ('bajie', '500', 'shuishui')
print(s)
s = 'my name is {}, my age is {}, I like {}.'.format('bajie', '500', 'shuishui') #{}占位符, 不区分数据类型
print(s)
s = 'my name is {0}, my age is {1}, I like {2}.'.format('bajie', '500', 'shuishui') #指定位置, 从 0 开始
print(s)
s = 'my name is {name}, my age is {age}, I like {like}.'.format(name='bajie', age='500', like='shuishui') #指定变量具体参数, 比较准确, 但是这样比较麻烦
print(s)
查找判断
s = 'bajieaishuishui'
print(s.startswith('bajie')) #判断是不是以什么开头
print(s.endswith('shui')) #判断是不是以什么结尾
#以下三个都可以进行索引查找指定范围
print(s.count('i')) #统计什么出现的次数
print(s.find('i')) #查找什么出现的位置, 查到第一个就算完, 返回索引, 如果没有返回 -1
print(s.index('i')) #和find基本一样, 区别是没有找到会报错 ValueError
条件判断
s = '123456'
print(s.isdigit()) #判断字符串中是不是都由数字组成的
print(s.isalpha()) #判断字符串中是不是都由字母组成的
print(s.isalnum()) #判断字符串中是不是由 数字 和 字母 组成的
print(s.isnumeric()) #判断字符串中是不是都由数字组成的(支持中文中的大写)'五十六千百万萬佰'
求什么的长度
len('bajie') #统计字符串中字符的长度
迭代: 一个一个地往外拿
s = 'bajie'
for n in range(len(s)): #遍历
print(s[n])
for item in s: #迭代: 把可迭代的每一个元素赋值给前面的变量
print(item)
4.list 用来存放大量数据
5.tuple 只读列表
6.dict 字典
7.set 不重复
练习
'''
求质数
求100以内的质数(n % (2~n-1)如果没除开, 就是质数)
'''
for i in range(1,101):
for j in range(2,i):
if i%j == 0:
break
else:
print(i)