iluke 发表于 2021-4-6 12:00

python学习笔记(复习)

本帖最后由 iluke 于 2021-4-6 20:02 编辑

之前写笔记一直在pycharm里,我也是在边看视频边记笔记,之前的学到某个地方,突然发现自己理解不了,所以又找了个视频,重新学习了一下也算是对之前知识的巩固吧,放假几天家里电脑古老的缘故吧,我用一个手机看视频一个手机记笔记的,希望自己提升的同时能帮到一些人吧,共同努力!之前的就算是杂记吧,工作忙碌的原因之前的也就不修改了,重新发下我重新学习做的笔记。这个还是讲的比较细致的两版的笔记,一个.py文件,一个word
#   重新学习(复习)
一:
1.简述硬件、操作系统、软件之间的关系
#计算机是由多规格硬件组成 。 例(cpu、硬盘、内存、网卡、主板等)。
#操作系统是安装在计算机上用于协调各硬件进行配合工作的,他将用户的一些行为转化为计算机能够识别的命令,并协调各个硬件配合完成相关命令。
#软件,是由程序员开发并安装在操作系统的程序(本质上是一大堆代码)。

2.列举常用的操作系统
#常用的操作系统有三类
#windows
#mac
#linux

3.简述编译器和解释器的区别和作用
#编译器和解释器的作用是将各编程语言的代码进行翻译,从而使得计算机能够识别并执行
#编译器,全文翻译,将代码编译成临时文件,再执行临时文件
#解释器, 实施翻译,对代码进行边翻译边解释

4.编程语言进行分类
#解释的角度:编译性和解释性。
#高低的角度:高级编程语言和低级编程语言。
5.python解释器的种类有哪些
#CPython、 Jython、Ironpython、pypy等

6.cpython解释器的版本有哪些?你现在用的是哪个版本?
#2.x和3.x,目前使用的是3.9.2

7.系统环境变量的作用是什么?
#在将某个目录添加至环境变量后,如果在终端想要去运行此目录下的文件,则只需要输入文件名即可(无需再写前缀),系统会自动读取环境变量中的路径并自动拼接。

8.python和pycharm的区别是什么?
#python是解释器,用于将python解释称计算机能够识别的命令。
#pycharm是IDE(类似于编辑器),用于方便快速的编写python代码并实现运行python代码的一个工具



二:
# 1.谈谈你链接的编码以及为什么会出现乱码的现象?
    编码相当于一个密码本,其中存储着文字和01010的对应关系
    乱码的出现是因为文件的存储方式和打开方式不一致导致的,另外,如果数据丢失也可能会造成乱码

# 2.python解释器默认编码格式是什么?如何修改?
    python解释器默认编码为utf—8
在文件的顶部通过设置: # -*- coding:编码 —*-实现修改

# 3.用python打印出下面内容:
#   文能提笔安天下
#   武能上马定乾坤
#   心存谋略何人胜

print("文能提笔安天下")
print("武能上马定乾坤")
print("心存谋略何人胜")
print("古今英雄唯是君")

text = """
文能提笔安天下
武能上马定乾坤
心存谋略何人胜
古今英雄唯是君
"""
print(text)

# 4.变量名的命名规范和建议?
三条规范(必须遵守)
变量名只能由字母数字下划线组成
变量名不能以数字开头
变量名不能说python内置关键字#变量是容器 用于存放程序数据的容器 先定义后调用
name = "lark 云雀"   #设置lark 云雀为变量name name是变量名 lark 云雀为变量值
age = 23   #数字不用加括号
print(name.age)#调用变量 输出结果为“lark 云雀 23”
id(name) #打印内存地址,即变量物理地址

#什么是变量
#变量名只能是字母、数字或下划线的任意组合 变量名的第一个字符不能是数字
#关键语法不得设为变量名(例:print and import...)
#变量名须规范 不能瞎起 驼峰体AgeOfBlackGirl = 56 首字母大写 ; 下划线体 age_of_black_girl = 56

name = ”云雀“#修改变量 修改变量会改变物理地址
del name #删除变量
#常量指不变的值, 标注;全大写表示不变的量 例:NAME = 1000
# 5.如下哪些变量名是正确的?
# name = 'lark'
# _ ='lark'
# _9 = "老男孩"
# 9name = "云雀"
# oldboy(edu = 666

正确的为:
name = 'lark'
_ ='云雀'
_9 = "老男孩"

# 6.设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确
num = input("请输入数字")
data = int(num)
if data > 66:
   print("大了")
elif data < 66:
   print("小了")
else:
   print("正确")

# 7.提示用户输入"bab",判断用户输入的对不对。如果对,提示真聪明,如果不对,提示输错了。
text = input("请输入内容")
if text == "bab":
   print("真聪明")
else:
   print("输错了")

# 8.写程序,成绩有ABCDE五个等级,与分数的对应关系如下:
# A 90~100
# B 80~89
# C 60~79
# D 40~59
# E 0~39
# 要求用户输入0-100的数字后,你能正确打印他的对应成绩等级。
i = input("请输入你的成绩")
data = int(i)
if data >= 90 and data <= 100:   #if 90 <= data <=100:
   print("优")
elif data >= 80 and data < 90:
   print("良")
elif data >= 70 and data < 80:
   print("中")
elif data >= 60and data < 70:
   print("差")
else:
   print("不及格")

简洁化操作
i = input("请输入你的成绩")
data = int(i)
if 90 <= data <= 100:   #区间比较
   print("优")
elif 80 <= data < 90:
   print("良")
elif 70 <= data < 80:
   print("中")
elif 60 <= data < 70:
   print("差")
else:
   print("不及格")


1.编码
计算机中所有的数据本质上都是以0和11的组合来存储
在计算机中有一个编码的概念(密码本)
在计算机中有很多种编码
utf—8默认
gbk
注意事项:以某种编码的形式进行保存,以后就要以这种编码打开,否则就会出现乱码

2.编程初体验
编码必须要保持:保存和打开一致,否则就会乱码
默认python的解释器是以UTF-8编码的形式打开文件。如果想要修改Python的默认解释器编码可以这样干:
# -*- coding:gbk -*-
print("输入内容即可")
建议:所有的python代码文件都以utf-8的格式保存和读取。

3.输出
print("看着风景美如画") #将结果呈现出来

关于输出
默认print在尾部会加换行符
print("看着风景美如画")
print("本想吟诗增天下")
输出:
看着风景美如画
本想吟诗增天下

想要不换行,可以这样做
print("看着风景美如画",end="这里写下一句")
print("看着风景美如画",end="")
print("本想吟诗增天下",end="")
输出:
看着风景美如画本想吟诗增天下

print("看着风景美如画",end=",")
print("本想吟诗增天下",end="。")
输出:
看着风景美如画,本想吟诗增天下。

4.初识数据类型#数据类型
#数字类型:int\long\float (整型、长整型、小数)
          #在64位系统上,整数的位数为64位,取值范围-2的63次方~2的63次方-1,即-9223372036854775808~9223372036854775807
          #长整型没有限制数值的大小

#字符串str:存储文字
#列表list:购物列表、学员列表、客户列表..
#布尔bool:处理逻辑判断
#集合set:处理2组数据间的关系
#字典dict:存储更多信息,加快查询速度
#字节bytes:二进制数据、处理图片、视频、书记流等type(age)#查看数据类型
输出结果 class "int"#class(类的意思)为面向对象 int为数值类型
1.整形(int)
整型,整数。支持加减乘除
print(666)#输出整数类型
print(2+10) #2加10
print(2*10) #2乘10
print(10/2) #10除2
print(10 % 3) #10除3的余数
print(2 ** 4) #2的四次方 ,一个是乘,两个是次方
书写规范:点击code,找到Reformat Code选项,点击自动规范书写过的内容

2.字符串(str)#字符串str :不可修改、有索引,可切片
name = "lark" #取其中一个值 ,name,取出值为k, 不能修改值,取出2个值name,顾头不顾尾,须加一位,输出显示为ark
       #类型为class ”str“ 字符串类型
help(str)#查看字符串类型
    name.capitalize() #输出为首字母大写
    name.upper() #字符所有字母大写
    name.center(50,”-“) #输出为------------lark-------------
#多行字符打”“”三个引号
#字符串拼接用+
字符串 ,文本信息,在python中必须要用"",''来表示单引号和双引号都可以,外面用单引号,里面用双引号,”“”是可以换行的
单行字符串:
print("我是lark云雀")
多行字符串:
print("""


lark
云雀
""")

对于字符串
加,两个字符串可以通过加号拼接起来
print("lark"+"云雀")
输出:
lark云雀

乘,让整形和字符串进行相乘,以实现让字符串重复出现N次拼接起来
print(3 * "我想吃饺子")
输出:
我想吃饺子我想吃饺子我想吃饺子

3.布尔类型(bool)
布尔类型中就两个值: True / False   ,布尔值一般会有一个条件
print(1 > 2)    #false
false

1 == 1    #true
ture

name = input("请输入你的用户名:")   #拿到你输入的用户名,
if name == "云雀":    #如果 当name中输入的值等于"云雀"时,name == ”云雀“,实际上是在作比较
   print("用户登陆成功")#输出用户登录成功
else:       #另外
   print("用户登陆失败")#输出用户失败
补充:
1 > 2   #是可以做比较的
1 == 3   #是可以做比较的
"lark" == "云雀"#是可以进行比较的
1 == "lark"    #是可以做比较的,判断整形跟字符串是相等的,是不相等的,所以可以进行比较
1 > "lark"   #是无法做比较的,这种方式是错误的,能比较相等,1是不能大于字符串的

4.类型转换
如果想要做转换可遵循一个基本规则:想转换什么类型就让他包裹一些。例如:str(666)是将整型转换为字符串、int("888")是将字符串转换为整形
str(666) = "666"
int("888") = 888

转换为整形
字符串转换为整形
int("666") int("999")   #转换为整形666、999
"6" + "9" = "69"   #字符串6和9相加是69
int("6") + int("9") = 15 #转换为整数类型的6和9,等于15

int"lark是云雀"#报错 普通文本转换不了整形

布尔类型转换为整形
int(True)    转换完等于 1
int(False)   转换完等于 0

转换为字符串
整形转字符串
str(345)
str(666) + str(9)   结果为"6669"

布尔类型转换为字符串
str(True)    "True"
str(False)   "False"

转换为布尔类型
整形转换为布尔类型
bool(1)true
bool(2)true
bool(0)false   只有在转换0时结果为false
bool(-10) true

字符串转布尔
bool("lark")true
bool("云雀")true
bool("")   false
bool(" ")true
只有在转换没有内容的空的时显示false ,里面有空格都为true


关于类型转换
1.其他所以类型转换为布尔类型时,除了空字符串、0以外 其他都是true
2.字符串转整形时,只有那种"998"格式的字符串才可以转换为整形,其他都报错
3.想要转换为那种类型,就用这类型的英文包裹一下就行
str(...)
int(...)
bool(...)

print((50 * 10 / 5))#商为结果
print((8 > 10))
print((30 % 2))
print(3 * "我爱我的祖国")
print("lark" == "云雀")
print(666 == 999)
print("666" == 666)

print(int("100") * 3)   #300
print(int("123")+int("88"))   #211
print(str(111) + str(222))#”111222“
print(str(111) * 3)    #”111111111“
print(int("8") > 7)   #true
print(str(111) == 111)#false
print(bool(-1))#true
print(bool(0))#false
print(bool("")) #false
print(bool("你好"))#true
print(True == True)#true
print(True == False)#false
print(bool("") == bool(0)) #true

注意:类型转换不是改变原来值,实际在底层新创建了一个值。例如有整数6,然后是由str(6)转化了一下得到"6"是依据整数6新创建的。

点击文件,打开设置,搜索mouse,打开编辑器,勾上使用ctrl加鼠标滚轮缩放


光标变成方块,点击Insert键可切换插入和修改模式

5.变量
变量,让变量名指向某个值,格式为: 【变量名 = 值】,以后可以通过变量名来操作其对应的值
age = 18
name = "lark"
flag = 1 > 18 #把右边计算出一个结果,把值附给flag
address = "西安" + "未央区" + "云雀"
print(address)
print(flag)

age = 18 #代指
number = 1 == 2 #==是指比较,先看后面, 结果为false,number代值false
注意:
1.给变量赋值 age = 18#专业
让age代指值 age=18

变量名的规范
三个规范(必须满足)
1.只能有数字字母下划线
2.不能以数字开头,字母和下划线可以
3.不能用python内置的关键字

两个建议(变量一般用小写)
1.下划线连接命名
2.见名知意


5.2 变量内存指向关系
1.看代码写结果
alex_length = 3
wupeiqi_length = 18
total = alex_length + wupeiqi_length
print("total")
结果为21

2.按要求写代码
假设age为小明的年龄
age = 18
问:已知小李比小明大3岁,计算小李年龄赋值给ming_age变量并输出
问:已知大刘比小明和小李年龄的和还要大5岁,计算大刘的年龄复制给liu_age变量并输入

age = 18
ming_age = age + 3
print(ming_age)
print(ming_age + age +5)

3.看代码写结果
nickname = "一米八大高个"
username = "nickname"

username = "弟弟"
print(nickname)#一米八大高个
print(username)   #弟弟

5.看代码写结果
nickname = "一米八大高个"
username = "弟弟"
text = username + nickname
print(text)    #弟弟一米八大高个

6.看代码写结果
nickname = "一米八大高个"
username = "nickname"
nickname = "弟弟"
text = username + nickname
print(text)    #一米八大高个弟弟

7.看代码写结果
string_number = "20"
num = int(string_number)

data = string_number * 3
print(data)    #202020

value = num * 3
print(value)   #60


6.注释
单行注释
CTRL + ?

多行注释
”“”用三个引号表示
"""
多行注释内容
多行注释内容
多行注释...
"""

7.输入
输入,可以实现程序和用户之间的交互
name = input("请输入用户名:")#右边 input(”请输入用户名:“)是让用户输入内容。 将用户输入的内容赋值给name变量
if name == "lark":
   print(f"欢迎你, {name} 登陆成功")
else:
   print("登陆失败")
特别注意:用户输入的任何内容本质上都是字符串


name = input("请输入用户名:")#右边 input(”请输入用户名:“)是让用户输入内容。 将用户输入的内容赋值给name变量
if name == "lark":
   print(f"欢迎你, {name} 登陆成功")
else:
   print("登陆失败")

课堂练习:
1.提示输入姓名,然后给姓名后面拼接一个"烧饼",最终打印结果
我的解答:
name = input("请输入名字:")
print(name+"烧饼")
老师的:
name = input("请输入用户名:")
text = name + "烧饼"
print(text)

2.提示输入 姓名位置行为,然后做拼接并打印:xx在xx做xx
我做的
name = input("你叫什么名字?")
address = input("你在哪里?")
action = input("你在干啥?")
print(f"{name}在{address}做{action}")
老师的
name = input("你叫什么名字?")
address = input("你在哪里?")
action = input("你在干啥?")
text = name + "在" + address + "做" +action
print(text)

3.计算两个数字的和
我做的
number1 = input()
number2 = input()
print(int(number1) + int(number2))
老师的
number1 = input()
number2 = input()
value = int(number1) + int(number2)
print(value)

#      8.条件语句
#    if 条件 :
   条件成立之后的代码
else:
否则 ,条件不成立之后执行的代码
否则 ,条件不成立之后执行的代码
否则 ,条件不成立之后执行的代码

name = input("请输入用户名:")
if name == "lark":
   print("成功")
else:
   print("失败")

示例一
print("开始")
if True:
   print("123")
else:
   print("456")
输出结果
开始
123

示例二
print("开始")
if 5 == 5:
   print("123")
else:
   print("456")
print("结束")
示例三
num = 19
if num > 10:
   print("num变量对应值大于10")
else:
   print("num变量对应值不大于10")

示例四
username = "lark"
password = "666"
if username == "lar" and password == "666": #条件里可做多个条件
   print("恭喜,登陆成功")
else:
   print("登陆失败")

示例五
username = "lark"

if username == "lark" or username == "云雀":
   print("vip大会员用户")
else:
   print("普通用户")

示例六
number = 19
if number % 2 == 1:
if data:
   print("number是奇数")
else:
   print("number是偶数")

示例七
if 条件:
   成立

print("开始")
if 5 == 5:
   print("5等于5")
   print("结束")

练习题
1.提示用户输入用户名和密码,用户名等于"lark",且密码等于"666",就输出为登陆成功;否则登陆失败
我做的
username = "lark"
password = "666"
username = input("请输入你的用户名:")
password = input("请输入你的密码:")
if username == "lark" and password =="666": #一个等号是赋值,两个等号是比较
   print(f"登陆成功,欢迎你,{username}")
else:
   print("登陆失败,请检查你的用户名及密码")


2.猜数字,提示用户输入一个数字,判断数字如果大于10,就输出错误,否则就输出猜对了
我做的
number = input("请输入一个数字") #字符串
if int(number) > 10:
   print("猜错了")
else:
   print("猜对了")


3.提示用户输入一个数字,判断是否为偶数,是偶数则输出偶偶偶数,否则就输出奇奇奇数
我做的
num = input("请输入一个数,我来帮你计算是否是技术或者偶数:")
if int(num) % 2 == 0:
   print("是偶数")
else:
   print("是奇数")
老师做的
num = input("输入数字")
new_num = int(num)
if new_num % 2 == 1:
   print("是奇数")
else:
   print("是偶数")

8.多条件判断
if 条件A
   A成立,执行此缩进中的代码
   ...
elif 条件B:
   B成立,执行此缩进中的代码
elif 条件C:
   C成立,执行此缩进中的代码
   ...
else:
   上述条件ABC都不成立

只能执行一个条件

num = input("请输入一个数字")
data = int(num)
if data > 6:
   print("大了")
elif data == 6:
   print("刚刚好")
else:
   print("太小了")

score = input("请输入分数")
data = int(score)
if data > 90:
   print("优")
elif data > 80:
   print("良")
elif data > 70:
   print("中")
elif data >60:
   print("差")
else:
   print("不及格")

8.3 条件嵌套
if 条件A:
   if 条件a1:
       ...
   else:
       ...
elif 条件B:
   ...


#模拟10086客服
#模拟10086客服
print("欢迎致电10086,我们提供了以下服务: 1.花费相关; 2.业务办理; 3人工服务")
choios = input("请按数字选择服务")
if choios == "1":
   print("话费相关业务")
   cost = input("查询话费请按1 ;交话费请按2")
   if cost == "1":
       print("查询话费月为100元")
   elif cost == "2":
       print("交话费")
   else:
       print("输入错误")
elif choios == "2":
   print("业务办理")
elif choice == "3":
   print("人工服务")
else:
   print("序号输入错误")


day3 python基础
1.循环语句
2.字符串格式化
3.运算符(面试题)

while 循环
for   循环
while循环编写条件:
示例一
print("123")
while + 条件: #只要条件成立,就可以循环,只要条件一直成立,执行完会重新判断
   ...
   ...
   ...
print(456)

示例二
print("开始")#死循环
while Ture:#条件为真,一直执行真
   print("lark是云雀")
print("结束")
输出
lark是云雀lark是云雀lark是云雀lark是云雀lark是云雀lark是云雀lark是云雀...

示例二
print("开始")
while 1 > 2:
   print("云雀是lark")
print("结束")
输出
开始
结束

示例三
data = Frue
print("开始")
while data:
   print("云雀是lark")
print(“结束)
输出:
云雀是lark云雀是lark云雀是lark云雀是lark云雀是lark云雀是lark.....

示例四
print("开始")
flag = True#flag为真
while flag:#开始循环
   print("滚滚黄河,滔滔长江") #输出
   flag = False #flag 为假,while循环回到开始循环,这时候flag等于假,所以输出结束
print("结束")
输出
开始
滚滚黄河,滔滔长江
结束

示例五
print("开始")
num = 1
while num < 3:
   print("滚滚黄河,滔滔长江")
   num = 5
print("结束")
输出
开始
滚滚黄河,滔滔长江
结束

示例六
print("开始")
num = 1
while num < 5:
   print("给我生命,给我力量。")
   num = num + 1
print("结束")
1.给我生命,给我力量。2
2.给我生命,给我力量。3
3.给我生命,给我力量。4
4.给我生命,给我力量。5 #这时候随着变量越增越大,已经到5 了
结束 #条件不满足了,直接执行结束

测试
print("开始")
num = 1
while num < 6:
   print(end="云雀")
   num = num + 1
print("结束")
输出为
开始
云雀云雀云雀云雀云雀结束

练习题
重复三次输出我爱我的祖国
num = 1
while num < 4:
   print("我爱我的祖国")
   num = num + 1
print("结束")

1.2综合性小案例
请实现一个用户登陆系统,如果密码错误则反复提示让用户重新输入,直到正确为止
print("开始运行系统")
flag = True
while flag:
   user = input("请输入用户名?")
   pwd = input("请输入你的密码")
   if user == "lark" and pwd == "666":
       print("登录成功")
       flag =False
   else:
       print("用户名或密码错误")

自我实践
print("开始运行系统")
i = True
while i:          #让while直接循环真,会导致登录成功,还继续会让输入用户名和密码,所以需要登陆成功后把这个条件改成假,让其不再继续执行
   user = input("请输入用户名?")
   pwd = input("请输入你的密码")
   if user == "lark" and pwd == "666":
       print("登录成功")
       i = False
   else:
       print("用户名或密码错误")

print("开始运行系统")
i = True
while i:
   user = input("请输入用户名?")
   pwd = input("请输入你的密码")
   if user == "lark" and pwd == "666":
       print("登录成功")
       i = False
   else:
       print("用户名或密码错误")

练习题

1.补充代码实现
猜数字,设定一个理想数字比如:66,
一直提示用户输入数字,如果比66大,则显示猜测的结果大了,
如果比66小,则显示猜测的结果小了:只有输入等于66,
显示猜测结果正确,然后退出循环
我做的
number = 66
flag = True
while flag:
   i = input("猜数字")   #num = int(num)
   if int(i) > number:
       print("大了")
   elif int(i) < number:
       print("小了")
   else:
       print("猜对了")
       flag = False

2.使用循环输出1-100所有整数
num = 1
while num < 101:
   print(num)
   num = num + 1

3.使用循环输出12345678910,即:10以内除7以外的整数
num = 1
while num < 11:
   if number == 7:
       pass #过 ,啥都不干
   else:
       print(num)
   num = num + 1

num = 1
while num < 11:
   if number != 7:
   else:
       print(num)
   num = num + 1
4.输出1-100内所有的奇数

5.输出1-100内所有的偶数
6.求1-100的所有整数的和
7.输出10-1所有的整数


#   while elsewjile 条件:
#Continue和break。都是放在循环语句。中的。一旦遇到break。停止所有循环。一旦遇上continue就停止本次循环。继续执行下一个。


#字符串格式化
字符串格式化,使用更便捷的形式实现字符串的拼接
#2.1%基本格式化操作name = "lark"# 占位符# text = "我叫%s ,今年18岁“%”lark“text = ”我叫%s“,今年18岁 %name
name = "lark"age = 23#text = "我叫%s,今年%s岁" %("lark",23)#text = " "我叫%s,今年%s岁" %(name,age)text = "我叫%s,今年%d岁" %(name,age)
message = “%(name)s你什么时候过来呀?%(user)s今天不在呀。”%{“name”: “死鬼”,“user”:”老李”}print(message) 2.1.2百分比text = “兄弟,这个片我已经下载90%了,居然特么的断网了”print(text) text = “%s,这个片我已经下载90%%了,居然特么的断网了”%”兄弟”print(text)输出:兄弟,这个片已经下载90%了,居然特么的断网了 #一旦字符串格式化中存在百分比的显示,请一定要加%%以实现输出%
#2.2format (推荐用format)
text = “我叫{0},今年23岁”.format(”云雀”)Text = “我叫{0},今年{1}岁”.fornat(”云雀”,23)Text = “我叫{0},今年{1}岁,真实的姓名是{0}”.format(”云雀”,23) text = “我叫{},今年23岁”.format(”云雀”)Text = “我叫{},今年{}岁”.fornat(”云雀”,23)Text = “我叫{},今年{}岁,真实的姓名是{}”.format(”云雀”,23) text = “我叫{n1},今年23岁”.format(n1=”云雀”)Text = “我叫{n1},今年{age}岁”.fornat(n1=”云雀”,age =23)Text = “我叫{n1},今年{age}岁,真实的姓名是{n1}”.format(n1=”云雀”,age=23) text = “我叫{0},今年{1}岁”data1 = text.format(“云雀”,666)data2 = text.format(“lark”,888) text = “我叫%s,今年%d岁”data1 = text %(“云雀”,666)data2 = text %(“lark”,888)#这里需注意的是在data。的变量中。Text.后面需加空格。然后百分号。然后括号。


#2.3    f
到python3.6之后的版本,更便捷text = f”嫂子喜欢{‘跑步’},跑完之后满身大汗” action = “跑步”Text = f”嫂子喜欢{action},跑完之后满身大汗” Name = “喵喵”Age = “19”Text = f“嫂子的名字叫{name},今年{age}岁”Print(text) #在python3.8中引用Text = f”嫂子的名字叫喵喵,今年{19+2}岁“Print(text)


#python2
    #变量占位符 % % s字符串 % d表示只能数字 % f表示符点
    # %s = str
    # %d = digit
    # %f = float
#演示
       name = "lark"
       age = 23
       hobble = "playing"

       msg = '''
       ------------%s info----------
       name: %s
       age: %d
       hobble: %s
       ----------end----------
       '''%(name,name,age,hobble )

       print(msg)

#python3
#只需加f {}内加入变量名f解释{}内的变量
#演示
    name = "lark"
    age = 23
    hobble = "playing"

    msg = f'''
    ------------{name} info----------
    name: {name}
    age: {age}
    hobble: {hobble}
    ----------end----------
    '''

    print(msg)
#      进制转换
v1 = f'嫂子今年{22}岁'
print(v1)

v2 = f'嫂子今年{22:#b}岁'#将这个值转换成二进制显示
print(v1)

v3 = f'嫂子今年{22:#o}岁#转换为8进制显示
print(v3)

v4 = f'嫂子今年{22:#x}岁 #转换为十六进制显示
print(v4)

#f除了有这个用处外,在后期还可以在内部直接执行函数,或者执行一个对象的某个方法


#         理解
text = f'我是{'lark'},我爱大铁锤'

name = 'lark'
text = f'{name},我爱大铁锤'

name = 'lark'
text = f'{ name.upper() },我爱大铁锤'
print(text)
#将里面的变成大写再拼接起来
输出:
我是LARK,我爱大铁锤


#      3.运算符
提到运算符。我想大家首先想到的就是加减乘除之类的。本届要系统的跟大家聊一聊,我们写代码是常见的运算符,可以分为五种。
print(9//2)
4

python3不支持<>
if 1 > 2:
   pass
while 1>2
   pass

data = 1 == 2

num = 1
while num:
   print(num)
   num = num + 1   #简写为   num += 1


#            成员运算
v1 = 'la' in 'lark'#判断la在没在lark里面
输出结果
True #如果没有就返回False

#让用户输入一段文本,检测文本中是否包含敏感词
text =input('请输入内容:')
if '苍老师' = text:
   print('少儿不宜')
else:
   print(text)

#       逻辑运算,例如:且或非
if username == 'lark' and pwd == '123':
   pass

data = 1>2
if not data:   #取反
   pass

#      3.1运算符优先级
运算符的优先级有很多,常见的没几个推荐你记住三个即可。
一、算法优先级优先级 > 比较运算符
if 2 + 10 > 11:
   print('真')
else:
   print('假')

二、比较运算符优先级 > 逻辑运算符
if 1 > 2 and 2 < 10:
   print('成立')
else:
   print('不成立')

三、逻辑运算符内部三个优先级not>and>or
if not 1 and 1 > 2 or 3 == 8: #先把not1转换为布尔值,为False,1为True,not 1为False
   print('真')
else:
   print('假')

上述这三个优先级从高到低总结:加减乘除>比较>not and or
绝招:实在拿不准加括号,括号优先级最高


#         3.2面试题
逻辑运算中: and 、or
v1 = name == 'lark' and pwd == '123'
#v1 = True and False

if name == 'lark' and pwd == '123':
   pass

v2 = 'lark' and 'laok'

#第一步:将and前后的值转换为布尔值
True and True
#第二步:判断本次操作取决于谁?由于前面是True,所以本次逻辑运算取决于后面的值。
#所以后面的值等于多少最终结果就是多少。v2='laok'


v3 = '' and 'lark' #and里只要有一个值为false整体都是
#第一步:将and前后的值转换为布尔值 False and True
#第二步:判断本次操作取决于谁?由于前面是False,所以本次逻辑判断取决于前面的值
#所以前面的值最终等于多少就是多少,v2 = ''

v4 = 1 or 8 #只要其中一个值为True,整体都是True
#第一步:将or前后转换为布尔值True and True
#第二步:判断本次操作取决于谁?由于前面的是True,所以本次逻辑判断取决于前面的值
#v4 = 1

v5 = 0 or 8
#第一步:将or前后的值转换为布尔值False or True
#第二步:判断本次逻辑判断取决于谁?由于前面是False,所以看后面的值,后面的值为True,所以这次逻辑判断整体为True
#v5 = 8


#            练习题:
v1 = 1 or 2#True v1 = 1
v2 = -1 or 3#Truev2= -1
v3 = 0 or -1 #False v3=-1
v4 = 0 or 100#Truev4=100
v5 = '' or 10 #Truev5=10
v6 ='lark' or '' #True v6= 'lark'
v7 = 0 or ''   #Falsev7 = ''
print(v1,v2,v3,v4,v5,v6,v7)
#or ,就是看第一个值,第一个值为真,结果就应该是第一个值,否则就是第二个值

v1 = 4 and 8#True v1 = 8
v2 = 0 and 6#False v2 = 0
v3 = -1 and 88 #Falsev3 = 88
v4 = '' and 7#Falsev4=''
v5 = 'lark' and '' #False v5 = ''
v6 = '' and 0#Falsev6 = ''
v7 = 0 and '中国'#Flase v7 = 0
print(v1,v2,v3,v4,v5,v6,v7)
#and,看第一个值,如果第一个为真,结果就取决于第二个值,否则结果就是第一个值。

#            面试题
#如果多个and和or的情况,先计算and再计算or。

v1 = 0 or 4 and 3 or 7 or 9 and 6
   0 or 3 or 7 or 9 and 6
   0 or 3 or 7 or 6
   3 or 7 or 6
   3 or 6
   3

v2 = 8 or 3 and 4 or 2 and 0 or 9 and 7
   8 or 4 or 0 or 7
   8 or 0 or 7
   8 or 7
   8

v3 = 0 or 2 and 3 and 4 or 6 and 0 or 3
   0 or 4 or 0 or 3
   4 or 3
   4

如果有not,and,or,先计算not,在计算and,最后计算or
v4 = not 8 or 3 and 4 or 2
   False or 4 or 2
   4 or 2
   4



雷欧库珀 发表于 2021-4-6 12:01

赞一个,不过我更喜欢思维导图

tomato123123 发表于 2021-4-6 12:29

牛啊,写这么多!不过看上去太乱,没有体现Python之美{:1_926:}

aiLT 发表于 2021-4-6 12:33

本帖最后由 aiLT 于 2021-4-6 12:34 编辑

后面的练习和面试题说的更加详细就好了

lyl610abc 发表于 2021-4-6 12:35

感觉好难啊,我没机会了{:301_972:}

heronk 发表于 2021-4-6 12:44

感觉好难

LYKDR 发表于 2021-4-6 12:46

可以直接对着菜鸟教程学

xiao_1819 发表于 2021-4-6 13:02

不错,不错,厉害

huiker231 发表于 2021-4-6 13:06

#python是解释器,用于将python解释称计算机能够识别的命令。

楼主整理的很好
我觉得此处有点不妥,“解释称”写为“解释成”,好像更贴切

hubindong 发表于 2021-4-6 13:41

好认真 啊从头记录了
页: [1] 2
查看完整版本: python学习笔记(复习)