Python入门教程
基本语法
1.注释---------# 标注文本
2.数字
- 整数,不区分long和int
- 进制0xa (16进制的10),0o10(8进制的10),0b10(2进制的10)
- bool,2个值True,False
- 浮点数
- 1.2,3.1415.-0.12,1.46e9等价于1.46*10^9
- 复数,1+2j
3.字符串
-
使用‘ “单双引号引用字符的序列
-
‘ ’ ‘ ” “ ” 单双三引号,可以跨行,可以在其中自由的使用单双引号
print(''' welcome 'to' python''') #输出 welcome 'to' python print(''' welcome 'to' 1\ #输出 welcome 'to' 2\ # 123 3\ # 'python' 'python' ''')
-
在字符串前面加上r或者R前缀,表示该字符串不做特殊处理(比如字符串中含有\)
-
python为强类型语言,所以不允许’
a‘+1
-
字符串可以直接连接
print('abc'+'efg') #打印出abcefg
4.转义序列
- \\ \t \r \n \’ \"
- 前缀r,把里面的所有的字符当普通字符对待
5.缩进
- 未使用C等语言的花括号,而是采用缩进的方式表示层次关系
- 约定使用4个空格缩进
6.续行
- 在行尾使用 \
- 如果使用各种括号,认为括号内的是一个整体,内部跨行不用 \
7.标识符
-
一个名字,用来指代一个值
-
只能字母,下划线和数字
-
只能以字母或下划线开头
-
不能是python的关键字,例如def,class就不能作为标识符
-
python是大小写敏感的
约定:
不允许使用中文
不允许使用歧义单词,例如class_
在python中不要随便使用下划线开头的标识符
8.常量
- 一旦赋值就不能改变值的标识符
- python中无法定义常量
9.字面常量
- 一个单独的量,例如12,“abc”,‘2341356514.03e-9’
10.变量
- 赋值后,可以改变值的标识符
运算符Operator
1.算数运算符
-
+ - * / % **
-
**表示次方
print(2**3) #输出 8 print(4**0.5) #输出 2.0
-
-
自然除/结果是浮点数,整除//。注:2.x中对于整数都是/和//都是整除
2.位运算符
-
& | ~ ^ << >>
-
& 按位与
-
| 按位或
-
~ 按反码补码取反(反出来会比真实相反数小一)
-
原码
-
5=> 0b101, 1=>0b1 ,-1=> -0b1, bin(-1) #可以获取数字原码
bin(-1) #获得-0b1;
-
-
反码
- 正数将原码按位取反;负数符号位不变其余按位取反
-
补码
- 正数的补码是其本身;负数符合位不变其余按位取反后-1
-
-
^ 按位异或
-
<< 向左的位移
print(1<<2) #输出4
-
>> 向右的位移
print(4>>1) #输出 2
-
-
常用方式:乘除2的倍数,32//4相当于32>>2
-
12,0xc,0o14,0b1100
- ~12等于-13
3.比较运算符
- == != > < >= <=
- 返回一个bool值
- 1<‘1’ 1==‘1’
4.逻辑运算符
- 与或非 and or not
- 短路运算符
- and 如果第一个表达式位False,后面的就没有必要计算了,这个逻辑表达式一定False
- or 如果第一个表达式True,后面没有必要计算了,这个逻辑表达式一定是True
5.赋值运算符
- a=min(3,5)
- += -= *= *= /= %=
- x=y=z=10
6.成员运算符
- in ,not in
7.身份运算符
- is,not is
8.运算优先级(由高到底)
- 算数运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
表达式 Expression
1.由数字,符号,括号,变量等的组合
- 算数表达式
- 逻辑表达式
- 赋值表达式
- Python,赋值及定义,如果一个变量了已经定义,赋值相当于重新定义
程序控制
- 顺序
- 按照先后顺序一条一条执行
- 例如,先洗手,再吃饭,再洗碗
- 分支
- 根据不同的情况判断,条件满足执行某条件下的语句
- 例如,先洗手,如果饭没做好,玩游戏,如果饭做好了,就吃饭,如果饭都没做,叫外卖
- 循环
- 条件满足就反复执行,不满足就不执行或者不再执行
- 例如:先洗手,看饭好了没有,没有好,一会来看一次是否好了,一会儿来看一次,直到饭好了,才可以吃饭。这里循环的条件就是饭好了没,饭没好,就循环的来看饭好了没有。
单分支结构
1.if语句
if 表达式:
代码块(必须由4个空格,不允许使用缩进)
表达式必须是一个bool类型,这个地方有一个隐式转换bool(表达式)
if 1<2:
print('1 less than 2')
2.代码块
- 类似于if语句的冒号后面的就是一个代码块
- if, for , def ,class 等
真值表 bool(表达式)对应的隐式转换
对象/常量 | 值 |
---|---|
“” | 假 |
“string” | 真 |
0 | 假 |
>=1 | 真 |
<=-1 | 真 |
()空原组 | 假 |
[]空列表 | 假 |
{}空字典 | 假 |
None | 假 |
多分支结构
-
if…elif…else语句
if 表达式1: 代码块1 elif 表达式2: 代码块2 elif 表达式3: 代码块3 …… else: 代码块
a=4 if a<1: print('S') elif a<3: print('AS') elif a<4: print('B') else: print('sss') #输出:sss
2.分支嵌套
-
举例
score=80 if score<0: print("wrong") else: if score==0: print('egg') elif score<=100: print('right') else: print('too big') #输出:right
循环------while语句
-
语句
while 表达式: 代码块 #当条件满足表达式为true,进入循环题,执行代码块
-
举例
flag=10 while flag: print(flag) flag-=1 #输出: 10 9 8 7 6 5 4 3 2 1
循环------for语句*
-
语法
for element in iteratable: block #当可迭代对象中有对象可以迭代,进入循环体,执行代码块
-
range函数
-
举例:打印1~10
for i in range(10): //从0开始迭代到9,每次i++; print(i+1) #输出: 1 2 3 4 5 6 7 8 9 10
#打印0~9的偶数 for i in range(2,10,2): //从2开始迭代到9,每次i+=2; print(i) #输出: 2 4 6 8
循环continue语句
-
中断当前循环的当次执行,继续下一次循环
-
举例:计算10以内的偶数(for循环)
for i in range(10): if i%2: continue print(i) #输出 0 2 4 6 8
循环break语句
-
终止当前循环
-
举例:计算1000以内的被7整除的前20个数(for循环)
count=0; for i in range(0,1000,7): print(i) count+=1 if(count>=20): break #输出: 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133
循环else子句
-
语法
while condition: block else: block for element in iteratable: block else: block
-
如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行
Python输入输出
1.输入
-
input()
num=intput('请输入一个数') #输入一个数回车结束 print(num) #输入1234 输出1234 #在有的版本python中存在一下问题 num=input() #输入的是一个字符串 print num #如果输入1234 打印的是一个字符串’1234‘ num=int(input()) #输入的是一个整数 print num #打印这个整数
-
print
print a #打印变量a print(a) #打印a print(a,b) #打印(a,b) print a,b #打印a,b