基础语法
Python的语言类型
Python是动态语言、强类型语言
静态编译语言
- 实现声明变量类型,类型不能再改变
- 编译时检查
动态编译语言
- 不用事先声明类型,随时可以赋值为其他类型
- 编程时不知道是什么类型,很难推断
强类型语言
- 不同类型之间操作,必须先强制类型转换为同一类型。print('a'+1)
弱类型语言
- 不同类型间可以操作,自动隐式转换,JavaScript中console.log(1+'a')
Python基础语法
注释—— # 标注的文本
数字
- 整数,不区分long和int
- 进制0xa、0o10、0b10
- bool,2个值True、False
- 浮点数
- 1.2、3.1415、-0.12,1.46e9等价于1.46*109
- 复数,1+2j
字符串
- 使用 ' " 单双引号引用的字符的序列
- '''和""" 单双三引号,可以跨行、可以在其中自由的使用单双引号
- 在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
转义序列
- \\ \t \r \n \' \"
- 前缀r,把里面的所有字符当普通字符对待
缩进
- 未使用C等语言的花括号,而是采用缩进的方式表示层次关系
- 约定使用4个空格缩进
续行
- 在行尾使用 \
- 如果使用各种括号,认为括号内是一个整体,内部跨行不用 \
标识符
- 1. 一个名字,用来指代一个值
- 2. 只能是字母、下划线和数字
- 3. 只能以字母或下划线开头
- 4. 不能是python的关键字,例如def、class就不能作为标识符
- 5. Python是大小写敏感的
约定: 不允许使用中文 不允许使用歧义单词,例如class_ 在python中不要随便使用下划线开头的标识符
常量
- 一旦赋值就不能改变值的标识符
- python中无法定义常量
字面常量
- 一个单独的量,例如 12、"abc" 、'2341356514.03e-9'
变量
- 赋值后,可以改变值的标识符
运算符
算数运算符
- + - * / % **
- 自然除/结果是浮点数,整除//。注:2.x中/和//都是整除
位运算符
- & | ~ ^ << >>
- 常用方式:乘除2的倍数,32 // 8相当于 32 >> 3
- 12,0xc,0o14,0b1100
原码、反码、补码,负数表示法
原码
- 5 => 0b101,1 => 0b1 ,-1 => -0b1, bin(-1)
反码
- 正数的反码与原码相同;负数的反码符号位不变其余按位取反
补码
- 正数的补码与原码相同;负数的补码符号位不变其余按位取反后+1
负数表示法
- 早期数字电路的CPU中的运算器实现了加法器,但是没有减法器,减法要转换成加法
- 负数在计算机中使用补码存储,-1的补码为1111 1111
- 5-1 => 5+(-1)直觉上是0b101-0b1,其实计算机中是0b101+0b11111111,溢出位舍弃
运算符
比较运算符
- == != > < >= <=
- 返回一个bool值
- 1 < '1' 1 == '1'
- 链式比较操作符
4>3>2 4>mynumber >=1
逻辑运算符
- 与或非 and or not
短路运算符
- and 如果第一个表达式为False,后面就没有必要计算了,这个逻辑表达式一定是False
- or 如果第一个表达式True,后面没有必要计算了,这个逻辑表达式一定是True
赋值运算符
- a = min(3, 5)
- += -= *= /= %= 等
- x = y = z = 10
成员运算符
- in、not in
身份运算符
- is 、is not
!!!算数运算符 > 位运算符 > 身份运算符 > 成员运 算符 > 逻辑运算符
单分支结构
if语句
if condition:
代码块
condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
if 1<2: print('1 less than 2')
代码块
- 类似于if语句的冒号后面的就是一个语句块
- 在if、for、def、class等关键字后使用代码块
多分支结构
if...elif...else语句 if condition1: 代码块1 elif condition2: 代码块2 elif condition3: 代码块3 ...... else: 代码块
分支嵌套
嵌套结构,可以是分支、循环的嵌套
可以互相嵌套多层
score = 80 if score<0: print('wrong') else: if score==0: print('egg') else: if score <= 100: print('right') else: print('too big')
循环——while语句
语法
- while condition: block
- 当条件满足即condition为True,进入循环体,执行block
flag=10 while flag: print(flag) flag -= 1
循环——for语句
语法
for element in iteratable:
block
当可迭代对象中有元素可以迭代,进入循环体,执行block
range函数
for i in range(10): print(i+1)
循环 continue语句
中断当前循环的当次执行,继续下一次循环
举例:计算10以内的偶数
for i in range(0,10): # 使用位与 if i & 1: continue print(i)
循环 break语句
终止当前循环
举例:计算1000以内的被7整除的前20个数(for循环)
count = 0 for i in range(0,1000,7): print(i) count += 1 if count >= 20: break
循环 continue、break语句
-
continue和break是循环的控制语句,只影响当前循环,包括while、for循环
-
如果循环嵌套, continue和break也只影响语句所在的那一层循环
-
continue和break 不是跳出语句块,所以 if cond: break 不是跳出if,而是终止if外的break所 在的循环

浙公网安备 33010602011771号