| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 大数协python训练营打卡笔记Task01 -> 正文阅读 |
|
[Python知识库]大数协python训练营打卡笔记Task01 |
一、学习知识点概要注释 运算符(算术运算符、比较运算符、逻辑运算符、位运算符、三元运算符、其他运算符及运算符的优先级) 变量和赋值 数据类型(整型、浮点型、布尔型)与转换(转换成整型、字符串、浮点型) 位运算 二、学习内容(一)变量、运算符、数据类型1.注释【整行注释】 #…… 【多行注释】三个单引号/双引号 '''xxx xxxx''' """xxx xxxx""" 2.运算符【算术】 地板除://(向下取整) 幂:**(eg,3**3=27) 【比较】 大于等于:>= 小于等于:<= 等于:== 不等于:!= 【逻辑】 and,or,not 【位运算符】 ~:按位取反 &:按位与 \|:按位或 ^:按位异或 <<:左移 >>:右移 【三元运算符】
也即
【其他运算符】 in:存在 not in:不存在 is:是 is not:不是 注意: ①is, is not 对比的是两个变量的内存地址;==,!= 对比的是两个变量的值 ②比较的两个变量是地址不可变的类型还是地址可变的类型 【运算符的优先级】 ①先一元运算符后二元运算符 ②先算术运算再移位运算后位运算 ③逻辑运算最后 3.变量和赋值①需要赋值给变量 ②变量名可以是数字、下划线、字母等,但不能以数字开头 ③python中变量名大小写敏感 4.数据类型int:整型 float:浮点型 用getcontext().prec来调整精度 例子:使1/7保留5位
bool:布尔型 只有True和False(给变量赋值),数字中用1和0表示。 还可以创建变量:bool(X) 在基本类型变量中:bool(0),bool(0.00),bool(False)输出结果为False,其余为True 在容器类型变量中:X若为空的变量,则输出为False(例如:bool(''),bool(())……) 注意:可记为变量为空则输出False 数值变量中,0,0.0,0.00等都视为空,输出False 容器变量中,里面没有元素则视为空,输出False 5.获取数据类型及转换①获取数据类型:type(object)
②数据类型转换: 转换为整型:int(x) 转换为字符串:str(x) 转换为浮点型:float(x) (二)位运算1.二进制中的原码、反码、补码①最高位上0表正,1表负 ②正数的原码、反码、补码都一样 ③负数的反码=它的原码符号位不变,其他位取反(0变1,1变0) ④负数的补码=它的反码+1 ⑤0的反码、补码都是0 ⑥计算机都是以补码方式进行运算的 2.按位非操作~~:把数字的补码全部取反(包括符号位) 例子:2取反得-3
00 00 00?10?-> 2 ~ 11 11 11 01 11 11 11 00 00 00 00 11即-3 3.按位与操作&只有两个对应位都为 1 时才为 1 4.按位或操作|只要两个对应位中有一个 1 时就为 1 5.按位异或操作 ^(满足交换律和结合律)只有两个对应位不同时才为 1 6.按位左移操作 <<
7.按位右移操作 >>
8.利用位运算实现快速运算和整数集合三、学习问题与解答(自己遇到的问题+课后题) 【自己遇到的问题及解答】?1.为什么3对4取余是3?(即被除数比除数小时怎么取余数?)自己算了一下感觉余数是2,有点奇怪就上百度查了一下。 原理的话就是: 3=0*4+3 自认为可以借助divmod来理解
输出(0, 3) 也即3=0*4+3 2.不理解位运算符的含义及运用文件里提到“有关二进制的运算,参见“位运算”部分的讲解 。” 因为从来没有接触过,感觉这部分有点难理解,决定找视频来理解入手。 参考视频:位移运算的原理,真正搞懂位移运算符的使用_哔哩哔哩_bilibili 视频对我理解位运算很有帮助,但注意文件中没有提到无符号数,只要考虑有符号数即可。 3.一元运算符、二元运算符、三元运算符的区别看到文件中提到了这三个定义,但是并不清楚,所以从百度搜索得知: 一元运算符是只对一个表达式执行操作,该表达式可以是数值数据类型类别中的任何一种数据类型。对于++、--这样的,只需要一个操作数就能进行运算。 二元运算符是将两个表达式合成一个稍复杂的表达式,对于+-*/%=等,都需要两个操作数才能进行运算。二元的+-*/%=比一元运算符++/--优先级低。 由此推出,个人理解认为三元运算符则是需要三个操作数。 4.待解决的问题:?例子中的格式括号内为(xx)或('xx') 与文本所给的括号(x,base=10);(object=' ');(x)不同 尚未理解,下次遇到的时候再进行思考。 【课后练习题】1.怎样对python中的代码进行注释? 【整行注释】 #…… 【多行注释】三个单引号/双引号 ''' '''或""" """ 2.python有哪些运算符,这些运算符的优先级是怎样的? 算术运算符、逻辑运算符、位运算符、三元运算符、其他运算符 ①先一元运算符后二元运算符 ②先算术运算再移位运算后位运算 ③逻辑运算最后 3.python 中 ①is, is not 对比的是两个变量的内存地址;==,!= 对比的是两个变量的值 ②比较的两个变量是地址不可变的类型还是地址可变的类型 4.python 中包含哪些数据类型?这些数据类型之间如何转换? int整型;float浮点型;bool布尔型 数据类型转换: 转换为整型:int(x);转换为字符串:str(x);转换为浮点型:float(x) 5.位运算练习题: leetcode 习题 136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 尝试使用位运算解决此题。 自己的理解:找出不同的数字,应该是运用位运算中的异或(^)进行考虑。 四、学习思考与总结1.之前看视频的时候有记过关于运算符的优先级,如图:(来源:up主小甲鱼)?2.二进制转换:(图片来源:位移运算的原理,真正搞懂位移运算符的使用_哔哩哔哩_bilibili)四则运算 加法:0+0=0,0+1=1,1+0=1,1+1=10 减法:0-0=0,1-0=1,1-1=0,0-1=1 乘法:0×0=0,0×1=0,1×0=0,1×1=1 除法:0÷1=0,1÷1=1, 1÷0无意义,0÷0无意义 逻辑运算 逻辑加(也称“或”运算,用符号“OR”、“∨”或“+”表示):0∨0=0 0∨1=1 1∨0=1 1∨1=1 逻辑乘(也称“与”运算,用符号“AND”、“∧”或“·”表示):0∧0=0 0∧1=0 1∧0=0 1∧1=1 逻辑非(也称“非”运算,用符号“NOT”或“—”表示):“0”取反后是“1”,“1”取反后是“0” 3.总结①虽然是很基础的内容,但要完全理解来打好基础对于零基础的人还是有点困难。 ②涉及到更基础的内容例如二进制的运算,边接触边补这些知识挺有趣的。 ③不太敢也不太习惯提出自己的疑问去问别人,更多地是靠视频、搜索来解决问题,或者留在以后接触再来重新解决,自认为自己这点还有待改进。 ④知识整理得太长了,几乎跟复制过来一样,下次有时间的话争取用思维导图来整理所学知识点。 ⑤遇到完整的题目不会解决,不知道从哪里下手,可能需要通过多看一些题目多练手来提升。 ⑥本次学习加笔记用时大概五个小时左右,要尽可能减少时间的浪费,提高效率。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 1:37:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |