@Python入门小结(1)
万丈高楼平地起
简介
Python是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。
本小节包含的内容
- 变量,运算符与数据类型
- 位运算
- 条件语句
- 循环语句
- 异常处理
变量,运算符与数据类型
- 注释
> #这里是一个注释
> print("hello world")
> #hellow word
-
''' '''
或者""" """
表示区间注释,在三引号之间的所用内容被注释。
例如:
> '''
> 这是一个多行注释,用三个单引号
> 这是一个多行注释,用三个单引号
> 这是一个多行注释,用三个单引号
> '''
> print("hello word")
> #hello world
> """
> 这是一个多行注释,用三个双引号
> 这是一个多行注释,用三个双引号
> 这是一个多行注释,用三个双引号
> """
> print("hello china")
> #hello china
- 运算符
操作符 |
名称 |
示例 |
+ |
加 |
1+1 |
- |
减 |
2-1 |
* |
乘 |
3*4 |
/ |
除 |
3/4 |
// |
整除 |
3//4 |
% |
取余 |
3%4 |
** |
幂 |
2**3 |
例如:
> print(1+1)#2
> print(2-1)#1
> print(3*4)#12
> print(3/4)#0.75
> print(3//4)#0
> print(3%4)#3
> print(2**3)#8
操作符 |
名称 |
示例 |
> |
大于 |
2>1 |
>= |
大于 |
2>=4 |
< |
大于等于 |
1<2 |
<= |
小于 |
5<=2 |
== |
小于等于 |
3==4 |
!= |
不等于 |
3!=5 |
例如:
> print(2>1)#True
> print(2>=4)#False
> print(1<2)#True
> print(5<=2)#False
> print(3==4)#False
> print(3!=5)#True
操作符 |
名称 |
示例 |
and |
与 |
(3>2)and(3<5) |
or |
或 |
(1>3)or(9<2) |
not |
非 |
not(2>1) |
例如:
> print((3>2)and(3<5))#True
> print((1>3)or(9<2))#False
> print(not(2>1))#False
操作符 |
名称 |
示例 |
~ |
按位取反 |
~4 |
& |
按位与 |
4&5 |
\ |
按位或 |
\ |
^ |
按位异或 |
4^5 |
<< |
左移 |
4<<2 |
>> |
右移 |
4>>2 |
例如:
> print(bin(4))#0b100
> print(bin(5))#0b101
> print(bin(~4),~4)#-0b101 -5
> print(bin(4&5),5&5)#0b100 4
> print(bin(4|5),4|5)#0b101 1
> print(bin(4<<2),4<<2)#0b10000 16
> print(bin(4>>2),4>>2)#0b1 1
> x,y=4,5
> if x<y:
> small=x
> else:
> small=y
> print(small)#4
- 由上述三个操作符的条件表达式,可以使用一条语句来完成上述判断
> x,y=4,5
> small=x if x<y else y
> print(small)#4
操作符 |
名称 |
示例 |
in |
存在 |
'A’in[‘A’,‘B’,‘C’] |
not in |
不存在 |
‘h’ not in[‘A’,‘B’,‘C’] |
is |
是 |
“hello” is “hello” |
not is |
不是 |
“hello” is not “hello” |
例如:
> letters=['A','B','C']
> if 'A' in letters:
> print('A'+'exists')
> if 'h' not in letters:
> print('h'+'not exists')
> #A exists
> # h not exists
-
注意:
-
运算符的优先等级
- 一元优于二元运算符。
- 先算术运算,后移位运算,最后位运算。
- 逻辑运算最后结合。
变量赋值
- 在使用变量前,需要对其先赋值。
- 变量名可以包括字母,数字,下划线,但变量名不能以数字开头。
- Python变量名是大小写敏感的。
数据类型与转换
类型 |
名称 |
示例 |
int |
整型<class ‘int’> |
-876,10 |
float |
浮点型<class’float’> |
3.149,11.11 |
bool |
布尔型<class’bool’> |
True,False |
例如:
> decimal.getcontext().prec=4
> c=Decimal(1)/Decimal(3)
> print(c)
> #0.3333
ptint()函数
> print(*objects,sep=''.end='\n',file=sys.stdout,flush=False)
-
将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
-
关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符; 关键字参数end是输出结束时的字符,默认是换行符\n;
-
关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
-
关键字参数flush是立即把内容输出到流文件,不作缓存。
(
-
没有参数时,每次输出后都会换行。
-
每次输出结束都用end设置的参数&结尾,并没有默认换行。
-
item值与’anotherstring’两个值之间用sep设置的参数&分割。由于end参数没有设置,因此默认是输出解释后换行,即end参数的默认值为\n。
)
位运算之原码,反码和补码
二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。
原码:就是其二进制表示(注意,有一位符号位)。
反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。
补码:正数的补码就是原码,负数的补码是反码+1。
符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。
位运算之按位运算
~
把num
的补码中的 0 和 1 全部取反(0 变为 1,1 变为 0)有符号整数的符号位在 ~
运算中同样会取反。
只有两个对应位不同时才为 1
异或操作的性质:满足交换律和结合律
num >> i 将num的二进制表示向右移动i位所得的值。
循环语句,异常处理等知识点