Python基础学习笔记(3)

补上之前学习的笔记,这次学习时间2018年10月28日

01-运算符

"""

数学运算符:+, -, *, /, %(取余), //(整除), **(幂运算)

比较运算符:>, <, ==, !=, <=, >=

逻辑运算符:and, or, not

赋值运算符:=, +=, -=, /=, *=, %=, //=, **=

位运算符: &, |, ~, ^, >>, <<

"""

# 1.数学运算符:+, -, *, /, %(取余), //(整除), **(幂运算)

# a. +, -, *, / 和数学中的加、减、乘、除对应的运算符的功能一样

print(10 + 20)

print(10 - 20)

print(2 * 3)

print(5 / 2)  # 2.5

# 2. %(取余)

print(3 % 2)

print(10 % 3)

# 判断一个数是否是偶数: num % 2

# 3. //(整除) -- 求商,只取商的整数部分

print(5 // 2)  # 2

print(6.3 // 4.1)  # 2

# 4. **

"""

x ** y ---> 求x的y次方

"""

print(3**3)

print(10**0.5)

print(9**0.5)

print(8**(1/3))

# 2.比较运算符:>, <, ==, !=, <=, >=

"""

python中所有的比较运算符的结构都是布尔值

"""

# num1 > num2  --> 是否大于

print(100 > 100)

# num1 < num2  --> 是否小于

num1 = 10

print(100 < num1)

# num1 == num2  --> 是否相等

print(100 == 10)

print(num1 == 10)

# num1 != num2  --> 是否不相等

print(100 != 10)

print(num1 != 10)

# num1 <= num2  --> 是否小于或者等于

print(100 <= 100)

# num2 > num2  --> 是否大于或者等于

print(num1 >= 10)

# 3.逻辑运算符:and, or, not

"""

所有的逻辑运算符返回值都是布尔值,运算对象也是布尔值

"""

# a.and(逻辑与)

"""

格式:

布尔1 and 布尔2

规则:

两个布尔值都是True,结果才是True。只要有一个是False结果就是False

True and  True ---> True

False and True ---> False

True and False ---> False

False and False ---> False

"""

print(True and True)

print(True and False)  # False

print(False and True)

print(False and False)

# 什么时候用and: 希望多个条件同时满足就可以用and。-- 并且

"""

补充:

数据类型转换:类型名(数据) ---> 将指定的数据转换成指定的功能

"""

age = int(input('年龄:'))

score = int(input('成绩:'))

# 要求:1.年龄大于18岁 2.成绩大于90分。 3.年龄不能是20. 三个要求同时满足才能参加比赛

print(age > 18 and score > 90 and age != 20)

# b. or(逻辑或)

"""

格式:

布尔1 or 布尔2

规则:两个布尔都是False结果才是False,只要有一个是True结果就是True

True or True ---> True

True or  False --> True

False or True --> True

False or False --> False

"""

# 什么时候使用or: 要求多个条件中只要有一个条件满足就可以。-- 或者

# 要求:1.年龄大于18岁 2.成绩大于90分。 二个要求有一个满足就能参加比赛

print(age > 18 or score > 90)

# 3.not(逻辑非)

"""

格式:

not 布尔

规则:

布尔值取反。

True --> False

False --> True

"""

# 年龄不大于18岁

print('条件1:', age <= 18)

print('条件2:', not age > 18)

# 4.赋值运算符:=, +=, -=, /=, *=, %=, //=, **=

"""

赋值运算符功能都是将赋值符号右边的值赋给左边的变量

注意:a.赋值符号的左边必须是变量。

    b.除了=以外其他的赋值运算符要求左边的变量必须有值

"""

# a. =

"""

变量 = 值

"""

name = '余婷'

# b. +=

"""

变量 += 值  <-->  变量 = 变量 + 值

变量 *= 值  <-->  变量 = 变量 * 值

...

"""

number = 10

number += 100  # number = number + 100  = 10 + 100

print(number)

number = 3

number *= 2

print(number)

# 5.位运算符: &, |, ~, ^, >>, <<

"""

位运算是针对二进制数的每一位进行的操作

"""

# a.&(按位与)

"""

数字1 & 数字2 --> 都为1结果是1, 有0就是0

1 & 1 --> 1

1 & 0 --> 0

0 & 1 --> 0

0 & 0 --> 0

110 & 001 --> 000

"""

"""

2 -> 00000010

3 -> 00000011

2&3 -> 00000010 -> 2

2|3 -> 00000011 -> 3

11111101(补码) --> 111111100(反码) --> 10000011(原码)

"""

print(2 & 3)

# b. |(按位或)

"""

数字1 | 数字2: 都是0结果是0,有1结果就是1

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

"""

print(2 | 3)

# c. ^(异或)

"""

数字1 ^ 数字2 :相同为0,不同为1

1 ^ 1 = 0

0 ^ 0 = 0

1 ^ 0 = 1

0 ^ 1 = 1

2 -> 00000010

3 -> 00000011

2 ^ 3 = 00000001 -> 1

"""

print(2 ^ 3)

# d. <<(左移)

"""

数字 << 位数 -> 符号位不变,将数字的二进制的每一位向左移动指定的位数,右边用0补齐

2 << 1

2:00000010

2 << 1:00000100  = 4

-2: 10000010 -> 11111101(反) -> 11111110(补)

-2 << 1 -> 11111100(补) -> 11111011(反) -> 10000100 = -4

"""

print(2 << 1)

print(-2<<1)

# e. >> (右移)

"""

数字 >> 位数 -> 将数字的二进制的每一位向右移动指定的位数,左边用0(正数)或者1(负数)补齐

"""

print(9 >> 1)

print(-8 >> 1)

# 位运算的应用:

"""

1.乘除2的幂次方

左移:数<<1 == 数*2 ; 数<<2 == 数 * (2^2); 数<

number * 2 --> number << 1

右移:数>>1 == 数//2; 数>>n==数//(2^n)

2.判断一个整数的奇偶性

所有的偶数的最低位都是0,所有的奇数的最低位都是1

数字 & 1 == 1 ---> 奇数

数字 & 1 == 0 ---> 偶数

2:10

3:11

4:100

5:101

10:1010

11:1011

"""

print(10 & 1 == 0)

print(11 & 1 == 0)

# 6.复合运算

"""

优先级:(优先级高先运算,优先级相同就从左往右按顺序)

数学运算 > 比较运算 > 逻辑运算 > 赋值运算

数学运算符:** > *,/, //, % > +,-

如果有括号,先算括号里面的

"""

num = 128 + (23 > 78) and 89 < 90

02-分支结构

"""

1.什么时候用

python中的分之结构只有if语句,没有switch

如果某段代码需要在满足某个条件的时候才去执行,可以考虑使用if

2.怎么用?

"""

# 1.if

"""

语法:

if 条件语句:

    代码段

说明:

if -> 关键字(如果-判断)

条件语句 -> 结果是布尔的表达式

: -> 固定写法

代码段:一条或者多条语句。这儿的代码段必须和if保持一个缩进(tab)

执行过程:

先判断条件语句的结果是否是True,如果是True就执行代码段

"""

number = int(input('请输入一个数字:'))

if number % 2 == 0:

    print('偶数')

print('=======')

# if - else

# if-elif - else


Practice

2.表达式0x13 & 0x17的值是(19 )

3.若x=4,y=3则x &

y的结果是(0)

4.表达式 -4 | -3的运算结果是(-3)

[if !vml]

[endif]

5.在位运算中,操作数每右移一位,其结果相当于(B) 


A.操作数乘以2     B.操作数除以2


C.操作数除以4     D.操作数乘以4


6.设x 是一个整数(16位).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是(00000000 11111111 )

X:0000000000000000

Y:0000000011111111


7. 10 << 2的结果是(40); -10<<2的结果是(-40)。

[if !vml]

[endif]

你可能感兴趣的:(Python基础学习笔记(3))