预习
预习完了,哈哈哈,开始写今天的总结吧。
前言时刻
今天学的比较水,一上午就把一天的课程都给看完了,写写都学了啥
内容:
1、while循环语句、逻辑运算、算术运算、格式化输出、字符编码
1、while循环语句
简单的语法我就不说了,我就说一个我之前没学过的方法,while ……else……
# 1、while else用法,之前还没学过呢
NUM = 2 # 定义常量(注意全大写字母) 用于比较counter
counter = 0
while counter<NUM:
print("计数中……")
counter+=1
# if counter == 1:
# break
else:
print("计数大于NUM了")
计数中……
计数中……
计数大于NUM了
但是当 while 中未被 break 打断时,以及while语句正常执行完毕,就会执行 else 语句。个人觉得 else 语句主要用于有 break 的情况下,若有break的语句则不执行 else 中的语句问题。
2、逻辑、算术运算
这里面有个点很重要,面试常问,多多练习,
下面是 Python 的运算符的优先级从高到低排列,同一行从左到右优先级递减。
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 位运算符,右移,左移运算符 |
& | 位运算符,位 ‘AND’ |
^ | | 位运算符,异或和或 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += = *= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
# 2、逻辑运算符 not and or
# and
print(1 and 2) # 2
print(0 and 2) # 0
# or
print(-2 or 6) # -2
print(0 or 6) # 6
# not
print(not 1 and 6) # False
print(not 0 and 6) # 6 not的优先级比and高
# 组合运算 面试题**
print(6 or 0 and 2) # 6
print(8>6 or 0 and 2) # True
# 解释:比较运算符的优先级高于逻辑运算,所有变成True or 0 and 2。又and高于or,所有变成True or 0 == True
# 逻辑运算符优先级:not>and>or
以上例子涉及一个名词,那就是 “逻辑短路”,和 c++ 中的逻辑运算一毛一样。
- 当或 or 运算时,若前面的对象是非零数,那么直接输出此数,后面的对象无需判断,即有真即真。若是零,则输出后面的对象的数值。
- 当与 and 运算时,若前面的对象是0,那么直接输出0,后面的也无需判断,有假即假。若非零,则输出后面的对象的数值。
3、格式化输出
格式化输出内容超级重要,通常用于一些模板字符串中。格式化输出内容有三种方式,前提你的 Python 需升级到 3.6 以上。
- 最早,使用占位字符%,后面跟s=str,d=int(10进制),x=hex(16进制),o=oct(8进制)。
- 较方便,使用format,test_str.format(‘1’, ‘2’)
- 最好用(Python3.6添加的特性),直接在字符串中添加变量,超方便
3.1、%占位字符
例子:
# 4.1 %
msg = """
名字:%s,
年龄:%d,
8进制:%o,
16进制:%x,
爱好:%s
""" % ("西园公子", 18, 16, 24, "看电影") # %o将数转成8进制, %x将数转成16进制
print(msg)
# 打印
名字:西园公子,
年龄:18,
8进制:20,
16进制:18,
爱好:看电影
还有一个重点是使用%可以格式化输出数字,控制小数点后的有效位数。
# 2、输出格式化的数
print("%.2f" % 10) # 10.00
3.2、format用法
# 4、格式化输出内容
# 4.2 format
msg2 = """
方式:{}
名字:{},
年龄:{},
爱好:{}
""".format("顺序型", "西园公子", 18, "看电影")
print(msg2)
msg2_1 = """
方式:{0}
名字:{2},
年龄:{1},
爱好:{0}
""".format("索引型", "西园公子", 18, "看电影")
print(msg2_1)
msg2_2 = """
方式:{msg}
名字:{name},
年龄:{age},
爱好:{hobby}
""".format(hobby="看电影",name="西园公子", age=18, msg="键值型")
print(msg2_2)
# 打印
方式:顺序型
名字:西园公子,
年龄:18,
爱好:看电影
方式:索引型
名字:18,
年龄:西园公子,
爱好:索引型
方式:键值型
名字:西园公子,
年龄:18,
爱好:看电影
3.3、字符串内置{}
具体用法是在字符串的引号之前加上 f ,意味着里面的 {} 包裹的内容会被当成普通代码进行渲染。
name = "西园公子"
age = 18
hobby = "看电影"
msg3 = f"""
名字:{name},
年龄:{age},
爱好:{hobby}
"""
print(msg3)
名字:西园公子,
年龄:18,
爱好:看电影
4、数据编码
这个问题之前写的博客总结的很全,所以此处就简短的回忆一波,就当是复习了。
今日总结:
觉得养成习惯的过程真的很痛苦,但是一定要咬牙坚持。当坚持一段时间后变成习惯,那就happy了,不要躺在舒适区内,提升自己,才会遇见更好的自己,Just do it!
参考文章:
format格式化:https://www.runoob.com/python/att-string-format.html