赞
踩
目录
2.多条件判断:if:...elif:...elif:...else:
六、容器:列表(list),元组(tuple),字符串(str),集合(set),字典(dict)
(3)元组的常见方法:因为元组一旦定义了就不能修改,所以只有查!
3.字符串(字符串定义那些前面已经介绍,这里就直接介绍方法了)
1989年,为了打发圣诞节假期,Gudio van Rossum吉多· 范罗苏姆(龟叔)决心开发一个新的解释程序(Python雏形)
1991年,第一个Python解释器诞生
Python这个名字,来自龟叔所挚爱的电视剧Monty Python's Flying Circus
print函数:print(' 内容')
注:print是一个输出函数,可以把你想要展示的内容打印到控制台上。
input函数:input(' 请输入您的内容:')
注:input是一个输入函数,运行后在控制台上输入内容
数字:整型(int),浮点型(float),复数(complex),布尔(bool)
字符串(String):用引号引起来的内容如"python"
a = '中国'
b = "中国"
c = """
中国
"""
字符串拼接:
- name = '李四'
- age = 20
- print(name + '的年龄为' + str(age) + '岁')
'运行
字符串占位和精度控制:
- print('%s的年龄为%d岁,身高为%.2f厘米' % (name, age, height))
- 字符串format和精度控制
- print(f'{name}的年龄为{age}岁,身高为{height:.2f}厘米')
字符串五种格式化:
- name = input('请输入姓名:')
- age = int(input('请输入年龄:'))
- weight = float(input('请输入体重:'))
- 1.print打印多个内容:print('姓名:', name, '年龄:', age, '体重:', weight, '公斤')
- 2.字符串拼接:print('姓名:' + name + ',' + '年龄:' + str(age) + ',' + '体重:' + str(weight) + '公斤')
- 3.都用%s占位输出:print('姓名:%s,年龄:%s,体重:%s公斤' % (name, age, weight))
- 4.用%s %d %f占位输出:print('姓名:%s,年龄:%d,体重:%.1f公斤' % (name, age, weight))
- 5.用format输出:print(f'姓名:{name},年龄:{age},体重:{weight:.1f}公斤')
列表(List):有序可重复可修改序列
元组(Tuple):有序可重复不可修改序列
字典(Dictionary):无序键不可重复可修改集合
集合(Set):无序不可重复可修改集合
注意:列表,元组,字典,集合后面会详细介绍。
type():括号内为字面量或变量,如type("中国")或 a = 10,type(a)
int():括号内为字面量或变量,只能是数字才能转成整型。
float():括号内为字面量或变量,只能是数字才能转成浮点型。
str(): 括号内为字面量或变量,任何类型都可以。
注意:字面量可以理解为常量,如整形,浮点型,布尔型,字符串。
if是如果,else是否则,缩进4格,每个if里面的每一行要对齐,如果if后面的条件成立,执行内容1,否则执行内容2
if 条件:
内容1
else:
内容2
- score = int(input('请输入您的分数:'))
- if score >= 90 and score <= 100:
- print('您的成绩等级为优秀')
- elif score >= 70 and score < 90:
- print('您的成绩等级为良好')
- elif score >= 60 and score < 70:
- print('您的成绩等级为及格')
- elif score >= 0 and score < 60:
- print('您的成绩等级为不及格')
- else:
- print('输入有误')
- user_yizhi = 'binzi'
- pwd_yizhi = '123456'
- yzm_yizhi = 'qwer'
- # 定义输入的验证码
- yzm_shuru = input('请您输入验证码:')
- if yzm_shuru == yzm_yizhi: # 判断验证码是否正确
- print('验证码正确')
- user_shuru = input('请输入用户名:') # 定义输入的用户名
- pwd_shuru = input('请输入密码:') # 定义输入的密码
- if user_shuru == user_yizhi and pwd_shuru == pwd_yizhi: # 判断用户名和密码是否正确
- print('登陆成功!!!')
- else:
- print('用户名或者密码错误')
- else:
- print('验证码错误,请重新输入')
1.初始条件
2.while 条件判断:
3.循环体
4.条件控制
- #打印0-100的数
- = 0
- while i <= 100:
- print(i)
- i += 1
1-100偶数和:
- # 方式一:
- i = 2
- sum = 0
- count = 0
- while i <= 100:
- sum += i
- count += 1
- i += 2
- print(f'1-100的偶数和为{sum}')
- print(f'一共加了{count}次')
- #方式二
- i = 1
- sum = 0
- while i <= 100:
- if i % 2 == 0:
- sum += i
- i += 1
- print(f'1-100的偶数和为{sum}')
'运行
猜数字案例:
- import random
- suiji = random.randint(1, 100)
- count = 0
- while True:
- cai = int(input('请输入您要猜的数(1-100):'))
- count += 1
- if cai >= 1 and cai <= 100:
- if cai == suiji:
- print('恭喜您,猜中了!!!')
- print(f'您猜的总次数为:{count}次')
- break
- elif cai < suiji:
- print('您猜的数字比随机数小')
- else:
- print('您猜的数字比随机数大')
- else:
- print('您输入的数不在范围内,请重新输入:')

九九乘法表:
- i = 1
- j = 1
- while i <= 9:
- while j <= i:
- print(f'{i}*{j}={i * j}', end='\t')
- j += 1
- print()
- j = 1
- i += 1
'运行
#for 临时变量 in 可迭代对象:
循环体
for i in range(x,y,z)#x为左区间,y为右区间(不包含y本身),z为步长
统计字符串里面a出现的次数:
- count = 0
- zifu = "itheima is a brand of itcast"
- for i in zifu:
- if i == 'a':
- count += 1
- print(f'itheima is a brand of itcast中含有{count}个a')
'运行
九九乘法表:
- #九九乘法表:
- for i in range(1, 10):
- for j in range(1,i+1):
- print(f'{i}*{j}={i * j}',end='\t')
- print()
'运行
组织好的,可重复使用的,用来实现特定功能的代码段
def 函数名(传入参数):
函数体
return 返回值
- def get_sum(a,b,c,d):#a,b,c,d为形式参数
- sum = a + b + c + d
- return sum #返回值为sum
- s=get_sum(10,20,10,20)#10,20为实际参数
- print(f'10,20,10,20的和为:{s}')
'运行
函数嵌套:在一个函数定义中调用另一个函数
- def show1():
- print('黄智欣')
- def show2():
- show1()
- print('24岁')
- print('手机号:18988849948')
- show2()
'运行
1.先定义函数,再调用函数
2.函数调用1次,执行一次
3.定义有参数的函数调用时必须传入参数
4.有返回值的函数调用时尽量用变量接收返回值
5.函数没有返回值默认为return None
5.返回值为None的时候直接调用函数就行,不用变量接受和print打印,不然打印出来就是None
全局变量:所有函数内和函数外都可以使用的变量
局部变量:只能在某个函数内使用的变量
- a = 10
- def show1():
- global a #声明为全局变量,没有的话为局部变量
- a = 20
- print('黄智欣')
- print(a)
-
- def show2():
- show1()
- print('24岁')
- print('手机号:18988849948')
- print(a)
-
- show2()
- show1()
- print(a)
'运行
1.多个返回值
return:
主职:结束当前函数
兼职:顺带把return后面的值返回到调用处
- def func():
- return [1, 2, 3, 4, 5]
-
- t = func()
- print(t,type(t))
'运行
2.多种命名参数:形式参数,实际参数
位置参数:实际参数和形式参数个数和顺序必须一致
- def func1(name, age, height):
- print(f'{name}的年龄是{age},身高是{height}cm')
- func1('张三', 18, 178)
- func1('李四', 19, 188)
关键字参数:实际参数和形式参数个数必须一致,顺序可以不一致
- def func1(name, age, height):
- print(f'{name}的年龄是{age},身高是{height}cm')
- func1(age=18, name='张三', height=188.8)
位置参数和关键字参数混合使用
func1('张三', height=188.8, age=18)
缺省参数:可以给形参提前设置默认值,实参和形参个数可以不一致
- def func1(name, age=18, height=188):
- print(f'{name}的年龄是{age},身高是{height}cm')
-
- func1('张三',age=18)
可变参数:*接收一个参数返回元组,args名字可以修改,**kwargs接收一对参数返回字典,kwargs名字可以修改
- def func1(*args,**kwargs):
- print(args,type(args))
- print(kwargs,type(kwargs))
- func1('张三',18,height=178,weight=55)
'运行
变量名 = [元素1,元素2,元素3]
变量名 = list((元素1,元素2,元素3))
列表正索引:从左往右,从0依次递增
列表负索引:左右往左,从-1一次递减
列表名[索引号]:name_list[0]
列表嵌套索引:
列表名[索引号][索引号]:list1[0][0]
append:每次在列表最后添加一个元素
- name_list = []
- name_list.append('张三')
- print(name_list)
- 结果为:['张三']
insert:在指定下标处,插入指定的元素
- name_list = []
- name_list.append('张三')
- print(name_list)
-
- name_list.extend(['李四','王五'])
- print(name_list)
-
- name_list.insert(0,'小二')
- print(name_list)
- 结果为:['小二', '张三', '李四', '王五']
del:删除列表指定下标元素
- name_list = []
- name_list.append('张三')
- print(name_list)
-
- name_list.extend(['李四','王五'])
- print(name_list)
-
- name_list.insert(0,'小二')
- print(name_list)
-
- del name_list[-1]
- print(name_list)
- 结果为:['小二', '张三', '李四']
pop:删除列表指定下标元素
- name_list = []
- name_list.append('张三')
- print(name_list)
-
- name_list.extend(['李四','王五'])
- print(name_list)
-
- name_list.insert(0,'小二')
- print(name_list)
-
- name_list.pop(0)
- print(name_list)
- 结果为:['张三', '李四']
remove:从前往后,删除此元素第一个匹配项
- name_list = []
- name_list.append('张三')
- print(name_list)
-
- name_list.extend(['李四','王五'])
- print(name_list)
-
- name_list.insert(0,'小二')
- print(name_list)
-
- del name_list[-1]
- print(name_list)
-
- name_list.pop(0)
- print(name_list)
-
- name_list.remove('李四')
- print(name_list)
- 结果为:['张三']

clear:清空列表
- name_list = []
- name_list.append('张三')
- print(name_list)
-
- name_list.extend(['李四','王五'])
- print(name_list)
-
- name_list.insert(0,'小二')
- print(name_list)
-
- del name_list[-1]
- print(name_list)
-
- name_list.pop(0)
- print(name_list)
-
- name_list.remove('李四')
- print(name_list)
-
- name_list.clear()
- print(name_list)
- 结果为:[]
'运行
修改列表中的元素
- name_list = ['张三','李四','王五','王五','赵六']
- print(name_list)
-
- name_list[0] = '熊大'
- print(name_list)
-
- name_list[1] = '熊二'
- print(name_list)
- 结果为:['熊大', '熊二', '王五', '王五','赵六']
count:统计此元素在列表中出现的次数
- name_list = ['张三','李四','王五','王五','赵六']
- print(name_list)
-
- name_list[0] = '熊大'
- print(name_list)
-
- name_list[1] = '熊二'
- print(name_list)
-
- count = name_list.count('王五')
- print(f'王五在列表出现的次数为:{count}次')
- 结果为:王五在列表出现的次数为:2次
index:查找指定元素在列表的下标
- name_list = ['张三','李四','王五','王五','赵六']
- print(name_list)
-
- name_list[0] = '熊大'
- print(name_list)
-
- name_list[1] = '熊二'
- print(name_list)
-
- count = name_list.count('王五')
- print(count)
-
- index = name_list.index('赵六')
- print(f'赵六元素在列表中的索引为:{index}')
- 结果为:赵六元素在列表中的索引为:4
len:统计容器中有多少个元素
- name_list = ['张三','李四','王五','王五','赵六']
- print(name_list)
-
- name_list[0] = '熊大'
- print(name_list)
-
- name_list[1] = '熊二'
- print(name_list)
-
- count = name_list.count('王五')
- print(f'王五在列表出现的次数为:{count}次')
-
- index = name_list.index('赵六')
- print(f'赵六元素在列表中的索引为:{index}')
-
- ll = len(name_list)
- print(f'该列表一共有{ll}个元素')
- 结果为:该列表一共有5个元素

1.可以容纳多个元素
2.可以容纳不同类型的元素
3.数据是有序存储的
4.允许重复数据存在
5.可以修改
元组一旦定义,不能被修改!!!!!!!
变量名 = ()
变量名 = tuple()
注意:元组只有一一个数据的时候,需要在这个数据后面添加一个逗号,如果不加就是普通变量
t2 = ('Hello',)
count:统计此元素在元组中出现的次数:
- name_tuple = ['张三', '李四', '王五', '王五', '赵六']
- print(name_tuple)
-
- count = name_tuple.count('王五')
- print(f'王五在元组中出现的次数为{count}次')
- 结果为:王五在元组中出现的次数为2次
index:查找指定元素在元组的下标
- name_tuple = ['张三', '李四', '王五', '王五', '赵六']
- print(name_tuple)
-
- count = name_tuple.count('王五')
- print(f'王五在元组中出现的次数为{count}次')
-
- index = name_tuple.index('赵六')
- print(f'赵六在元组中的索引为:{index}')
- 结果为:赵六在元组中的索引为:4
len:统计容器中有多少个元素
- name_tuple = ['张三', '李四', '王五', '王五', '赵六']
- print(name_tuple)
-
- count = name_tuple.count('王五')
- print(f'王五在元组中出现的次数为{count}次')
-
- index = name_tuple.index('赵六')
- print(f'赵六在元组中的索引为:{index}')
-
- ll = len(name_tuple)
- print(f'{name_tuple}中一共有{ll}个元素')
- 结果为:['张三', '李四', '王五', '王五', '赵六']中一共有5个元素
1.可以容纳多个数据
2.可以容纳不同类型的数据
3.数据是有序存储的
4.允许重复数据存在
5.不可以修改
count:统计此元素在字符串中出现的次数
- str1 = '黑马程序员是传智旗下线下教育品牌'
- print(str1.count('下'))
- 结果为:2
index:查找指定元素在字符串的下标
- str1 = '黑马程序员是传智旗下线下教育品牌'
- print(str1.index('下'))
- 结果为:9
len:统计容器中有多少个元素
- str1 = '黑马程序员是传智旗下线下教育品牌'
- print(len(str1))
- 结果为:16
replace:将一个字符替换字符串中的某个字符
- s1 = '你TMD哦,我TMD真相刀你!'
- new_s1 = s1.replace('TMD', '挺萌的')
- print(new_s1)
- 结果为:你挺萌的哦,我挺萌的真相刀你!
split:根据分隔符来将字符串进行分割,然后存到一个列表中
- s2 = '苹果-梨-香蕉-火龙果-榴莲'
- new_s2=s2.split('-')
- print(new_s2)
- 结果为:['苹果', '梨', '香蕉', '火龙果', '榴莲']
join:通过一个字符将各个字符拼接在一起
- s2 = '苹果-梨-香蕉-火龙果-榴莲'
- new_s2=s2.split('-')
- s3 = '^'.join(new_s2)
- print(s3)
- 结果为:苹果^梨^香蕉^火龙果^榴莲
strip:清楚字符串左右两边的空格
- s4 = ' 张三 '
- print(s4)
- new_s4 = s4.strip()
- print(new_s4)
- 结果为:张三
startswith,endswith:以...开始,以...结束
- name_list = ['张三','张三丰','王五','王老五','赵六','赵子龙']
- for name in name_list:
- if name.startswith('张'):
- print(name)
- if name.endswith('五'):
- print(name)
- 结果为:
- 张三
- 张三丰
- 王五
- 王老五
upper,lower:把字母全部变成大写,小写
- #upper
- s5 = 'aBcDeFgH'
- s6 = s5.upper()
- print(s6)
- 结果为:ABCDEFGH
- #lower
- s5 = 'aBcDeFgH'
- s7 = s5.lower()
- print(s7)
- 结果为:abcdefgh
1.可以容纳多个数据
2.只能存储字符串类型数据
3.数据是有序存储的
4.允许重复数据存在
5.不可以修改
定义空集合
s1 = set()
print(s1,type(s1))
注意:定义空集合不能使用{},因为{}代表空字典
#定义非空集合
s2 = {'a','b','c','d','e'}
print(s2,type(s2))
注:不想元素重复可以用集合来去重!!!
集合的增删操作:
- #需求:定义空集合
- s1 = set()
- #需求2:给集合添加元素
- s1.add('张三')
- s1.add('李四')
- s1.add('王五')
- s1.add('赵六')
- s1.add('田七')
- print(s1)
- #删除集合中的张三
- s1.remove('张三')
- print(s1)
- #随机删除一个元素
- s1.pop()
- print(s1)
- #清空元素
- s1.clear()
- print(s1)
'运行
集合的改查操作:
- #定义两个非空集合分别存储123,146
- s1 = {1,2,3}
- s2 = {1,4,6}
- #difference:s1中有,s2中没有的元素,生成新集合
- s3 = s1.difference(s2)
- print(s3)
- #difference_update:取s1和s2的交集,修改了s1集合
- s1.difference_update(s2)
- print(s1)
- #update:取s1和s2的并集,修改了s1集合
- s1.update(s2)
- print(s1)
-
- #union:取出s1和s2的元素并组成新集合
- s4 = s1.union(s2)
- print(s1)
'运行
1.可以容纳多个数据
2.可以存储任何类型数据
3.数据是无序存储的
4.不允许重复数据存在
5.可以修改
1.可以容纳多个数据 2.可以存储任何类型数据 3.数据是无序存储的 4.不允许重复数据存在 5.可以修改
- my_dict = {}
- my_dict = dict()
- dict1 = {'张三':18,'李四':28,'王五':38,'赵六':48}
- print(dict1,type(dict1))
- #字典嵌套
- student_dict = {
- '张三': {'语文': 100, '数学': 34, '外语': 18},
- '李四': {'语文': 98, '数学': 37, '外语': 57},
- '王五': {'语文': 80, '数学': 94, '外语': 78}
- }
增加和修改:
- stu_info = {'张三': 28, '李四': 28, '赵六': 48}
- stu_info['王五'] = 38
- print(stu_info)
- stu_info['王五'] = 30
- print(stu_info)
'运行
删除:
- stu_info = {'张三': 28, '李四': 28,'王五':38, '赵六': 48}
- print(stu_info)
-
- stu_info.pop('王五')
- print(stu_info)
-
- del stu_info['赵六']
- print(stu_info)
-
- stu_info.clear()
- print(stu_info)
'运行
查询:
- stu_info = {'张三': 28, '李四': 28,'王五':38, '赵六': 48}
- print(stu_info)
-
- print(stu_info['李四'])
-
- print(len(stu_info)) #计算字典有多少键值对
-
- print(stu_info.keys()) #将字典中的所有键取出来存到一个列表中
-
- print(stu_info.values()) #将字典中的所有键的值取出来存到一个列表中
-
- print(stu_info.items()) #将字典中的每个键值对的键和值取出来存到一个元组中,最后再放到一个列表中
'运行
1.可以容纳多个数据
2.可以存储任何类型数据
3.数据是没有具体顺序,主要根据键找值
4.不允许键重复
5.可以修改
- """
- open(): 如果报FileNotFoundError,文件没找到,要么文件路径写错了,要么文件确实没有
- 参数1-> 路径: 相对路径: 不以盘符开始的路径 绝对路径: 以盘符开始的路径
- 参数2->横式:默认r式: 如果文件不存在就报错 w和a式: 如果文件不存在,自动创建
- 参数3->编码: 默认cp936,本质就是gbk,一般编码都会使用utf8
- """
- f = open('w1.txt',mode='a')
- print(f)
-
- #关闭文件
- f.close()
'运行
- #文件读取
- #一个个的读
- f = open('w1.txt',mode='r',encoding='utf8')
- data = f.read(7)
- print(data)
- #接着读后面的字符
- data = f.read(6)
- print(data)
- #一个个读剩余所有的字符
- data = f.read()
- print(data)
- f.close()
- #一行行的读
- f = open('w1.txt',mode='r',encoding='utf8')
- data = f.readline()
- print(data)
-
- datas = f.readlines()
- print(datas)
-
- for line in datas:
- print(line,end='')
- f.close()
- #文件的写入
- f = open('w2.txt',mode='w',encoding='utf8')
-
- f.write('hello!python\nHi!PyCharm\n')
-
- f.close()
'运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。