1. python介绍
python是一种解释型语言,在执行的时候, 需要解释器一边解释一边执行。
pycharm 是python最好用的IDE(集成开发环境)之一。 (写代码,执行代码,查看结果等功能)
书写代码:
print("hello")
2. 变量
变量:变量用来保存数据的。
变量必须先定义后使用,定义的语法, 变量名= 数据值
使用的时候, 直接使用变量名,即可使用变量中存储的数据
name = "小明"
print(name)
变量名命名习惯:
1)驼峰命名:
大驼峰:单词的首字母都大写:MyName
小驼峰:第一个单词的首字母小写,其余单词首字母大写:myName
2)下划线连接
单词与单词之间用下划线连接
规则: 字母,数字和下划线组成,不能以数字开头,区分大小写
不能以python预先定义好的标识符(这些关键字有特殊作用)
3. 数据类型
3.1 分为数字型和非数字型
1)数字型:
整型 int, 浮点型小数 float,布尔型 bool
2)非数字型
字符串:用引号引起来的就是字符串,比如"good"
列表: list [1,2,3]
元组:tuple (1,2,3,4)
集合:set {1,2,3,4}
字典:dict {"name":"小明","age":18}
想要获取变量的数据类型,可以用type(变量) 来查看
age = 18
print(type(age))
3.2 数据类型转换
将一种数据类型转换为另一种数据类型
1)原数据是什么类型
2)要转换成什么类型
变量 = 要转换成的类型(原数据) #数据类型转换,不会改变原数据的类型,是生成一个新数据
3.3 获取键盘的输入,使用函数input()
变量 = input("给使用者的提示信息")
1)代码从上到下执行,当代码执行遇到input的时候,会暂停代码的执行,等待用户的输入
2)在输入的过程中,如果遇到回车键,表示本次输入结束
3)使用 input 获取的内容,都是字符串类型,即str
4. 输出
使用的函数是print
格式化输出
1)字符串.format()
可以在任意的python版本中使用
字符串中需要使用变量的地方,使用{}进行占位
在format括号中按照占位的顺序,将变量写上去
2)F-string
在python3.6版本或更高版本可用
在字符串前边加上f'' 或者f“”
在字符串中需要使用变量的地方, 使用{} 进行占位
将变量直接写在占位的大括号中
比如: 我的名字是xx,年龄xx岁,性别是xx。
print(“我的名字是”+ name + ",年龄” + str(age) +"岁,性别是" + sex + "。")
print("我的名字是{},年龄是{},性别是{}。".format(name,age,sex))
print(f"我的名字是{name},年龄是{age}岁,性别是{sex}。")
转义字符
将两个字符进行转义表示一个特殊的字符
\n --->换行,回车
\t ---->制表符,tab键
运算符
+加,-减,*乘,/除
//求商,%取余,** 幂
被除数 / 除数 = 商 ......余数
比较运算符:
> 、 < 、 >= 、 <= 、 !=
赋值运算符和复合赋值运算符
5. if 的语法结构
1) 单独的if结构,如果条件成立,则xxx
if 判断条件:
xxx
2) if else 结构
if 判断条件:
判断条件成立执行的代码
else:
判断条件不成立执行的代码
3) if elif else 结构
if 判断条件1:
判断条件1成立,执行的代码
elif 判断条件2:
判断条件2成立,执行的代码
elif ....:
xxxxx
else:
以上判断条件均不成立,才会执行的代码
6. Debug调试代码
1. 打断点
2. 右键DEBUG运行
3. 单步执行,查看执行过程
7. 随机数:
1)导包
import random
2)使用工具包中的工具生成随机数
random.randint(a,b) #产生[a,b]之间的随机整数,包含a 和 b
8. while 循环
循环是让指定的代码重复的执行
语法:
- 循环的初始条件(计数器)
- 循环的终止条件
while 判断条件:
判断条件成立执行的代码
3.计数器+1
死循环:由于写代码的人不小心造成(是一个bug)
无限循环:写代码的人故意写的
在无限循环中,一般会存在一个if判断语句, 当这个if成立,执行break来终止循环。
关键字break:当程序代码执行遇到 break,break所在的循环就会变终止执行(终止循环)
关键字continue:当程序代码执行遇到 continue, continue 后续的代码不执行, 但是会继续下一次的循环(结束本次循环,继续下一次循环)
9. for 循环
for循环也成为是 for遍历,也可以做执行次数的循环
遍历:是从容器中将数据逐个取出的过程
容器:字符串/列表/元组/字典
for循环遍历字符串
for 变量 in 字符串:
重复执行的代码
#字符串中存在多少个字符,代码就执行多少次
#每次循环,会从字符串中取出一个字符保存在前边的变量中
str1 = "abcd"
for i in str1:
print("大家好",i)
#输出
大家好 a
大家好 b
大家好 c
大家好 d
range(n) 可以生成[0,n)的序列, 不包含n
for i in range(5):
print("大家好",i)
#输出
大家好 0
大家好 1
大家好 2
大家好 3
大家好 4
1-100之间的累加和
num = 0
for i in range(101):
num += i
print("求和的结果是:",num)
#结果:求和的结果是: 5050
10. 容器-字符串
10.1 下标(索引)
是指数据在容器中的位置编号,一般使用正数下标,从0开始,python中支持负数下标,-1代表最后一个位置的数据
10.2 切片
容器[start:end:step]
start:开始位置 end 结束位置不取这个, step是步长
my_str="abcdefg"
10.3 字符串查找方法 find()
字符串.find(sub_str) #在字符串中查找是否存在sub_str这样的字符串
返回值:
1)如果存在sub_str, 第一次出现sub_str位置的下标
2)如果不存在sub_str,返回-1
my_str = "你好伯乐"
sub_str = "伯乐"
result = my_str.find(sub_str)
if result == -1:
print(f"{sub_str}不存在")
else:
print(f"{sub_str}存在,下标是{result}")
结果:
伯乐存在,下标是2
10.4 字符串的替换 replace()
字符串.replace(old,new,count) # 将字符串的old 字符串替换为 new 字符串
count一般不写, 表示全部替换, 可以指定替换的次数
返回:会返回一个替换后的完整的字符串
注意:原字符串不会改变的
my_str = "good good study"
my_str1 = my_str.replace("good","GOOD")
print(my_str1)
#结果
GOOD GOOD study
10.5 字符串拆分split()
字符串.split(sep) #将字符串按照指定的字符串 sep 进行分隔
-sep 按照sep分隔, 可以不写, 默认按照空白字符(空格,\t,\n)分隔
返回:列表, 列表中的每个数据就是分割后的字符串
str1 = "hello python\tand itcast and\nitheima"
list1 = str1.split()
print(list1)
# 结果:['hello', 'python', 'and', 'itcast', 'and', 'itheima']
10.6 字符串的连接 join
字符串.join(容器)
#容器一般是列表,将字符串插入到列表相邻的两个数据之间,组成新的字符串
注意点:列表中的数据,必须都是字符串才可以
list1 = ["hello","python","and","itcast","and","itheima"]
str1 = "_".join(list1)
print(str1)
# 结果:
hello_python_and_itcast_and_itheima
11. 容器-列表list
列表,可以存放任意多个数据,可以放任意类型的数据,数据之间用逗号隔开
11.1 定义:
方式1:使用类实例化的方式
定义空列表
list1 = list()
定义非空列表
list1 = list("abcd")
方式2:使用[]直接进行定义
定义空列表
list = []
定义非空列表
list = [1,3,25,36]
11.2 列表支持下标和切片
如果下标不存在,则会报错
list3 = [1,3,6,8]
print(list3[:3]) #[1,3,6]
print(list3[4])
# IndexError: list index out of range
11.3 列表 index() 方法
如果找到,则返回下标
如果找不到,直接报错
list3 = ["hello","good","day"]
print(list3.index("good")) # 1
print(list3.index(9)) # ValueError: 9 is not in list
11.4 列表count()方法
列表.count(数据) #统计数据在列表中出现的次数
list3 = ["hello","good","day","good"]
print(list3.count("good")) # 2
11.5 添加数据 append()【重点】
直接在原列表中添加数据,不会生成新的列表
list3 = ["hello","good","day","good"]
list3.append("night")
print(list3) # ['hello', 'good', 'day', 'good', 'night']
11.6 删除数据 pop()
列表.pop(index) 根据下标删除列表中的数据,index可以不写默认删除最后一个,返回删除的数据。
list3 = ["hello","good","day","good"]
data = list3.pop(2)
print(f"删除的数据是{data}")
print(list3)
# 删除的数据是day
# ['hello', 'good', 'good']
11.7 修改数据
直接使用下标去修改
列表[下标] = 新数据
list3 = ["hello","good","day","good"]
list3[1] = "bad"
print(list3) # ['hello', 'bad', 'day', 'good']
11.8 列表的反转 reverse()
1) 列表[::-1] 得到一个新的列表,原列表不会改动
2)列表.reverse() 直接修改原列表的数据
list3 = ["hello","good","day"]
list3.reverse()
print(f"反转后的list是{list3}") # 反转后的list是['day', 'good', 'hello']
11.9 列表的排序
前提是列表中数据要一样
列表.sort() 升序,从小到大,直接在原列表中进行排序
列表.sort(reverse=True) 降序,从大到小, 直接在原列表中进行排序
mylist = [1,4,5,3,2,7]
mylist.sort()
print(mylist) #[1, 2, 3, 4, 5, 7]
12. 容器-字典dict
12.1 定义
字典dict 使用{}表示,是由键值对组成的 key:value,一个键值对是一组数据,多个键值对用逗号隔开
其中在一个字典中, 字典的键是不能重复的
一般常用的定义方式是直接使用{}定义
1)定义空字典
my_dict = {}
2)定义非空字典
my_dict ={"name":"xiaoming","age":18,"height":1.78}
12.2 增加和修改
字典["键"] = 值
1)如果键存在,则修改
2)如果键不存在,则增加
mydict = {"name":"小明","age":18,"isMen":True}
mydict["age"] = 20
mydict["weight"] = 65
print(mydict) #{'name': '小明', 'age': 20, 'isMen': True, 'weight': 65}
12.3 删除 pop
字典的删除是根据字典的键,去删除对应的键值对
mydict = {'name': '小明', 'age': 20, 'isMen': True, 'weight': 65}
mydict.pop("age")
print(mydict) #{'name': '小明', 'isMen': True, 'weight': 65}
12.4 查询 get
主要使用 字典.get(键) #获取对应的值,如果键不存在,返回None
mydict = {'name': '小明', 'age': 20, 'isMen': True, 'weight': 65}
print(mydict.get("name")) #小明
print(mydict.get("hobbies")) #None
12.5 遍历
遍历字典的键
for 变量 in 字典.keys(): #字典.keys() 可以获取字典所有的键
print(变量)
遍历字典的值
for 变量 in 字典.values(): #字典.values()可以获取字典中所有的值
print(变量)
遍历字典的键和值
for 变量1,变量2 in 字典.items(): #字典.items() 获取的是字典的键值对
print(变量1,变量2)
mydict = {'name': '小明', 'age': 20}
for k in mydict.keys():
print(k)
# name
# age
for v in mydict.values():
print(v)
# 小明
# 20
for k,v in mydict.items():
print(k,v)
# name 小明
# age 20