一、注释
1.单行注释:# 开头
2.多行注释:''' 和 """
二、缩进
python是使用缩进来表示代码块,不需要使用大括号{}
python具有严格的缩进原则,每个缩进一般可以有两个或四个空格组成,也可以是任意数量的空格,因为缩进的空格数是可变的,但同一个代码块必须保持相同的缩进空格数。
三、多行语句
在一行中的多行语句,用;分隔
四、输入输出
1.输入:
input("输入")
2.输出:print默认输出使换行的,如果要实现不换行,在变量末尾加上end=”“
五、导入模块
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
六、字符串
1.单引号‘和双引号”包起来的都是字符串,因为python中没有单独的字符类型
2.使用三引号(''' 或 """)可以指定一个多行字符串,或者说是段落
3.+用来连接字符串,*表示字符串的重复次数
4.对于字符串还有截取的语法
5.在字符串前加’r',就可以让转义字符不起作用
七、运算符
1.算数运算符
+,-,*,/,%都是和其他语言一样(其中/得到的答案是小数)
特殊的有: ** 幂,//去整除-往小的方向去整数
2.比较运算符
==,!=,>,<,>=,<= 用法都与其他语言一样
3.赋值运算符
= 普通赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整赋值运算
4.位运算符
1.<< :
左移运算符,运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
a << 2 输出结果 240 ,二进制解释: 1111 0000
2.>>:
右移动运算符,把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
a >> 2 输出结果 15 ,二进制解释: 0000 1111
3.&:
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
4.|:
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
5.^:
按位异或运算符:当两对应的二进位相异时,结果为1
6.~:
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
5.逻辑运算符
假设变量 a 为 10, b为 20
and,布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。
(a and b) 返回 20。
or,布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
(a or b) 返回 10。
not,布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
not(a and b) 返回 False
#!/usr/bin/python3
a = 10
b = 20
if ( a and b ):
print ("1 - 变量 a 和 b 都为 true")
else:
print ("1 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("2 - 变量 a 和 b 都不为 true")
# 修改变量 a 的值
a = 0
if ( a and b ):
print ("3 - 变量 a 和 b 都为 true")
else:
print ("3 - 变量 a 和 b 有一个不为 true")
if ( a or b ):
print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("4 - 变量 a 和 b 都不为 true")
if not( a and b ):
print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print ("5 - 变量 a 和 b 都为 true")
6.成员运算符
成员运算符的使用对象包括 字符串,列表或元组
in : 如果在指定的序列中找到值返回 True,否则返回 False。
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in :如果在指定的序列中没有找到值返回 True,否则返回 False。
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中")
if ( b not in list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if ( a in list ):
print ("3 - 变量 a 在给定的列表中 list 中")
else:
print ("3 - 变量 a 不在给定的列表中 list 中")
7.身份运算符
is 是判断两个标识符是否引用自一个对象,x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True
is not 与 is 的作用相反
a = 20
b = 20
if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
print ("2 - a 和 b 有相同的标识")
else:
print ("2 - a 和 b 没有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
print ("3 - a 和 b 有相同的标识")
else:
print ("3 - a 和 b 没有相同的标识")
if ( a is not b ):
print ("4 - a 和 b 没有相同的标识")
else:
print ("4 - a 和 b 有相同的标识")
结果: 1 - a 和 b 有相同的标识 2 - a 和 b 有相同的标识 3 - a 和 b 没有相同的标识 4 - a 和 b 没有相同的标识
s 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
八、列表
列表是Python中最基本的数据结构,它可以作为一个方括号内的逗号分隔值出现
相当于c语言中的数组,但相比数组,列表中的元素可以是任意类型
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
Python 已经内置确定序列的长度以及确定最大和最小的元素的方法
1.访问列表中的值
索引可以是从头部开始0,1,2···,也可以是从尾部开始-1(最后一个元素),-2,···
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[-1] )
print( list[-2] )
输出结果:
red
green
black
white
另外除了下标检索的方法,可以使用方括号 [ ] 的形式截取字符
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
输出结果:
[10, 20, 30, 40]
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])
还有一种截取形式
L[1:] ['Runoob', 'Taobao'] 输出从第二个元素开始后的所有元素
2.更新列表
可以直接对列表的元素进行更新,使用append()方法来添加列表元素
list = ['Google', 'Runoob', 1997, 2000]
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
输出结果:
第三个元素为 : 1997 更新后的第三个元素为 : 2001 更新后的列表 : ['Google', 'Runoob', 'Taobao', 'Baidu']
3.删除列表元素
使用到del语句来删除列表的元素
#!/usr/bin/python3
list = ['Google', 'Runoob', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)
4.列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
5.嵌套列表
即一个列表的元素是其他的列表
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
6.列表比较
列表比较需要引入 operator 模块的 eq 方法
# 导入 operator 模块
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))
输出结果:
operator.eq(a,b): False operator.eq(c,b): True
九、元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # 不需要括号也可以
>>> type(tup3)
<class 'tuple'>
python中元组和列表的创建都是通过键值对的形式
>>> tup1 = (50)
>>> type(tup1) # 不加逗号,类型为整型
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # 加上逗号,类型为元组
<class 'tuple'>
1.元组的访问
元组的创建使用到的是括号,但访问元素使用到的是中括号【 】
与列表的访问方式相同
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
2.修改元组
这里是和列表不一样的了
元组是不允许修改其内部的元素