笔记"/>
Python全栈开发笔记
笔记是用Typora记的所以格式有些乱
解释器安装路径:C:\Program Files\Python310\
代码路径: D:\Users\LALALA\Desktop\code\
本质3步:
-
安装解释器
-
学习Python语法并编写代码
-
用解释器去运行所写代码
Day01
1.文档工具Typora
回顾
-
标题 #空格
-
列表 -空格 or 1.空格 tab shift+tab
-
代码```回车键 单行代码文字之间插入英文状态下的两个反引号即可 Tab上方
print("你好呀")
print("Hello World")
文字中间插入print{"你好"}
代码
-
图片
-
引用
2.环境搭建
2.2安装目录
C:\Program Files\Python310
C:\Program Files\Python310 - python.exe python解释器 运行代码- Scripts- pip.exe 帮助我们以后安装第三方包- Lib python内置的源码- 文件/文件夹 python提供的内置功能- site-packages 通过pip去安装第三方的包时,会放在这个目录
2.3 python解释器
如果想使用python解释器,就必须在终端上(cmd)进行操作
-
交互式 不常用
-
文件形式
1. 假设创建了一个文件 C:\code.py 2. 在文件中写了一些代码 3. 运行代码C:\Program Files\Python310\python.exe C:\code.py
-
报错总结:C:\Program不是内部或外部命令,也不是可运行的程序或批处理文件
解决方法:C:"Program Files"\具体文件目录。
原因: 在cmd或者批处理文件运行时,访问带空格的文件路径(C:\Program Files)会无法找到对应目录下的文件
3.小结
-
解释器环境:解释器+文件=>手动来执行代码
-
Pycharm :自动 解释器+文件=>自动执行代码
4.Python语法
4.1编码
-
工具写汉字、字母、数字,写完之后,需要保存到硬盘上
-
Python开发过程中要遵循的规则
-
在文件中写Python代码
-
Python解释器打开代码并读取文件内容,转换成计算机能识别的语言
python解释器会打开咱们的文件 默认:Python3.×版本解释器,默认会用utf-8编码去打开文件C:\Program Files\Python310\python.exe C:\code.py
-
4.2输出
-
输出基本用法
print("1234")
-
不要换行,整行输出
print("1234",end="")
4.3数据类型
4.3.1整型(Int)
eg:19、200
print(19) print(19+200)
4.3.2字符串(str)
用来表示我们生活中的文本信息,eg:"中国河南",“哪个地区”
# 单行文本 "中国河南" '哪个地区' '中"国' => 中"国 #多行文本 """中国 河南"""
print('中国河南') print(“哪个地区”)
字符串可相加=字符串拼接
"河南"+"开封" "河南开封"
字符串和数字相乘=字符串重复多少次
"1"*3 "111"
练习题
print(12+12) # 24 整型 print("12"+"12") # "1212" 字符串(文本)
转换
str(19) #19 -> '19' int(19) #'19' -> 19 int("联通") #无法转换,报错
4.3.3布尔类型(bool)
-
真True
-
假False
1 > 2 ->False 1 == 2 ->False
整型、字符串类型 ->布尔值
-
整型, 除0转换成布尔值为False,其他均为True
-
字符串, 除空字符串转换为布尔值为False,其他均为True
4.4变量
格式:变量名 = 值
建议:见名知意(不要写拼音);两单词连接用下划线user_age
4.4.1规范
-
变量名中只能包含:数字、字母、下划线。
-
不能以数字开头
-
不能使用Python内置的关键字
'and','as','assert','break','class','contiue','def','del','elif','else','except','exec','finally','for','from','global','if','import','in','is','lambda','not','or','pass','print','raise','return','try','while','with','yield'
4.4.2变量内存指向
4.5注释
-
单行注释:#注释内容
快捷键同时加注释:选中+ control+?
-
多行注释:
""" 注释内容 """
4.6输入
text=input("提示信息") #用户输入的永远是字符串类型 print(text)
name = input("请输入姓名") #张美丽 age = input("请输入年龄") #28 text = "我叫"+name + ",今年"+age+"了。" print(text) #我叫张美丽,今年28了。
V1 = input("请输入数字") #100 V2 = input("请输入数字") #200 result = V1 + V2 print(result) #100200
V1 = input("请输入数字") #100 V2 = input("请输入数字") #200 result = int(V1) + int(V2) print(result) #300
4.7条件语句
如果××,就×。 Tab直接是4个空格, shift+Tab删除4个空格
if 条件/真假 :条件成立后会执行此处代码条件成立后会执行此处代码条件成立后会执行此处代码 else不成立,会执行此处代码不成立,会执行此处代码
print("开始") if True:print("111")print("222") else:print("666")print("999") print("结束") #开始 111 222 结束
print("开始") numb = 9 if numb > 10:print("111")print("222") else:print("666")print("999") print("结束")
print("欢迎使用联通系统") user = input("请输入用户名:") pwd = input("请输入密码:") if user == "张美丽" and pwd == "123":print("恭喜你")print("登陆成功") else:print("登陆失败")print("请重试") print("结束")
Day02
-
if条件语句
-
while循环
-
字符串格式化
-
运算符(特殊)
-
计算机中的几个概念
-
进制
-
单位
-
编码
-
-
常见数据类型
1条件
1.1基本条件
1.2多条件
if 条件A:条件A成立。。。。。。 elif 条件B:条件A不成立,条件B。。。 elif 条件C:C成立。。。 else:上述都不成立
#猜数字 num = input("请猜数字,猜对赠送500w,请开始:") data = int(num) if data > 66:print("太大了") elif data < 66:print("太小了") else:print("恭喜你获得500w")
提示:所有的条件中的else可以省略
if True:pass
if 条件A:pass elif 条件B:pass
1.3嵌套
if 条件A:if 条件:if 条件××:passelse:passelse:pass elif 条件B:pass
模拟:联通10010客服
print("欢迎致电10010,提供以下服务:1.话费业务;2.宽带业务;3.企业业务;4.人工服务") choice = input("请选择序号:") if choice == "1":print("话费业务专区")print("1.查询话费;2.缴话费;3.话费异常")choice == input("请输入:")if choice == "1":print("话费查询")print("你的话费余额是×元")elif choice == "2":print("成功缴费100元")elif choice == "3":print("......")else:print("输入错误") elif choice == "2":print("宽带业务") elif choice == "3":print("企业业务") elif choice == "4":print("人工服务专区") print("感谢您的来电,再见。")
比较运算符 1 == 2
赋值 v1 = 123
2.while循环
while 条件 :.............. #符合条件 循环执行 直到 不符合 while内的条件
2.1循环基本使用
-
基于while循环+计数 实现输出5次 “我爱我的祖国”
print("开始") num = 1; while num < 6 :print("我爱我的祖国")num = num + 1 print("结束")
2.循环输出1~10以内的所有整数
num = 1; while num < 11 :print(num)num = num + 1
3.猜数字,三次机会
count = 1 while num <= 3:num_string = input("请输入你要猜的数字:")num = int(num_string)if num >66:print("大了")elif num < 66:print("小了")else :print("正确")count = 100count = count +1
4.猜数字,直到猜对为止
count = 1 while count == 1 :num_string = input("请输入你要猜的数字:")num = int(num_string)if num >66:print("大了")elif num < 66:print("小了")else :print("正确")count = 100
flag = True while flag:num_string = input("请输入你要猜的数字:")num = int(num_string)if num >66:print("大了")elif num < 66:print("小了")else :print("正确")flag = False
2.2break
break不能自己独立使用,只能放在循环的内部。
break,立即终止循环(从循环中跳出)
while True :print("中国联通")breakprint(123) print("结束") #输出 中国联通 结束
while True :print("中国联通")if 1==1:breakprint(123) print("结束") #输出 中国联通 结束
while True :print("中国联通")if 1 >= 1:breakprint(123) print("结束") #输出 中国联通 123 中国联通 123 中国联通 123 ......
2.3continue
continue不能自己独立使用,只能放在循环的内部。
continue,立即结束当前循环,开始下次循环
while True :print(1)continueprint(2) print("结束") #输出 1 1 1 ......
输出1~10,不要7
count = 1 while count < 11 :if count == 7:continuecount = count + 1print(count)count = count + 1 #输出 1 2 3 4 5 6 无法结束
count = 1 while count < 11 :if count ==7:count = count + 1continueprint(count)count = count + 1 print("结束") #输出 1 2 3 4 5 6 8 9 10 结束
3.字符串格式化
3.1format
text = "我的名字叫{0}今年{1}岁".format("张美兰",10) print(text) #我的名字叫张美兰今年10岁
text = "我的名字叫{0}今年{1}岁,就是{0}".format("张美兰",10) print(text) #我的名字叫张美兰今年10岁,就是张美兰
text = "我的名字叫{}今年{}岁,就是{}".format("张美兰",10,"666") print(text)
text = "我的名字叫{n1}今年{p2}岁".format(n1="张美兰",p2=10) print(text)
format(0,1,2)
tpl = "我的名字叫{},今年{}岁,就是{}" v1 = tpl.format("张美兰", 10,0) v2 = tpl.format("奕", 19,1) #未运行成功
3.2 %
text = "我的名字叫%s今年%d岁" %("张美兰",10) print(text)
tpl = "我的名字叫%d,今年%s岁" v1 = tpl %("张美兰", 10) v2 = tpl %("奕", 19) #未运行成功
3.3 f-string
Python3.6+以后才有的另一种格式化
name = "wu" age = 14 text = f"我的名字(name),今年(age)岁" print(text) #未运行成功
4运算符
-
算数运算符
value = 9%2 print(value) #1
-
比较运算符
> >= < <= == !=
-
数值运算
num = num + 2 # 可简写为num += 2
-
成员运算
text = "日本" v1 = "日本" in "日本不是" #True v2 = "俄罗斯" in "日本不是" #False
text = "日本不是" v3 = "日本" in text #True
text = input("请输入你的评论:") if "日本" in text:print("不能包含日本的信息") else:print(text)
text = input("请输入你的评论:") if "日本" not in text:print(text) else:print("不能包含日本的信息")
-
逻辑运算
user = input(">>>") pwd = input(">>>") if user == "root" and pwd == "123" :print("成功") else:print("失败")
-
逻辑运算符的特殊用法
一般
#v1 = 条件 and/or 条件 v1 = user == "root" and pwd == "123"
高级
v1 = 值 and/or 值 # v1 = 2 and 4 print(v1) #4 """ 值 and 值 逻辑运算结果取决于哪个值?结果等于哪个值 """
v1 = 6 and 9 #9 v2 = 0 and 1 #0 v3 = 88 and 0 #0 v4 = "" and 9 #"" v5 = "两位" and "小车" #"小车" v6 = 1 or 2 #1 v7 = 0 or 2 #2 v8 = 1 and 8 or 9 and 10 or 11 or 12 and 0 or "" and "起来" #8
name = 19 if bool(name):v1 = name else:v1 = 666
name = 19 v1 = name or 666
5.基本概念
5.1进制
二进制0b 八进制0o 十六进制0×
-
十进制 --> 其他进制
data = 238 v1 = bin(238) print(v1) #0b11101110 v2 = oct(238) print(v2) #0o356 v3 = hex(238) print(v3) #0xee
其他进制,转换成十进制
d1 = int("0b11101110",base=2) print(d1) #238 d2 = int("0o356",base=8) print(d2) #238 d3 = int("0xee",base=16) print(d3) #238
5.2计算机中的单位
-
b 位 (bit)
-
B 字节(byte) 8位是一个字节
-
KB 千字节 1024个字节就是1 KB
-
M 兆 1024 KB = 1 M
-
G 千兆 1 G = 1024 M
5.3编码
5.3.1ascii编码
5.3.2 gbk 和gb2312
5.3.3 unicode万国码
-
ucs2,用固定的2个字节表示二进制和文字对应关系 2^32=65535 2**32=65535
-
ucs4,用固定的4个字节表示二进制和文字对应关系 2^32=
5.3.4utf-8编码
5.3.5Python
name = "吴佩琦" #字符串类型,unicode来存储(ucs4) data = name.encode('utf-8') #字节类型,utf-8编码来存储 print(data)
在Python开发中,以后再去做文件存储或网络传输时,不能直接用字符串,而是需要将字符串压缩成utf-8编码的字节,然后再来传输和存储。
#在文件中写入一个字符串 name = "吴佩琦" #1.打开文件 file_object = open("vip.text",mode='ab') #2.写入内容 file_object.write( name.encode('utf-8') #3.关闭文件 file_object.close()
6.数据类型
布尔值(bool):True False
字符串(str) : "中国联通"
列表(list): [11,22,33] ["李冉","谢鹏",11,22,True]
元组(tuple) : (11,22,33) ("李冉","谢鹏",11,22,True)
字典(dict) : {"k1":123,"k2":456}
n1 = "root" res = n1.upper() #res = "ROOT" n2 = "admin" value = n2.upper() #value = "ADMIN"
data_list1 = [11,22,33] data_list1.append(55) #列表的功能,在列表的尾部追加某个值[11,22,33,55] data_list2 = [1,2,3] data_list2.append(55) #列表的功能,在列表的尾部追加某个值[1,2,3,55]
6.1字符串类型
字符串是一个不可变的类型
6.1.1独有功能
-
字符串独有的功能
data = "root" res = data.功能名() #res=新的值
-
大写和小写
name = "root" res = name.upper() print(res) #"ROOT" print(name) #"root"
name = "ROOT" res = name.lower() print(res) #"root" print(name) #"ROOT"
注册/登录某个网站时,填写验证码(不区分大小写)
code = input("请输入验证码(ABCd):") big_code = code.upper() if big_code =="ABCD":print("验证码正确") else:print("验证码错误")
code = input("请输入验证码(ABCd):") big_code = code.lower() if big_code =="ABCD":print("验证码正确") else:print("验证码错误")
让用户循环输入姓名,用字符串格式化给他输出“恭喜××,获得500W“,如果用户输入的q或者Q,循环终止。
while True:name = input("请输入姓名(Q/q退出):")if name.upper() == "Q":breakprint("恭喜{0},获得500w".format(name))
-
isdecimal,判断字符串里是不是有整数
data = "12" v1 = data.isdecimal() print(v1) #True
data = "a2" v1 = data.isdecimal() print(v1) #False
text = input("请输入一个数字:") #"123" if text.isdecimal():print("输入正确") else:print("非数字")
循环提示用户输入一个数字,如果不是数字,则继续输入,如果是,则终止循环
while True:text = input("请输入一个数字:")if text.isdecimal():print("结束")break#以下可省略else:print(input("请继续输入"))
让用户循环反复的输入2个值(必须都是数字,不是数字就重复输入,直到都是数字为止),让两个数字相加。
while True:text1 = input("请输入第一个数字:")if text1.isdecimal():break while True:text2 = input("请输入第二个数字:")if text2.isdecimal():breaktext = int(text1) + int(text2) print(text)
-
startswith和endswith,判断字符串是以××开头或以××结尾
name = "中华人民共和国" v1 = name.startswith("中华") #True v2 = name.endswith("中华") #False
address = input("请输入你的家庭地址:") if address.startswith("北京市"):print("北京") else:print("非京户")
file_name = "××.png" if file_name.endswith("png"):print("一张图片") else:print("不是图片")
-
strip/lstrip/rstrip,去除空白(空格、换行符\n、制表符\t
name = " 台湾省 " v1 = name.strip() # "台湾省" v2 = name.lstrip() # "台湾省 " v3 = name.rstrip() # " 台湾省"
name = input("请输入姓名:") # " " data = name.strip() if data == "":print("输入不能为空") else:print(data)
-
replace 替换
text = "漂亮女孩" data = text.replace("女孩","李然") print(text) print(data)
让用户输入一段文本,出现:李易峰,则替换成×××,输出被替换完成的内容
text = input("请输入一段文字:") #aaaaa李易峰 data = text.replace("李易峰","×××") print(data) ##aaaaa×××
输入一段文本,将:苍老师、毛老师、李老师,转换成×××。
text = input("请输入一段文字:") text = text.replace("李老师","×××") text = text.replace("苍老师","×××") text = text.replace("毛老师","×××") print(text)
总结
1、条件语句
2、while循环语句:break、continue
3、字符串格式化->format
4、运算符
特殊逻辑运算
v1 = 1 == 1 and 2 == 2 #一般应用
特殊应用
v2 = 4 and 9
5、基础概念
进制之间如何转换:bin/oct/hex/int
计算 机单位:8位1个字节
编码 utf-8是对unicode压缩 utf-8表示中文3个字节
6、数据类型
-
同一种数据类型,一般都具有共同的特征、同样的功能
-
字符串str
-
字符串不可变,所以执行它的功能时,原数据不变,生成一个新数据
-
更多推荐
Python全栈开发笔记
发布评论