预习
预习完了,哈哈哈,开始写今天的总结吧。
前言时刻
今天学的比较水,一上午就把一天的课程都给看完了,写写都学了啥
内容:
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