一、注释
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。–来自百度百科
注释的分类
1.单行注释
以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用
#我是注释,可以在这里写一下功能说明之类
print("我上面一行是对我的注释")
2.多行注释
多行注释是三对双引号或者三对单引号都可以,对,你没有听错是三对啊,一个都不能少,而且是单引号和双引号都可以,但是不要傻呼呼的一边三个双引号,一边三个单引号,要单引号都单引号,要双引号都双引号。
"""
我是多行注释1
我是多行注释2
我是多行注释3
"""
print("我上面的是多行注释")
二、变量
在Python中,存储一个数据,需要定义一个变量
number1 = 1 #numbe1就是一个变量,用来保存数据:1
number2 = 2 #number2也是一个变量,用来保存数据:2
sum = number1+number2 #sum也是一个变量,用力保存1+2的值
说明:
- 所谓变量:就是可以改变的量。
- 程序就是用来处理数据的,而变量就是用来存储数据的
- python中的变量不需要指明类型,系统会自动识别
三、数据类型
每种数据都是有类型的,例如1就是一个整数,叫做整型,1.5带小数点的
怎样知道一个变量的类型呢?
- 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
- 可以使用type(变量的名字),来查看变量的类型
常用的数据类型转换
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
long(x [,base ]) | 将x转换为一个长整数 |
float(x ) | 将x转换到一个浮点数 |
complex(real [,imag ]) | 创建一个复数 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个字符 |
unichr(x ) | 将一个整数转换为Unicode字符 |
ord(x ) | 将一个字符转换为它的整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
例如:
a = "100" #此时a的类型是一个字符串类型,里面放了'1','0','0'三个字母
b = 100 #此时b的类型就是一个整形,里面放了100这个数字
四、输出函数
在python中使用print(“ ”)函数作为输出函数其格式为在" "里面写上要输出的内容,以字符串的形式进行输出。
格式化输出
name ="Se7eN_HOU"
age = 18
print("我的名字是%s,我的今年芳龄%d"%(name,age))
输出结果为:我的名字是Se7eN_HOU,我的今年芳龄18
常用的格式化输出符有
换行输出:在输出的时候,如果有
那么,此时
后的内容会在另外一行显示
1 print("Se7eNHOU")#会在一行显示Se7eNHOU
2 print("Se7eN
HOU")#会在一行显示Se7eN,下一行显示HOU
五、输入函数
python有python2和python3两个版本,而且两个版本是不兼容的,现在python官方推荐使用的python3版本,但是还有很多人在使用python2
raw_input()
在Python2中,获取键盘输入的数据的方法是采用 raw_input
password = raw_input("请输入密码:")
print("你刚输入的密码是:"%password)
注意:
- raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
- raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中
- raw_input()会把用户输入的任何值都作为字符串来对待
input()
input()函数与raw_input()类似,但其接收的输入必须是表达式。input()接受表达式输入,并把表达式的结果赋值给等号左边的变量
注意:
- 没有raw_input()函数,只有input()
- 并且 python3中的input与python2中的raw_input()功能一样
六、运算符
1.算术运算符
下面以a=10 ,b=20为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
– | 减 | 得到负数或是一个数减去另一个数 a – b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | x除以y b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 幂 | 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000 |
2.赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7 |
3.复合运算符
七、位运算符
1.位运算的介绍
- & 按位与
- | 按位或
- ^ 按位异或
- ~ 按位取反
- << 按位左移
- > 按位右移
用途: 直接操作二进制,省内存,效率高
2.位运算
1)<< 按位左移
各二进位全部左移n位,高位丢弃,低位补0
x << n 左移 x 的所有二进制位向左移动n位,移出位删掉,移进的位补零
num = 0b00000001
print(num)
num = num<<1
print(num)
num = num<<1
print(num)
num = num<<1
print(num)
num = num<<1
print(num)
输出结果为:1、2、4、8、16
注意事项】
- 左移1位相当于 乘以2
- 用途:快速计算一个数乘以2的n次方 (8<<3 等同于8*2^3)
- 左移可能会改变一个数的正负性
2)>> 右移
各二进位全部右移n位,保持符号位不变
x >> n x的所有二进制位向右移动n位,移出的位删掉,进的位补符号位 右移不会改变一个数的符号
【注意事项】
- 右移1位相当于 除以2
- x 右移 n 位就相当于除以2的n次方 用途:快速计算一个数除以2的n次方 (8>>3 等同于8/2^3)
1 num = 0b10000000
2 print(num)
3 num = num>>1
4 print(num)
5 num = num>>1
6 print(num)
7 num = num>>1
8 print(num)
9 num = num>>1
10 print(num)
输出结果为:128、64、32、16、8
3)& 按位与
全1才1否则0 :只有对应的两个二进位均为1时,结果位才为1。
4) | 按位或
有1就1 只要对应的⼆个⼆进位有⼀个为1时,结果位就为1,否则为0
5) ^ 按位异或
6) ~ 取反
【为什么9取反变成了-10的说明】:
9的原码 ==> 0000 1001 因为正数的原码=反码=补码,所以在 真正存储的时
候就是0000 1001
接下来进⾏对9的补码进⾏取反操作
进⾏取反==> 1111 0110 这就是对9 进⾏了取反之后的补码
既然已经知道了补码,那么接下来只要转换为 咱们⼈能识别的码型就可以,
因此按照规则 ,把这个1111 0110 这个补码 转换为原码即可
符号位不变,其它位取反==> 1000 1001
然后+1 ,得到原码 =======>1000 1010 这就是 -10