Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

1. Python – 基本的输入和输出


2. 流程控制语句

01: Python–基本的流程控制(上)
02: Python–基本的流程控制(下)


3. 数据类型高级


3.1 字符串高级

字符串的常见操作包括:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

说明:len()是python基本函数库的方法,调用的时候是直接调用 len(x),
剩下的方法是字符串对象的方法,调用的形式 是 str.xxx()。

# - 获取长度:len                     len函数可以获取字符串的长度。
# - 查找内容:find                    查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.
# - 判断:startswith,endswith        判断字符串是不是以谁谁谁开头/结尾
# - 计算出现次数:count                返回 str在start和end之间 在 mystr里面出现的次数
# - 替换内容:replace                 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。
# - 切割字符串:split                  通过参数的内容切割字符串
# - 修改大小写:upper,lower           将字符串中的大小写互换
# -  空格处理:strip                   去掉首尾空格
# - 字符串拼接:join                   字符串拼接

# len  length的缩写  长度
s = 'china'
print(len(s))

s1 = 'china'
print(s1.find('a'))

s2 = 'china'
print(s2.startswith('h'))
print(s2.endswith('n'))

s3 = 'aaabb'
print(s3.count('b'))

s4 = 'cccdd'
print(s4.replace('c','d'))

s5 = '1#2#3#4'
print(s5.split('#'))

s6 = 'china'
print(s6.upper())

s7 = 'CHINA'
print(s7.lower())

s8 = '   a b   '
print(len(s8))

print(len(s8.strip()))

s9 = 'a'
print(s9.join('hello'))

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.2 列表高级

列表的增删改查


3.2.1 添加元素

添加元素有一下几个方法:

  • append 在末尾添加元素
  • insert 在指定位置插入元素
  • extend 合并两个列表

append:

append会把新元素添加到列表末尾

A = ['xiaoWang', 'xiaoZhang', 'xiaoHua']
print("‐‐‐‐‐添加之前,列表A的数据‐‐‐‐‐A=%s" % A)
temp = input('请输入要添加的学生姓名:')
A.append(temp)
print("‐‐‐‐‐添加之后,列表A的数据‐‐‐‐‐A=%s" % A)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

insert:

insert(index, object) 在指定位置index前插入元素object

strs = ['a', 'b', 'm', 's']
strs.insert(3, 'h')
print(strs)  # ['a', 'b', 'm', 'h', 's']

运行结果:Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

extend:

通过extend可以将另一个列表中的元素逐一添加到列表中

a = ['a', 'b', 'c']
b = ['d', 'e', 'f']
a.extend(b)
print(a)  # ['a', 'b', 'c', 'd', 'e', 'f'] 将 b 添加到 a 里
print(b)  # ['d','e','f'] b的内容不变

运行结果:Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.2.2 修改元素

我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。

# 定义变量A,默认有3个元素
A = ['xiaoWang', 'xiaoZhang', 'xiaoHua']
print("‐‐‐‐‐修改之前,列表A的数据‐‐‐‐‐A=%s" % A)

# 修改元素
A[1] = 'xiaoLu'
print("‐‐‐‐‐修改之后,列表A的数据‐‐‐‐‐A=%s" % A)

运行结果:Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.2.3 查找元素

所谓的查找,就是看看指定的元素是否存在,主要包含一下几个方法:

  • in 和 not in

python中查找的常用方法为:

  • in(存在),如果存在那么结果为true,否则为false
  • not in(不存在),如果不存在那么结果为true,否则false
# 待查找的列表
nameList = ['xiaoWang', 'xiaoZhang', 'xiaoHua']

# 获取用户要查找的名字
findName = input('请输入要查找的姓名:')

# 查找是否存在
if findName in nameList:
    print('在列表中找到了相同的名字')
else:
    print('没有找到')

运行结果:Python基础 -- 输入输出、流程控制语句、数据类型高级、切片Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

说明:

in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在


3.2.4 删除元素

类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除 这种功能。

列表元素的常用删除方法有:

  • del:根据下标进行删除
  • pop:删除最后一个元素
  • remove:根据元素的值进行删除

del

movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']
print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName)
del movieName[2]
print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

pop

movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']
print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName)
movieName.pop()
print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

remove

movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']
print('‐‐‐‐‐‐删除之前‐‐‐‐‐‐movieName=%s' % movieName)
movieName.remove('指环王')
print('‐‐‐‐‐‐删除之后‐‐‐‐‐‐movieName=%s' % movieName)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.3 元组高级

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

我的巧计方法:元(圆)组,用的是圆括号。
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

访问元组

Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

修改元组

python中不允许修改元组的数据,包括不能删除其中的元素。否则会报错
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

定义只有一个数据的元组

定义只有一个元素的元组,需要在唯一的元素后写一个逗号
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片
当元组中只要一个元素且不加逗号的时候那么他是整型数据:

a = (11)
print(type(a))

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.4 切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长],也可以简化使用 [起始:结束]

注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。

# 索引是通过下标取某一个元素
# 切片是通过下标去某一段元素
s = 'Hello World!'
print(s)
print(s[4])  # o 字符串里的第4个元素
print(s[3:7])  # lo W 包含下标 3,不含下标 7
print(s[1:])  # ello World! 从下标为1开始,取出 后面所有的元素(没有结束位)
print(s[:4])  # Hell 从起始位置开始,取到 下标为4的前一个元素(不包括结束位本身)
print(s[1:5:2])  # el 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.5 字典高级


3.5.1 查看元素

除了使用key查找数据,还可以使用get来获取数据。

info = {'name': '班长', 'age': 18}
print(info['age'])  # 获取年龄
# print(info['sex']) # 获取不存在的key,会发生异常

print(info.get('sex'))  # 获取不存在的key,获取到空的内容,不会出现异常
print(info.get('sex', '男'))  # 获取不存在的key, 可以提供一个默认值。

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.5.2 修改元素

字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改。

info = {'name': '班长', 'id': 100}
print('修改之前的字典为 %s:' % info)
info['id'] = 200  # 为已存在的键赋值就是修改
print('修改之后的字典为 %s:' % info)

运行结果:Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.5.3 添加元素

如果在使用 变量名[‘键’] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

info = {'name': '班长'}
print('添加之前的字典为:%s' % info)
info['id'] = 100  # 为不存在的键赋值就是添加元素
print('添加之后的字典为:%s' % info)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.5.4 删除元素

对字典进行删除操作,有一下几种:

  • del
  • clear()

del删除指定的元素

info = {'name': '班长', 'id': 100}
print('删除前,%s' % info)
del info['name']  # del 可以通过键删除字典里的指定元素
print('删除后,%s' % info)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

del删除整个字典

info = {'name': 'monitor', 'id': 100}
print('删除前,%s' % info)
del info  # del 也可以直接删除变量
print('删除后,%s' % info)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

clear清空整个字典:

info = {'name': 'monitor', 'id': 100}
print('清空前,%s' % info)
info.clear()
print('清空后,%s' % info)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片


3.5.5 字典的遍历

遍历字典的key(键)

myDict = {'name': 'TianJiao', 'age': 22, 'job': 'student'}

for key in myDict.keys():
    print('key is :', key)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

遍历字典的value(值)

myDict = {'name': 'TianJiao', 'age': 22, 'job': 'student'}

for value in myDict.values():
    print('value is :', value)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

遍历字典的项(元素)

myDict = {'name': 'TianJiao', 'age': 22, 'job': 'student'}

for item in myDict.items():
    print('item is :', item)

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片

遍历字典的key-value(键值对)

myDict = {'name': 'TianJiao', 'age': 22, 'job': 'student'}

for key, value in myDict.items():
    print('key=%s, value=%s' % (key, value))

运行结果:
Python基础 -- 输入输出、流程控制语句、数据类型高级、切片



上一篇:【python生产环境开源】第一期


下一篇:蓝桥杯算法训练大小写转换-python题解