2021-01-22

本文详细介绍了Python中的变量、运算符与数据类型,包括注释、算术与逻辑运算符、变量定义及数据类型如int、float和bool。此外,深入探讨了位运算,如按位非、按位与、按位或、按位异或以及位移操作,并展示了它们在计算和集合表示中的应用。还提到了条件语句(if、if-else、if-elif-else)和循环语句(while、for)的基本用法。
摘要由CSDN通过智能技术生成

阿里云天池 Python训练营 Task01

  1. 学习链接:https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32

  2. 今日学习任务: Task01中的前两个章节:(1) 变量、运算符与数据类型 (2) 位运算

  3. 记录笔记: 学习完成之后,选择任意平台进行自我知识总结即可(今天学到了什么将来可能需要复习的知识点,用笔记来方便自己复习)知乎、CSDN、Github等。(如果对记笔记有疑惑,欢迎讨论)


学习内容:

1、 变量、运算符与数据类型
2、 位运算
3、 条件语句
4、 循环语句
5、异常处理
6、 元组
7、 字符串
8、 字典
9、 集合
10、 序列
11、函数与Lamda表达式

12、类与对象
13、 魔方方法
14、 模块
15、 datetime模块
16、文件与文件系统
17、OS 模块中关于文件/目录常用的函数 
18、序列化与反序列化

 


学习产出:


1、 变量、运算符与数据类型

1.1(1)在 Python 中, # 表示注释,作用于整行。

      (2)''' ''' 或者 """ """ 表示区间注释,在三引号之间的所有内容被注释

1.2(1)算术运算符:+、-、*、/、//、%、**,分别表示加,减,乘,除,整除,取余,幂

      (2)>、>=、<、<=、==、!=,分别表示大于,大于等于,小于,小于等于,等于,不等于

        (3)and,or,not分别表示与,或,非

      (4)~,&,|,^,<<,>>分别表示按位取反,按位与,按位或,按位异或,左移,右移

       (5)is,not is,in,not in分别表示是,不是,存在,不存在

注意:
1 . is, is not 对比的是两个变量的内存地址
2 . ==, != 对比的是两个变量的值
即:
1 . 假如比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
2 . 假如对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
运算符的优先级
1. 一元运算符优于二元运算符。如正负号。
2 . 先算术运算,后移位运算,最后位运算。例如 1 << 3 + 2 & 7等价于 (1 << (3 + 2)) & 7
3 . 逻辑运算最后结合

1.3(1) 在使用变量之前,需要对其先赋值
     (2) 变量名可以包括字母、数字、下划线、但变量名不能以数字开头
     (3)Python 变量名是大小写敏感的,foo != Foo

1.4(1)int,float,boot分别表示整型,浮点型,布尔型

      (2)类型转换
              1. 转换为整型 int(x, base=10)
              2 . 转换为字符串 str(object='')
              3 . 转换为浮点型 float(x)

1.5(1) 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按 str() 方式进行转换为字符
串输出;
     (2) 关键字参数 sep 是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
     (3) 关键字参数 end 是输出结束时的字符,默认是换行符 \n ;
     (4) 关键字参数 file 是定义流输出的文件,可以是标准的系统输出 sys.stdout ,也可以重定义为别的文件;
     (5)关键字参数 flush 是立即把内容输出到流文件,不作缓存。
2、位运算

2.1二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。

    (1)原码:就是其二进制表示(注意,有一位符号位)。

      (2)反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。

      (3)补码:正数的补码就是原码,负数的补码是反码+1。

      (4)符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。

2.2 按位非操作 ~:~ 把 num 的补码中的 0 和 1 全部取反(0 变为 1,1 变为 0)有符号整数的符号位在 ~ 运算中同样会取反。

2.3按位与操作 &:只有两个对应位都为 1 时才为 1

2.4按位或操作 |:只要两个对应位中有一个 1 时就为 1

2.5 按位异或操作 ^:只有两个对应位不同时才为 1

2.6按位左移操作 <<:num << i 将 num 的二进制表示向左移动 i 位所得的值。

2.7按位右移操作 >>:num >> i 将 num 的二进制表示向右移动 i 位所得的值。

2.8利用位运算实现快速计算:通过 << , >> 快速计算2的倍数问题;

                                             通过 ^ 快速交换两个整数;

                                             通过 a & (-a) 快速获取 a 的最后为 1 位置的整数。

2.9利用位运算实现整数集合:一个数的二进制表示可以看作是一个集合(0 表示不在集合中,1 表示在集合中)。
比如集合 {1, 3, 4, 8} ,可以表示成 01 00 01 10 10 而对应的位运算也就可以看作是对集合进行的操作。
3、条件语句

3.1if语句:(1)if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否则将继续执行紧跟在该
代码块后面的语句。
                   (2)单个 if 语句中的 expression 条件表达式可以通过布尔操作符 and , or 和 not 实现多重条件判断。

3.2 if - else 语句:(1)Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。

注意:if 语句支持嵌套,即在一个 if 语句中嵌入另一个 if 语句,从而构成不同层次的选择结构。Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题

3.3if - elif - else 语句:elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。

3.4 assert 关键词:assert 这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出 AssertionError 的异常。

4.循环语句

5.1while 循环:while 语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于 while 代码块的缩进语句。

while 循环的代码块会一直循环执行,直到布尔表达式的值为布尔假。
如果布尔表达式不带有 <、>、==、!=、in、not in 等运算符,仅仅给出数值之类的条件,也是可以的。当 while 后写
入一个非零整数时,视为真值,执行循环体;写入 0 时,视为假值,不执行循环体。也可以写入 str、list 或任何序
列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。

4.2while - else 循环:当 while 循环正常执行完的情况下,执行 else 输出,如果 while 循环中执行了跳出循环的语句,比如 break ,将不执行 else 代码块的内容。

4.3 for 循环:for 循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如 str、list、tuple 等,也可以遍历任何可迭代对象,如 dict 。每次循环,迭代变量被设置为可迭代对象的当前元素,提供给代码块使用

4.4 for - else 循环:当 for 循环正常执行完的情况下,执行 else 输出,如果 for 循环中执行了跳出循环的语句,比如 break ,将不执行 else 代码块的内容,与 while - else 语句一样。

5.5 range() 函数:(1)这个BIF(Built-in functions)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
                              (2)step=1 表示第三个参数的默认值是1。
                              (3) range 这个BIF的作用是生成一个从 start 参数的值开始到 stop 参数的值结束的数字序列,该序列包含 start 的值但不包含 stop 的值。

5.6 break 语句:break 语句可以跳出当前所在层的循环。

5.7continue 语句:continue 终止本轮循环并开始下一轮循环。

5.8pass 语句:pass 语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而 pass 语句就是用来解决这些问题的。

pass 是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。尽管 pass 语句不做任何操作,但如果暂时不确定要在一个位置放上什么样的代码,可以先放置一个 pass 语句,让代码可以正常运行

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值