目录
一、入门知识
1、字面量
2、变量
3、数据类型
type()
4、数据类型转换
常见的三个
int() | 转换为数字 |
float() | 转换为浮点数 |
str() | 转换为字符串 |
5、标识符
6、运算符
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 取整 |
% | 求余 |
** | 指数 |
7、字符串的扩展
7、1 三种字符串定义方式
'123' | 单引号 |
"123" | 双引号 |
"""123 """ | 多引号 |
注意:使用多引号的时候,最好给个变量名,不然会当作注释
7、2 转义字符
7、3 字符串拼接
print("我叫" + "老同学")
7、4 字符串格式化
age = 18
print("今年我的年龄:%d" % age)
常见格式化:
%s 字符串
%f 浮点数
%d 整数
7、5 数字精度控制
m.n
m 控制宽度 如果宽度达不到,会使用空格代替
.n 保留的小数点位数 会四舍五入
宽度控制为3,小数位为2
num = 2.14555
print("%3.2f" % num)
打印的结果:2.15
7、6 数据输入
name = input("请输入你的名字:")
print(f"我的名字是{name}")
input输入的都是字符串数据类型
二、初级阶段
布尔类型
True | 1 |
False | 0 |
比较运算符
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
== | 等于 |
!= | 不等于 |
if语句
if else 语句
if elif else 语句
if 嵌套 语句
1、if语句实例
print("欢迎来到游乐园,儿童免费,成人收费")
age = int(input("请输入你的年龄:"))
if age >= 18:
print(f"你已经成年:{age},请付费使用!!")
else:
print("儿童免费游乐!!")
2、if语句实例
print("欢迎来到动物园")
tail = int(input("请输入你的身高(cm):"))
if tail > 120:
print(f"你的身高超出120,游玩需要10元")
else:
print(f"你的身高没有超出120,可以免费游玩")
print("祝你游玩愉快")
3、if语句综合实例
import random
num = random.randint(1,10)
num_input = int(input("请输入要猜测的数字:"))
if num_input == num:
print("!一次就猜对了")
else:
if num_input > num:
print("猜大了")
else:
print("猜小了")
num_input = int(input("请再次输入要猜测的数字:"))
if num_input == num:
print("猜对了")
else:
if num_input > num:
print("猜大了")
else:
print("猜小了")
num_input = int(input("请再次输入要猜测的数字:"))
if num_input == num:
print("!猜对了")
else:
print("3次机会没了")
while循环
1、 while循环 求1-100的和
sum = 0
i = 1
while i <= 100:
sum += i
i += 1
print(sum)
2、猜数字
import random
num = random.randint(1,100)
while True:
num_1 = int(input("输入数字:"))
if num_1 == num:
print("猜对了")
break
else:
if num_1 > num:
print("猜大了")
else:
print("猜小了")
3、9x9表
import random
num = random.randint(1,100)
while True:
num_1 = int(input("输入数字:"))
if num_1 == num:
print("猜对了")
break
else:
if num_1 > num:
print("猜大了")
else:
print("猜小了")
for循环
遍历循环取数据
1、计算name变量里面有多少个a
name = "itheima is a brand of itcast"
num = 0
for i in name:
if i == "a":
num += 1
print(num)
range
for i in range(10):
print(1)
break
跳出循环
continue
跳出本次循环
三、函数
函数格式
def 函数名(形参)
函数体
返回值
函数的参数
def num(a,b)
sum = a + b
print(f"{a} + {b} = {a + b}")
num(1,2)
输入为 1 + 2 = 3
a b 为形参
函数的返回值
def sum(a,b):
result = a + b
return result
aaa = sum(1,2)
print(aaa)
输出为 3
None类型
函数的文档说明
def check_sum(a,b)
"""
:param a:
:param b:
:return:
"""
写给人看的一个规范
函数的嵌套
变量的作用域
局部变量
全局变量
global
def saving():
global money
num = int(input("请输入你要存入的钱款:"))
money += num
print("----------存款----------")
print(f"{name},您好,您存款成功:{num}")
quary(False)
global 局部变量
global 声明局部变量为全局变量
函数综合案例
简单的ATM案例
money = 500000
name = None
name = input("请输入你的名字:")
# 查询余额
def quary(test):
if test:
print("----------查询余额----------")
print(f"{name},您好,您的余额为:{money}")
# 存款
def saving():
global money
num = int(input("请输入你要存入的钱款:"))
money += num
print("----------存款----------")
print(f"{name},您好,您存款成功:{num}")
quary(False)
# 取款
def decrease():
global money
num = int(input("请输入你要取入的钱款:"))
money -= num
print("----------取款----------")
print(f"{name},您好,您取款成功:{money}")
quary(False)
# 主菜单
def main():
print("----------主菜单----------")
print(f"{name},欢迎来到ATM")
print("查询余额\t[输入1]")
print("存款\t\t[输入2]")
print("取款\t\t[输入3]")
print("退出\t\t[输入4]")
return (input("请输入你的数字:"))
while True:
key_num = main()
if key_num == "1":
quary(True)
continue
elif key_num == "2":
saving()
continue
elif key_num == "3":
decrease()
continue
else:
print("退出")
break
四、列表 list()
列表定义
[1,2,3,4,5]
["你","我","他"]
定义方式:
num = [1,2,3]
name = ["你","我","他"]
[]
list()
列表方法
列表.index(元素) | 查询元素的下标 |
列表[下标]=新值 | 修改元素值 |
列表.insert(下标,元素) | 插入元素 |
列表.append(元素) | 元素追加到尾部 |
列表.extend(列表2) | 列表2中的元素追加到列表尾部 |
del 列表[下标] | 删除元素 |
列表.pop(下标) | 删除元素,还能得到元素值 |
列表.remove(元素) | 有多个相同元素,删除第一个匹配的元素 |
列表.clear() | 清空列表 |
列表.count(元素) | 统计元素的数量 |
len(列表) | 统计列表中全部元素的数量 |
列表的遍历循环
遍历列表元素
1、while循环
my_list = [1,2,3]
count = 0
while count < len(my_list):
aaa = my_list[count]
print(f"列表的元素:{aaa}")
count += 1
输出:
列表的元素:1
列表的元素:2
列表的元素:3
2、for循环
my_list = [1,2,3]
for i in my_list:
print(f"列表的元素:{i}")
输出:
列表的元素:1
列表的元素:2
列表的元素:3
五、元组 tuple()
列表可以修改数据,元组无法修改数据
1、元组定义
变量名称 = (元素1,元素2,元素3)
变量名称 = tuple()
a = (1,2,3)
b = tuple(1,2,3)
c = (1,) 元组中,只有一个元素需要加逗号,不然就不是元组
2、元组方法
元组.index(下标) | 查询元素 |
元组.count(元素) | 统计元素个数 |
len.(元组) | 统计所有元素的个数 |
3、元组的遍历循环
1、while循环
a = (1,2,3,4)
count = 0
while count < len(a):
b = a[count]
print(f"元组的元素:{b}")
count += 1
2、for循环
a = (1,2,3,4)
for i in a:
print(f"元组的元素:{i}")
六、字符串 str()
和元组一样,无法修改元素;只能存储字符串
下标索引
index方法
replace方法
字符串的替换;得到一个新的字符串】
replcae替代字符串,得到一个新的字符串
my_str = "itheima and itcast"
my_str_replace = my_str.replace("and","or")
print(my_str_replace)
输出:
itheima or itcast
split方法
通过分隔符分割字符串,得到一个新的列表
split分割字符串,得到一个新的列表
my_str = "itheima and itcast"
my_str_split = my_str.split(" ")
print(my_str_split)
输出:
['itheima', 'and', 'itcast']
strip方法
strip去除,默认去除前后空行、回车换行符
my_str = " itheima and itcast "
my_str_strip = my_str.strip()
print(f"去除前:{my_str},去除后:{my_str_strip}")
my_str = " itheima and itcast "
my_str_strip1 = my_str.strip("it")
print(f"去除前:{my_str},去除后:{my_str_strip1}")
输出:
去除前: itheima and itcast ,去除后:itheima and itcast
去除前: itheima and itcast ,去除后: heima and cast
综合案例
统计字符串 it
把字符串 空格 全部替换成 |
按照”|“进行分割,得到列表
str = "itheima itcast boxuegu"
num = str.count("it")
print(f"it字符串的数量:{num}")
str_replace = str.replace(" ","|")
print(str_replace)
str_split = str.split("|")
print(str_split)
七、集合 set()
列表 有序支持重复元素,可修改
元组、字符串 有序支持重复元素,不可修改
集合 无序,不允许重复元素,可以去重,不支持下标索引
定义空集合
set()
添加元素 .add
移除元素 .remove
随机取出一个元素 .pop
清空集合 .clear()
取差集 set1().difference(set2) 以set1集合为基准,集合set1有 集合set2没有的
消除差集 set1().difference_update(set2) 消除集合set1里面和集合set2相同的元素
合并集合 set1().union(set2) 合并 set1 和 set2
统计集合元素 len()
集合遍历 不可以用while因为while是基于下标索引,使用for循环
集合案例
my_list = ["黑马程序员","传智播客","黑马程序员","传智播客","itheima","itcast","itheima","itcast","best"]
my_set = set()
for i in my_list:
my_set.add(i)
print(my_set)
八、字典 dict()
类似数据库;键值对
定义空字典 key:value
a = {}
a = dict()
字典嵌套
my_dict = {'周杰伦': {'语文': 88, '数学': 99, '英语': 100}, '王俊杰': {'语文': 23, '数学': 44, '英语': 66}}
my_dict = {"周杰伦": {
"语文": 88,
"数学": 99,
"英语": 100
},"王俊杰": {
"语文": 23,
"数学": 44,
"英语": 66
}}
key不可以为字典,不允许重复,会覆盖
your_dict = {"你":1,"我":2,"他":3}
新增元素
your_dict["你们"] = 4
修改元素 有这个元素就是修改,没有就是新增
your_dict["你们"] = 5
删除元素 .pop
your_dict.pop("你们")
清空元素 .clear()
获取全部的key 字典.keys()
your_dict.keys()
遍历字典
1、取出所有的key
for i in your_dict.keys()
print(your_dict[i])
统计字典元素数量
len()
容器通用功能
字符串比大小
ASCII码表
所有的字符串在ASCII码表中对应一个数字,字符串转为数字然后比较大小