python快速入门
python快速入门
1.基础用法
字符串连接
print("hello" + " world" + "!")
输出
hello world!
单双引号转义 '
print("he saild 'good!'")
print('he saild "good!"')
print("he said \"Let\'s go\"")
输出
he saild 'good!'
he saild "good!"
he said "Let's go"
换行 \n
print("hello!\nworld")
输出
hello!
world
三引号跨行字符串 ''' ''' """ """ 可以用三个单引号,也可以是三个双引号
print('''a
b
c
d
黄河之水天上来''')
输出
a
b
c
d
黄河之水天上来
1.1 python变量
greet = "你好,吃了么, "
greet_chinese = greet
greet_english = "you what's up, "
greet = greet_english;
print(greet + "张三")
print(greet + "李四")
print(greet_chinese + "王五")
输出
you what's up, 张三
you what's up, 李四
你好,吃了么, 王五
1.2 python命名规则
1.下划线命名法
1.字母全部小写
2.不同单词用下划线分隔 user_age user_gender
2.驼峰命名法
单词用首字母大写分隔 UserAge UserGender
1.3 python 数学运算
print(1+2+3/4*5) //6.75 3/4=0.75
x**2 == x的平方
#求 -x2 - 2x + 3 =0 的根
a = -1
b = -2
c = 3
print((-b + math.sqrt(b ** 2 - 4 * a * c)) / (2 * a))
print((-b - math.sqrt(b ** 2 - 4 * a * c)) / (2 * a))
输出
-3.0
1.0
1.4 python数据类型
字符串 str
整数 int 和 浮点数 float
布尔类型 bool
空值类型 NoneType
#对字符串求长度
s = "Hello world!"
print(len(s))
#通过索引获取单个字符
print(s[1])
print(len(s) -1)
# 布尔类型
b1 = True
b2 = False
# 控制类型
n = None
#type函数
print(type(s))
print(type(b1))
print(type(b2))
print(type(n))
输出
12
e
11
<class 'str'>
<class 'bool'>
<class 'bool'>
<class 'NoneType'>
1.5 python input函数
# BMI = 体重/(身高 ** 2)
user_weight = float(input("请输入您的体重 (单位:kg): ")) #将其转换为float型 input返回的值是str类型
user_height = float(input("请输入您的身高 (单位:m): "))
user_BMI = user_weight / (user_height) ** 2
print("您的BMI值为:" + str(user_BMI)) #将其转化为 str字符串类型 (输出的时候必须为str类型)
输出
请输入您的体重 (单位:kg): 70
请输入您的身高 (单位:m): 1.8
您的BMI值为:21.604938271604937
1.6 python 条件语句
mood_index = int(input("对象今天的心情指数是:"))
if mood_index >= 60:
print("恭喜,今晚可以打游戏")
else:
print("为了自个小命,还是别打了。")
输出
对象今天的心情指数是:70
恭喜,今晚可以打游戏
1.7 python嵌套/多条件判断
# BMI = 体重/(身高 ** 2)
user_weight = float(input("请输入您的体重 (单位:kg): "))
user_height = float(input("请输入您的身高 (单位:m): "))
user_BMI = user_weight / (user_height) ** 2
print("您的BMI值为:" + str(user_BMI))
#偏瘦 user_BMI <= 18.5
#正常 18.5< user_BMI <=25
#偏胖 25< user_BMI <=30
#肥胖 user_BMI >= 30
if user_BMI <= float(18.5):
print("您偏瘦")
elif 18.5< user_BMI <=25:
print("正常")
elif 25< user_BMI <=30:
print("偏胖")
else:
print("肥胖")
输出
请输入您的体重 (单位:kg): 70
请输入您的身高 (单位:m): 1.8
您的BMI值为:21.604938271604937
正常
1.8 python 逻辑运算
and 与 or 或 not 非
x > 5 and x< 10 x>5 or x<10 not x >5
运算优先级 not > and > or
1.9 python 列表
shopping_list = ["键盘","鼠标"]
shopping_list.append("屏幕") #往列表中追加
shopping_list.remove("鼠标") #将某值从列表移除
print(shopping_list)
price = [799,1024,200,800]
max_price = max(price)
min_price = min(price) #最小值
sorted_price = sorted(price) #排序
print(max_price)
print(min_price)
print(sorted_price)
输出
['键盘', '屏幕']
1024
200
[200, 799, 800, 1024]
2.0 python 字典
字典用于储存 键值对 key : value
contacts = {"小明": "1370000000",
"小花": "1370000001"}
元组 用圆括号 tuple = ("键盘",“键帽”)
列表 用 方括号 list = ["键盘",“键帽”]
slang_dict = {"外国文学":"《哈姆雷特》",
"外国文化":"百科全书派"}
slang_dict["中国文学"] = "尤三姐" #将其加入到收录语种
slang_dict["中国文化"] = "《本草纲目》"
slang_dict["世界历史"] = "诺曼底登陆"
query = input("请输入您想要查询的流星雨:")
if query in slang_dict:
print("您查询的" + query + "含义如下")
print(slang_dict[query])
else:
print("您查询的流星语暂未收录。")
print("当前本词典收录语为:" + str(len(slang_dict)))
输出
请输入您想要查询的流星雨:世界历史
您查询的世界历史含义如下
诺曼底登陆
2.1 python for循环
for 变量名 in 可迭代对象
for i in range(5,10) range(5,10) 表示从5-9的数
range(起始值,结束值,步长)
total = 0;
for i in range(1,101):
total = total + i
print(total)
输出
5050
2.2 python while循环
2.3 python格式化字符串
format 方法
year = "2023年"
name= "李明"
message_content = """
律回春渐,新元迎启,
金{receiver_year}贺岁,欢乐瑞祥。
给{receiver_name}及家人拜年啦!
""".format(receiver_year=year,receiver_name=name)
print(message_content)
输出
律回春渐,新元迎启,
金2023年贺岁,欢乐瑞祥。
给李明及家人拜年啦!
或者 f - 字符串
year = "2023年"
name= "李明"
message_content = f"""
律回春渐,新元迎启,
金{year}贺岁,欢乐瑞祥。
给{name}及家人拜年啦!
"""
print(message_content)
输出
律回春渐,新元迎启,
金2023年贺岁,欢乐瑞祥。
给李明及家人拜年啦!
gpa_dict = {"小明":3.251,"小花":3.869,"小李":2.683}
for name,gpa in gpa_dict.items():
print("{0} 你好,你的当前绩点为:{1:.2f}".format(name,gpa)) #:.2f : 用来保证输出几位小数
输出
小明 你好,你的当前绩点为:3.25
小花 你好,你的当前绩点为:3.87
小李 你好,你的当前绩点为:2.68
2.4 python 函数
def 名字():
用 名字() 来调用函数
或者 def 名字(参数1,参数2)
def calculate_BMI(weight,height):
BMI = weight / height ** 2
if BMI <= 18.5:
category = "偏瘦"
elif BMI <= 25:
category = "正常"
elif BMI <= 30:
category = "肥胖"
else:
category = "肥胖"
print(f"您的BMI分类为:{category}")
return BMI
result = calculate_BMI(70,1.8)
print(result)
输出
您的BMI分类为:正常
21.604938271604937
2.5 python 引入模块
引入模块的方法
- import 语句
import math
- from ... import .. 语句
from statistics import median,mean
print (median([19,-5,36])) //不需要加statistics前缀了
print (mean([19,-5,36]))
-
form ... import * //把模块里面所有内容都会进行引入(不推荐使用)
print (median([19,-5,36])) //不需要加statistics前缀了
print (mean([19,-5,36]))
pypi.org 网站可以对第三库进行搜索, 在终端 输入 pip install 后面跟上库的名字 进行安装
2.6 python 创建类
class 名字:
#接下来是一些定义类的代码
class CuteCat: #创建 猫类
def __init__(self,cat_name,cat_age,cat_color): #定义属性 self(第一个参数),用于表示对象自身,约定俗成为self
self.name = cat_name
self.age = cat_age
self.color = cat_color
cat1 = CuteCat("Jojo",5,"blue") #创建对象
print(f"小猫{cat1.name}的年龄是:{cat1.age}岁,花色是:{cat1.color}")
输出:
小猫Jojo的年龄是:5岁,花色是:blue
class CuteCat: #定义类
def __init__(self,cat_name,cat_age,cat_color): #定义属性
self.name = cat_name
self.age = cat_age
self.color = cat_color
def speak(self): #定义方法
print("喵" * self.age)
def think(self,content):
print(f"小猫{self.name}在思考{content}...")
cat1 = CuteCat("Jojo",5,"blue")
print(f"小猫{cat1.name}的年龄是:{cat1.age}岁,花色是:{cat1.color}")
cat1.speak()
cat1.think("现在去抓沙发哈斯斯纸箱")
输出
小猫Jojo的年龄是:5岁,花色是:blue
喵喵喵喵喵
小猫Jojo在思考现在去抓沙发哈斯斯纸箱...
练习
#定义一个学生类
# 要求:
# 1.属性包括学生姓名、学号,以及语数英三科的成绩
# 2.能够设置学生某科的成绩
# 3.能够打印出该学生的所有科目成绩
class Student:
def __init__(self,stu_name,stu_id):
self.stu_name = stu_name
self.stu_id = stu_id
self.grades = {"语文": 0,"数学": 0,"英语": 0}
def set_grade(self,course,grade): #设置学生某科的成绩
if course in self.grades:
self.grades[course] = grade
def print_Allgrades(self): #打印出该学生的所有科目成绩
print(f"学生{self.stu_name}(学号:{self.stu_id})出成绩为;")
for course in self.grades:
print(f"{course}:{self.grades[course]}分")
chen = Student("小陈","1006")
zeng = Student("小增","1008")
zeng.set_grade("数学",95)
zeng.set_grade("英语",90)
zeng.print_Allgrades() #打印出该学生的所有科目成绩
print(chen.stu_name)
print(zeng.stu_id)
print(zeng.grades)
学生小增(学号:1008)出成绩为;
语文:0分
数学:95分
英语:90分
小陈
1008
{'语文': 0, '数学': 95, '英语': 90}
2.7 python 类继承
calss Mammal:
class Human(Mammal): #括号里写上父类的名字 这样就继承了父类
# 类继承练习:人力系统
# - 员工分为两类:全职员工 FullTimeEmployee、兼职员工 PartTimeEmployee。
# - 全职和兼职都有:“姓名 name”、“工号 id”属性,
# 都具备“打印信息 print_info”(打印姓名、工号)方法。
# - 全职有“月薪 monthly_salary”属性
# 兼职有“日薪 daily_salary”属性、“每月工作天数 work_days”的属性。
# - 全职和兼职都有“计算月薪 calculate_monthly_pay”的方法,但具体计算过程不一样。
class Employee:
def __init__(self,name,id):
self.name = name
self.id = id
def print_info(self):
print(f"姓名:{self.name} 编号:{self.id}")
class FullTimeEmployee(Employee): #继承Employee类 #全职员工的类
def __init__(self,name,id,monthly_salary):
super().__init__(name,id)
self.monthly_salary = monthly_salary
def calculate_monthly_pay(self):
return self.monthly_salary
class PartTimeEmployee(Employee): #兼职员工的类
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):
return self.daily_salary*self.work_days
zhangsan = FullTimeEmployee("张三","1001",6000)
lisi = PartTimeEmployee("李四","1002",300,15)
zhangsan.print_info()
lisi.print_info()
print(zhangsan.calculate_monthly_pay())
print(lisi.calculate_monthly_pay())
输出
姓名:张三 编号:1001
姓名:李四 编号:1002
6000
4500
2.8 python文件操作
open("路径",模式,encoding="utf-8")
模式: 分为 r:只读模式, w:只写模式 r+: 可读可写入 a: 在后面追加
encoding :编码方式
read(): 返回全部文件内容的字符串 read(10): 读取前10行
readline():会读一行文件内容,并打印
readlines(): 会读全部文件内容,并把每行作为列表元素返回
close() 关闭文件,释放资源
with open("./data.txt") as f #文件执行完毕,会自动关闭文件
f = open("./data.txt","r",encoding="utf-8")
content = f.read()
print(content)
f.close()
f = open("./data.txt","r",encoding="utf-8")
lines = f.readlines()
for line in lines:
print(line)
with open("./data.txt","r",encoding="utf-8") as f:
print(f.readline())
print(f.readline())
输出:
金融界2023年11月17日消息,据国家知识产权局公告,腾讯科技(深圳)有限公司取得一项名为“文本处理方法、装置、电子设备、及计算机可读存储介质”,公开号CN116340467B,专利申请日期为2023年。
专利摘要显示,本申请提供了一种文本处理方法、装置、电子设备及计算机可读存储介质;
采集日期:2023年11月19日
2.9 python 异常处理
3.0 python测试
为了测试程序中 是否有bug
assert:中文意思为 断言 ,
assert len("Hi") == 2
assert 1 + 2 > 6,会出现AssertionError, 此时程序就会中止,后面的代码就不执行了
unittest(常用):可以帮我们自动找出和运行所有测试用例,一次性展示所有测试结果,并且给出未通过测试的详情