判断
if 条件语句: #注意一定要加上冒号
执行语句
elif 1==1:
执行语句
else:
执行语句
循环
while True:
if n==1:
break
elif n==2:
continue
for i in 'hello world':
print(i)
range
range(开始索引号:结束索引号:步长)
range(0,10) 代表0到9十个数字
字符串
- 创建
s1 = 'shark'
s2 = "shark"
s3 = """hello shark"""
s4 = '''hello shark'''
s5 = """hello
shark
"""
- 拼接
print("hello" + "world")
注意:不能将字符串与非字符串类型的对象进行拼接
- *复制
print("*" * 20 ) 输出20个*号
print("sadfdsa" * 0) 字符串和0相乘,会得到一个空字符串
字符串的进阶
Python中第一个数据结构 序列类型
-
存放的数据,在其内是有序的,内部的数据是可以通过在其
内部所处的位置进行访问等操作。 -
字符串型就是 python 序列类型的数据结构中的一种,本质是
字符序列
序列类型的特点
-
序列里的每个数据被称为序列的一个元素
-
元素在序列里都是有个自己的位置的,这个位置被称为索引或
者叫偏移量,也有叫下标的 -
下标偏移量从 0 开始到序列整个元素的个数减去1结束
序列中的每一个元素可以通过这个元素的偏移量(索引)来获取到
而多个元素需要用切片的操作来获取到
1.获取元素
- 获取单个元素
s='shark'
s[0] 获取单个元素
s[-1] 获取最后一个元素
- 切片
[开始索引号:结束索引号:步长]
s1[0:2] 获取字符串索引为0和1的内容
s1[::2] 获取字符串内容,隔两个输出一个
len(s1) 求出字符串的长度
s1[::-1] 步长为负的代表从右往左开始读取数据
- 字符串对象的方法
- split
url='www.baidu.com'
url.split('.') 输出为['www','baidu','com']
url.split('.',2) 对前两个.进行切割
-
rsplit 从右向左进行切割
和split类似 -
replace
url='www.baidu.com'
url.replace('old','new') 将旧的字符替换为新的字符
- strip 去除两端的空格
s=' sadf '
s.strip() 结果为s='sadf'
inp = input(">:").strip() 确保用户输入的内容没有空格
- startswith endswith 判断字符串以什么开头,结尾
- index 获取一个元素在字符串内的索引
s='hello world'
s.index(e) 输出1
s.index(o) 输出4,找到第一个o就会输出
- title 单词首字母大写
s='hello world'
s.title() 结果为'Hello World'
- upper lower
s='Hello World'
s.upper() 结果为'HELLO WORLD'
s.lower() 结果为'hello world'
s=" i'm shark"
s.upper() 结果为"I'M Shark " 输出结果会出问题
扩展
import string 导入string包
string.capwords(s) 结果为" I'm Shark "
string.ascii_lowercase 输出所有小写字母
string.ascii_uppercase 输出所有大写字母
string.ascii_letters 输出所有大小写字母
string.digits 输出所有数字0-9
import random 导入random包
random.randint(a,b) 随机生成a到b的值,不包括b
random.sample(a,n) 在a内随机选n个内容
random.shuffle(list(a)) 打乱列表内的内容顺序
for ...:
函数体
else:
函数体
- 只有当循环正常执行完毕时,才会执行一次else的内容
- 如果程序中途break,就不会执行
例子:
n=0
for i in range(5):
n+=1
if i==3:
print("中途执行失败")
break
else:
print("正常执行完毕")
#这个循环会输出 “中途执行失败”,因为当i为3的时候,会满足if条件,break推出
all and 与 not
all([1,0]) 会输出False, 判断列表内的所有值,所有都为真的话输出True,由于列表内有一个0,所以会输出False
all([]) 会输出True,与正常理解有所差异
any[1,0] 会输出True
网友评论