打印
print("hello world!");
print("hello"+"world");
#\n换行
print("鹅鹅鹅,\n\曲项向天歌。\n白毛浮绿水,\n红掌拨清波");
#三引号内的格式保留
print("""
鹅鹅鹅,
曲项向天歌。
白毛浮绿水,
红掌拨清波
""");
#打印一个"
print("\"");
name = '老王'
age = '18'
a = f"""我叫{name},今年{age}岁"""
print(a)
变量命名规则
字母下滑线开头,只能包含字母数字下划线
分支
if语句:python 以缩进区分语句块
score = int(input("输入成绩:"))
if score >= 60:
print("恭喜你,及格了");
else:
print("你挂了")
score = int(input("输入成绩:"))
if score >= 90:
print("优秀");
elif score >=80:
print("良好");
elif score >= 70:
print("还行");
else:
print("你挂了")
高级数据类型
列表[list]
shopping_list = []
shopping_list.append("键盘")
shopping_list.append("鼠标")
shopping_list.remove("鼠标")
print(shopping_list)
print(shopping_list[0])
price = [12,23,11,99,80]
print(max(price))
print(min(price))
字典{dict}
字典的key为不可变数类型,所以不能使用字典作为key,所以python增加了tuple(元组)
slang_dict = {"北京到底有谁在啊":"北京到底有谁在啊,是电视剧《玫瑰的故事》中的一句台词,出自男女主角的一段争吵画面,剧中林更新饰演的方协文咆哮着问:“那你偏要去北京什么意思,北京到底有谁在啊?”",
"city不city":"这个梗起源于一个外国博主在中国旅游时与家人的对话,他们用”city”来询问对方所在的环境是否符合上述特征。例如,他们可能会说”在大自然里喝茶city不city?”来表达自然环境是否具有城市的现代化气息。",
"没事哒没事哒":"视频中,小英以为女儿手上的淤青是脏东西,使劲给她猛刷猛洗,疼得女儿大叫着安慰自己,“没事哒!没事哒!没!事!哒!”",
"因为他善啊":"因为他善,最开始来自郭德纲的一段评书,里面说张天师有四不吃,第一不吃牛肉,因为它善。",
"偷感":"偷感背后折射出的是,当代部分年轻人内心的一种社交情绪共鸣,比起被莫名的“围观”,他们更享受和喜欢默默地努力。"
}
query = input("输入您想查询的流行语:")
del slang_dict["偷感"]
# 判断query是否为slang_dict的键
if query in slang_dict:
print("意思是:"+slang_dict[query])
else:
print("没有")
循环
for
# python的for循环会遍历数组的值
temp_dict = {"wang":36.7,"den":38.1,"lili":37.1}
for name,temp in temp_dict.items():
if temp >= 38 :
print(name+"烧了")
# range(start,stop,step) step_def=1 不包括stop
tot =0
for num in range(1,101,1):
tot +=num
print(tot)
while
num = input("请输入:");
tot = 0
while num != 'q':
tot += int(num)
num = input("请输入:");
print(tot)
代码复用
function:函数
# 函数的参数可以为函数
def calculate_sector(angle,radius):
sector_area = angle/360*3.14*radius**2
print(f"扇型面积为:{sector_area}")
return sector_area
area = calculate_sector(160,30)
print(area)
# 匿名函数 冒号前为传入的参数 冒号后为返回的结果
lambda NUM1:result
模块
import statistics
from statistics import median
from statistics import *
面向对象
对象的性质(封装、继承、多态)
封装:对对象及其方法进行封装后不关心具体内容
继承:子类可以继承父类的属性和方法
多态:在不同的子类中相同的方法可能有不同的表现形式
class Student:
def __init__(self,name,sex):
self.name = name
self.sex = sex
self.grades = {"语文":0,"数学":0,"英语":0}
def SetGrades(self,course,grade):
if course in self.grades:
self.grades[course]=grade
def PrintGrades(self):
print(f"学生:{self.name}性别:{self.sex}")
for course in self.grades:
print(f"{course}:{self.grades[course]}")
cate = Student("王","男")
cate.SetGrades("数学",90)
cate.SetGrades("语文",92)
cate.PrintGrades()
继承
class Emplyee:
def __init__(self,name,id):
self.name = name
self.id = id
def print_inf(self):
print(f"我是:{self.name},工号:{self.id}")
class FullTimeEmployee(Emplyee):
def __init__(self,name,id,month_salary):
super().__init__(name,id)
self.month_salary = month_salary
def calculate_monthly_pay(self):
print(self.month_salary)
class PartTimeEmployee(Emplyee):
def __init__(self,name,id,daily_salary,work_days):
super().__init__(name,id)
self.daily_salary = daily_salary
self.work_days = work_days
def calculate_monthly_pay(self):
print(self.daily_salary*self.work_days)
wang = FullTimeEmployee("wang",19,3000)
zhang = PartTimeEmployee("zhang",119,100,20)
wang.calculate_monthly_pay()
wang.print_inf()
zhang.calculate_monthly_pay()
zhang.print_inf()
文件操作
读
fil = open(".\hello.txt","r",encoding="utf-8")
print(fil.read())
print('\n')
fil.close()
with open(".\hello.txt") as fil:
print(fil.readline())
print('\n')
with open(".\hello.txt") as fil:
print(fil.readlines())
写
# w模式覆盖 a模式增加 r+模式读加增加
with open("./hello.txt","r+",encoding="utf-8") as file1:
file1.write("\n我爱你")
print(file1.read())
报错处理
try:
user_weight = float(input("请输入体重"))
user_height = float(input("请输入身高"))
BMI = user_weight /user_height**2
except ValueError:
print("传入数字不合理")
except ZeroDivisionError:
print("身高不能为0")
except:
print("未知错误")
else:
print(f"您的BMI:{BMI}")
finally:
print("欢迎下次使用")