Python全栈开发笔记

笔记是用Typora记的所以格式有些乱

解释器安装路径:C:\Program Files\Python310\

代码路径: D:\Users\LALALA\Desktop\code\

本质3步:

  1. 安装解释器

  2. 学习Python语法并编写代码

  3. 用解释器去运行所写代码

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 条件××:
            pass
        else:
            pass
    else:
        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循环基本使用

  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 = 100
    count = 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("中国联通")
        break
        print(123)
print("结束")
​
#输出
中国联通
结束
while True :
        print("中国联通")
        if 1==1:
            break
        print(123)
print("结束")
​
#输出
中国联通
结束
while True :
        print("中国联通")
        if 1 >= 1:
            break
        print(123)
print("结束")
​
#输出
中国联通
123
中国联通
123
中国联通
123
......

2.3continue

continue不能自己独立使用,只能放在循环的内部。

continue,立即结束当前循环,开始下次循环

while True :
        print(1)
        continue
        print(2)
print("结束")
#输出
1
1
1
......

输出1~10,不要7

count = 1
while count < 11 :
    if count == 7:
        continue
        count = count + 1
    print(count)
    count = count + 1
​
#输出
1
2
3
4
5
6
无法结束
count = 1
while count < 11 :
    if count ==7:
        count = count + 1
        continue
    print(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":
        break
    print("恭喜{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():
        break
        
text = 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

    • 字符串不可变,所以执行它的功能时,原数据不变,生成一个新数据

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值