- 换行与缩进
- 1条代码为1行,例如:1个赋值、1个请求、1个运算、1个打印,结尾不需要添加任何标点符号。
-
- 根据代码的执行逻辑进行区分,同一级别的代码需要保持对齐,对与不同级别的代码进行缩进即可。
-
- 根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。
- 2.单行注释和多行注释
-
- 单行注释 #。
-
- 多行注释,前后三个单引号或双引号’’’… ‘’’; “”" …"""。… 为需要解释的内容。
-
- 两种不同的执行方式
-
- 直接调用 Python 解释器执行文件。Python test.py
-
- 修改test.py文件的属性,为可执行,在用
./
执行test.py文件。
- 修改test.py文件的属性,为可执行,在用
- chomd +x test.py ./test.py
-
- 数据类型和变量Python 的数据类型有 int(整数)、float(浮点数)、字符串、布尔值、None、列表、元组、字典、集合等。
-
- 变量不需要声明,可以直接输入。大小写敏感。
-
- 内置函数type(),可以查询变量的数据类型。
- var = 8
- print(var) # 8
- print(type(var)) # <type ‘int’> 整数类型
-
- 字符串是以’'和""括起来的任意文本。
- var = ‘shiyanlou’
- var = “learn by doing”
-
- 布尔值(Ture,False)可以用and,or,not 运算。
-
- 多变量赋值。
- a = b = c =1
- a , b ,c = 45 ,
- 54 ,‘shiyanlou’ # 等号两边都是元组
- x,y =y,x #两值交换
-
- 赋值语句不可以返回值,对象是通过引用传递的。
- 5.运算和表达式
- 表达式由运算符和操作数组成,像 2+3 就是一个表达式,其中 2 和 3 是操作数,加号是运算符。
-
- 算术运算
- 运算符的优先级按照从低到高排序,同一行优先级相同
-
- 加(+)、减(-)
-
- 乘(*)、除(/)、取整(//)、求余(%)
-
- 乘方(**)
-
- 乘方(**) 右结合
223=256
(2**2)**3=64
38. 不同类型的数据运算,会发生隐式类型转换,转换的规则是低等类型向高等类型转换。
39. 4.字符串与整数相乘。
40. print ‘shiyanlou’*3 # 结果shiyanloushiyanloushiyanlou
41. 5. 逻辑运算逻,对于逻辑与,或,非,我们使用 and,or,not 这几个关键字。
42. 0、空字符’'和None都是False,其他数值都是True。
43. Python 解释器在进行布尔运算,只要提前确定运算结果就不会继续往后计算了。True and ‘a=T’ # 结果是
44. ‘a=T’
45. ‘a=T’ or ‘a=F’ # 结果是 ‘a=T’
46. 6. 不支持自加(i++)和自减(i–)。
47.
6.输入input() 在对待纯数字输入返回所输入的数字的类型(int,float)。
raw_input() 将所有输入作为字符串看待,返回字符串类型。
x = input() # 输入 1+2print(type(x)) # 输出 <type ‘int’>
y = raw_input() # 输入
1+2print(type(y)) # 输出一般情况下使用 raw_input() 来与用户交互,可以避免类型发生错误。
7.输出1. print 语句也可以跟上多个字符串,用逗号“,”隔开,遇到逗号“,”会输出一个空格。
print(‘1+2=’, 1+2) # 1+2= 32. 多行输出使用三个引号和使用换行符\n
一致。
print ‘’‘Python
Python
Python’’’
print “Python\nPython\nPython”
8.序列
序列是一组有顺序的元素的集合,可以包含一个或多个元素,也可以没有任何元素。
- 序列分为可变序列 List 和不可变序列 tuple,range。
-
- 序列的通用操作(s 和 t 表示同类型的序列;n,i,j,k 为整数;x 为任意类型)。
- x in s :若序列s中包含x元素则返回True,否则返回False。
- x not in s: 若序列s中不包含x元素则返回True,否则返回False。
- s = [1,2,[3,4],‘g’]
- x = ‘g’
- a = [3,4]
- b = 5
- print(x in s,a in s,b in s,b not in s)
- s + t:s和t拼接在一起。
- s = [1,2,[3,4],‘g’]
- t = [‘5’,6]
- w = s + t
- print(w)sn(或ns)*:将 s 重复 n 次,当 n 小于 0,sn 为空序列。
- s = [‘a’,3,4]
- n = 3
- w = s*n
- print(w)
- s[i]:s中下标为i的元素(下标从0开始)。
- s[i:j]:s中下标从i到j-1的元素集合(下标从0开始)。
- s[i:j:k]:s中下标从i到j-1且间隔为K的元素集合(下标从0开始)。
- s =[‘a’,1,2,3,4,5,6,7,8,9]
- print(s(0),s(2))
- w1 = s[1:3]
- t1 = s[1:-1]
- print(w1,t1)
- w2 = s[1:7:2]
- t2 = s[::-1]
- print(w2,t2)
- len(s):s中元素个数。
- min(s):s中最小的元素。
- max(s):s中最大的元素。
- s=[‘a’,1,2,3,4]
35.print(len(s),min(s),max(s))s.index(x[,i[,j]]):s中首次出现x的下标(i,j为下标范围限制)。
s.count(x):s中x的总个数。
s =[1,2,3,4,1,2,3,1,2,9]
print(s.index(1),s.index(2,2),s.index(2,2,10),s.count(1)) - 可变列表 List(s为可变序列,t为可迭代对象;n,i,j,k为整数;x为任意类型)。s.append(x):在s尾部添加x,相当于s[len(s):len(s)]。
- s.insert(i,x): 将s中编号为i的位置插入x,相当于s[i:i] = [x]。
- s.pop([i]):返回编号为i的元素,并将其从s中移除,默认为最后一个元素
- s = [0,1,2,3,4,5]
- s.append(7) #append()总是把新元素添加到s的尾部print s # [0, 1, 2, 3, 4, 5, 7]s.insert(0,-1) #insert()接受两个参数,第一个是索引,第二个是元素
- print s # [-1, 0, 1, 2, 3, 4, 5, 7]
- s.insert(-1,6) #insert(-1)是最后一个元素之前,即倒数第二个元素,因为insert()前插
- print s # [-1, 0, 1, 2, 3, 4, 5, 6, 7]
- s.pop() #pop()方法总是删掉最后一个元素
- print s # [-1, 0, 1, 2, 3, 4, 5, 6]
- s.pop(0) #参数为索引
- print s # [0, 1, 2, 3, 4, 5, 6]
- s[6]=7 #对 s 中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素
- print s # [0, 1, 2, 3, 4, 5, 7]
- s[0],s[-1]=s[-1],s[0] #第一与最后位置调换
- print s # [7, 1, 2, 3, 4, 5, 0]
-
- 不可变的元组 Tuple:字符串是一种特殊的元组,没有 append()方法,也没有insert()和pop()方法,也不能赋值。
-
- range 类型表示一个不可变的数字序列,通常用于在for循环中循环特定次数。
- 9.相等比较
-
==
和is
是不一样的,== 比较的是值,is 比较的是引用。
- x = [1, 2, 3]
- y = x
- z = [1, 2, 3]
- print(x == y) #True
- print(x == z) #True
- print(x is y) #True
- print(x is z) #False
- 10.选择
-
- 语法格式
- if 条件1:
- statementif
- 条件2:
- statement
-
- 三元运算符
- x, y = 4, 3
- if x < y:
- result = x
- else
- result = y
- print result
-
等同于
- result = x if x < y else yprint result
- 11.循环
-
- while 循环,不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。
- while 条件
- statement
-
- for循环,依次把list或tuple的每个元素迭代出来。
- for 元素 in 序列:
- statement
- 3.break,用于推出当层循环。
- num = 1
- while num <6:
-
print(num)
-
num+=1
-
break
-
print("end")
-
- continue,用于退出当前循环,继续下一次循环。
- num = 1
- while num <6:
- print(num)
-
num+=1
-
continue
-
print("end")
- 5.range()的用法。
- range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4]
- range(1,5,2) #代表从1到5,间隔2(不包含5) [1, 3]range(5) #代表从0到5(不包含5) [0, 1, 2, 3, 4
- ]6.迭代器:它为类序列对象提供了一个类序列的接口。迭代非序列集合(例如映射和文件)时, 可以创建更简洁可读的代码。
- myTuple = (123, ‘xyz’, 45.67)
- i = iter(myTuple)
- print i.next() #123
- print i.next() #xyz
- print i.next() #45.67
- i.next() #报错
-
- 字典字典类似于列表,但能将不同的信息关联起来
-
- 字典的元素没有顺序。是按 key 进行查找,字典中的 key 不能重复。