Day_01
文章目录
前言
Python一些学习基础
一、开发工具 Pycharm
1.创建新项目
2. 指定路径与解释器
print("hello world")
# 执行快捷键:ctrl +shift + f10
# 关闭快捷键:ctrl +shift + f4
# --------------------
# 黑屏快捷键:ctrl +alt + f10
# 退出快捷键:ctrl +alt + f2
注释
给人看的,通常是对代码的描述信息。
- 单行注释:以#号开头。
- 多行注释:三引号开头,三引号结尾。
"""
基本概念
注释
函数
"""
# 1. 字面意思:打印(内容)
# 2. 作用:将软件内的数据显示到界面中
# 3. 语法:print(内容)
# 4. 适用性:显示结果
print("你好 大爷")
函数
表示一个功能,函数定义者是提供功能的人,函数调用者是使用功能的人。
例如:
- print(数据) 作用:将括号中的内容显示在控制台中
- 变量 = input(“需要显示的内容”) 作用:将用户输入的内容赋值给变量
"""
函数
input
"""
# 1. 字面意思:结果 = 输入(提示信息)
# 2. 作用:将界面中的数据存储到软件中
# 3. 语法:结果 = input(提示信息)
# 4. 适用性:获取数据
name = input("请输入姓名:")
# print("name") # 不能带双引号
print("您好"+name)
变量
- 定义:关联一个对象的标识符。
- 建议命名:字母小写,多个单词以下划线隔开。
class_name - 语法:变量名 = 数据
"""
变量
引入
软件运行在哪里? -- 内存
软件在处理什么? -- 数据
作用
在内存中操作数据
"""
# 赋值号= : 将右侧数据复制一份给左侧
name01 = "悟空" # 创建变量
name02 = "八戒"
name01 = "孙悟空" # 修改变量
name03 = name02 # 变量赋值给变量传递数据地址
二、核心数据类型
整形int
- 表示整数,包含正数、负数、0。
如: -5, 100, 0
浮点型float
- 表示小数,包含正数、负数,0.0)。
字符串str
是用来记录文本信息(文字信息)。
字面值:双引号
布尔bool
用来表示真和假的类型
True 表示真(条件满足或成立)
False 表示假(条件不满足或不成立)
数据类型转换
- 转换为整形: int(数据)
- 转换为浮点型:float(数据)
- 转换为字符串:str(数据)
- 转换为布尔:bool(数据)
"""
三引号具有可见即所得的功能
数据类型
Python语言的变量没有类型
"""
# 1. str字符串:存储文本,必须使用引号
name = "悟空"
# 如果字符串中具有双引号,那么这个字符串一定使用单引号
print('我是"花果山"水帘洞孙悟空')
# 2. 整型int:存储整数
score = 100
print(1 + 1) # 数学计算
print("1" + "1") # 字符拼接
# 注意
# print(1 +"1") # 在Python中整数不能与字符串运算
# 3.浮点型float:存储小数
height = 170.6
print(height)
# 4. 类型转换
# 结果 = 目标类型(待转数据)
# input函数的结果一定是字符串
age = int(input("请输入您的年龄:"))
print("明年您" + str(age +1) + "岁了")
# str -> int
result01 = int("10")
# int -> str
result02 = str(10)
# str -> float
result03 = float("1.2")
# float -> str
result04 = str(1.6)
# int -> float
result05 = float(10)
# float -> int
result06 = int(1.8)
运算符
算术运算符
+加法
-减法
*乘法
/ 除法:结果为浮点数
// 整除:除的结果去掉小数部分
% 求余
优先级从高到低: () * / % // + -
"""
算数运算符
+ - *
/ 小数商
// 整数商
% 余数
"""
data01 = 5
data02 = 2
data03 = data01 + data02
print(data03) # 7
print(4 / 2) # 2.0
print(6 % 4) # 2
print(6 / 4) # 1.5
增强运算符
y += x 相当于 y = y + x
y -= x 相当于 y = y - x
y *= x 相当于 y = y * x
y /= x 相当于 y = y / x
y //= x 相当于 y = y // x
y %= x 相当于 y = y % x
"""
增强运算符
+= -= *=
/= //= %=
"""
# data01 = 5
# data01 + 5
# print(data01) # 5
data01 = 5
# data01 = data01 + 5 #相加后,再给自身赋值
data01 += 5 # 累加
print(data01) # 10
比较运算符
< 小于
<= 小于等于
> 大于
>= 大于等于
== 等于
!= 不等于
返回布尔类型的值
"""
bool 运算
int 类型:... -1 0 1 2 3 ...
bool 类型:真的True 假的False
表达命题(条件),带有判断性质的陈述句
比较运算符
等于== 不等于!=
> < >= <=
"""
# 命题:是男人
# print(input("请输入性别:") == "男")
# 命题:是成年人
# print(int(input("请输入年龄:")) >= 18)
# 命题:输入的是月份1 12
print(1 <= int(input("请输入月份:")) <= 12)
三、语句
选择语句
If elif else 语句
- 作用:
让程序根据条件选择性的执行语句。 - 语法:
if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3 - 说明:
elif 子句可以有0个或多个。
else 子句可以有0个或1个,且只能放在if语句的最后。
"""
选择语句
让代码根据条件有选择性的执行
if 条件1:
满足条件1执行的代码
elif 条件2:
不满足条件1,但满足条件2执行的代码
else:
不满足以上所有条件执行的代码
"""
sex = input("请输入性别:")
if sex == "男":
print("您好,先生") # 满足条件执行
elif sex == "女":
print("您好,女士")
else:
print("性别未知")
循环语句
while语句
- 作用:
可以让一段代码满足条件,重复执行。 - 语法:
while 条件:
满足条件执行的语句
"""
while
当满足条件时,重复执行循环体
while True:
循环体
if 退出条件:
break
区别:
while 条件:
代码 # 执行后向上判断条件(向上)
if 条件:
代码 # 执行后向下
"""
while True: # 死循环
if input("请输入性别:") == "男":
print("您好,先生")
else:
print("您好,女士")
if input("请输入q键退出:") == "q":
break # 退出循环
print("后续逻辑")
for 语句
- 作用:
用来遍历可迭代对象的数据元素。
可迭代对象是指能依次获取数据元素的对象,例如:容器类型。 - 语法:
for 变量 in 可迭代对象:
循环体
跳转语句
break 语句
- 跳出循环体,后面的代码不再执行。
总结
程序流程控制
选择语句:让代码根据条件有选择性的执行
if 条件1:
满足条件1执行的代码
elif 条件2:
不满足条件1,但满足条件2执行的代码
else:
以上条件都不满足
循环语句:让代码根据条件重复性的执行
while True:
循环体
if 退出条件:
break
跳转语句
break 跳出循环
容器类型
列表 list
定义
由一系列变量组成的可变序列容器。
基础操作
- 创建列表:
列表名 = [] - 添加元素:
列表名.append(元素) - 定位元素:
列表名[索引] = 元素
变量 = 列表名[索引] - 删除元素:
del 列表名[索引] - 遍历元素
for 变量名 in 列表名:
变量存储的就是列表中元素
"""
列表 list
存储单一维度的数据
"""
# 使用一个变量操作一个数据(引入)
# name01 = "A01"
# name02 = "B02"
# name03 = "C03"
#
# name01 = "A01"
# name01 = "B02"
# name01 = "C03"
# 使用一个变量操作多个数据
# 1. 创建
# 列表名 = [元素1,元素2]
list_name = ["A01", "B02", "C03"]
list_age = [26, 23, 25]
list_sex = ["女", "男", "女"]
# 2. 添加
# 列表名.append(元素)
list_name.append("D04")
list_age.append(27)
list_sex.append("")
# 3. 定位
# 列表名[整数]
# 注意:整数从0开始到总数-1结束
print(list_name[0])
print(list_age[1])
print(list_sex[2])
# print(list_sex[99]) # 整数不能超过范围0~总数-1
list_name[2] = "03"
list_age[1] += 1
list_sex[0] = "男"
print(list_name)
print(list_age)
print(list_sex)
# 4.修改全部元素
list_name[0] = "A"
list_name[1] = "B"
list_name[2] = "C"
# range(3)函数会产生一个范围的整数
# 注意:从0开始,不包含结束值
for i in range(3): # 0 1 2
print(i)
# for i in range(3): # 0 1 2
# # list_name[i] = "A"
# list_name[i] = list_name[i][0]
# 存储姓名列表中每个元素的首字母
for i in range(len(list_name)):
list_name[i] = list_name[i][0]
print(list_name)
for i in range(len(list_sex)):
if list_sex[i] == "女":
list_sex[i] = "男"
for i in range(len(list_age)):
if list_age[i] > 24:
list_age[i] = 24
字典 dict
定义
- 由一系列键值对组成的可变散列容器。
- 散列:对键进行哈希运算,确定在内存中的存储位置,每条数据存储无先后顺序。
基础操作
- 创建字典:
字典名 = {键1:值1,键2:值2} - 添加/修改元素:
语法:
字典名[键] = 数据
说明:
键不存在,创建记录。
键存在,修改值。 - 获取元素:
变量 = 字典名[键] # 没有键则错误 - 删除元素:
del 字典名[键] - 遍历字典:
for 键名 in 字典名:
字典名[键]
函数 function
定义
- 用于封装一个特定的功能,表示一个功能或者行为。
- 函数是可以重复执行的语句块, 可以重复调用。
作用
提高代码的可重用性和可维护性(代码层次结构更清晰)。
定义函数
- 语法:
def 函数名(形式参数):
函数体 - 说明:
def 关键字:全称是define,意为”定义”。
函数名:对函数体中语句的描述,规则与变量名相同。
形式参数:方法定义者要求调用者提供的信息。
函数体:完成该功能的语句。 - 函数的第一行语句建议使用文档字符串描述函数的功能与参数。
调用函数
- 语法:函数名(实际参数)
- 说明:根据形参传递内容。
返回值
- 定义:
方法定义者告诉调用者的结果。 - 语法:
return 数据
def print_classical():
print("望庐山瀑布")
print("作者:李白")
print("日照香炉生紫烟,遥看瀑布挂前川。")
print("飞流直下三千尺,疑是银河落九天。")
# 用法
print_classical()
print_classical()
"""
函数参数
本质就是变量,只不过数据由调用者提供
"""
def print_classical(count): # 2 4
for item in range(count):
print("望庐山瀑布")
print("作者:李白")
print("日照香炉生紫烟,遥看瀑布挂前川。")
print("飞流直下三千尺,疑是银河落九天。")
# F8 逐过程执行(调试不进函数内)
# F7 逐语句执行(调试进入函数内)
print_classical(2) # 1
# ...此处省略200行...
print_classical(3) # 3
"""
定义函数,计算矩形周长
函数设计理念:奉行小而精(职责单一)
拒绝大而全(一个函数集成多个职责)
"""
def calculate_perimeter_of_rectangle(length, width):
perimeter = (length + width) * 2
# 返回结果,而不是显示结果
# print("矩形周长是:" + str(perimeter))
return perimeter
result = calculate_perimeter_of_rectangle(5, 6)
print("结果1:" + str(result))
l = int(input("请输入长度:"))
w = int(input("请输入宽度:"))
data = calculate_perimeter_of_rectangle(l, w)
print(data)
"""
练习:用户信息管理系统
使用函数分割程序
"""
# -----------数据--------------
list_user = []
# -----------操作--------------
def print_menu():
print("1键录入用户")
print("2键显示用户")
print("3键删除用户")
print("4键修改用户")
def input_user():
dict_user = {
"user_name": input("请输入用户名:"),
"password": input("请输入密码:"),
"age": int(input("请输入年龄:")),
}
list_user.append(dict_user)
def display_users():
for item in list_user:
print("用户名:" + item["user_name"] + ",密码:" + item["password"] + ",年龄:" + str(item["age"]))
def delete_user():
old = input("请输入需要删除的用户名:")
for i in range(len(list_user)):
if list_user[i]["user_name"] == old:
del list_user[i]
break
def modify_user():
old = input("请输入旧用户名:")
for item in list_user:
if item["user_name"] == old:
item["user_name"] = input("请输入新用户名:")
item["password"] = input("请输入新密码:")
item["age"] = int(input("请输入新年龄:"))
break
# -----------使用--------------
while True:
print_menu()
number = input("请输入:")
if number == "1":
input_user()
elif number == "2":
display_users()
elif number == "3":
delete_user()
elif number == "4":
modify_user()
总结
友友儿,今天我又重新过了一遍基础。
今天吃了贼难吃的麻酱米线。