预习
预习完了,哈哈哈,开始写今天的总结吧。
前言时刻
今天学的比较水,一上午就把一天的课程都给看完了,写写都学了啥
内容:
1、while循环语句、逻辑运算、算术运算、格式化输出、字符编码
1、while循环语句
简单的语法我就不说了,我就说一个我之前没学过的方法,while ……else……
# 1、while else用法,之前还没学过呢NUM = 2 # 定义常量(注意全大写字母) 用于比较countercounter = 0while counter<NUM:print("计数中……")counter+=1# if counter == 1:# breakelse: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# andprint(1 and 2) # 2print(0 and 2) # 0# orprint(-2 or 6) # -2print(0 or 6) # 6# notprint(not 1 and 6) # Falseprint(not 0 and 6) # 6 not的优先级比and高# 组合运算 面试题**print(6 or 0 and 2) # 6print(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 formatmsg2 = """方式:{}名字:{},年龄:{},爱好:{}""".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 = 18hobby = "看电影"msg3 = f"""名字:{name},年龄:{age},爱好:{hobby}"""print(msg3)名字:西园公子,年龄:18,爱好:看电影
4、数据编码
这个问题之前写的博客总结的很全,所以此处就简短的回忆一波,就当是复习了。
今日总结:
觉得养成习惯的过程真的很痛苦,但是一定要咬牙坚持。当坚持一段时间后变成习惯,那就happy了,不要躺在舒适区内,提升自己,才会遇见更好的自己,Just do it!
参考文章:
format格式化:https://www.runoob.com/python/att-string-format.html
