python语法基础
输出语句
printf():打印语句
py3中 表示:函数(内置函数)-----py2中就是一个打印语句
数字,字符串,列表---数据
打印运算式(表达式)
可以接受多个参数,多个参数由逗号隔开
可以接受关键字参数---py2中不支持
print默认end为\n print(end='')不换行
输入语句
input(提示信息)
内置函数
在控制台等待用户输入
input会把用户输入的数据,转化成字符串---py2不会转换
在py2中
input()获取数字
raw_input()获取字符串
变量
在脚本语言和动态类型语言中,变量的值是随时变化的
python---弱类型语言
弱类型: js/py a=10 a='10' a='hehe'
强类型:java int a='10'
变量在py中相当于标签
1.先赋值后使用
2.符合命名规范
3.变量可以直接进行运算
标识符
1.语法
(1)合法标识符 :字母数字下划线,(数字不能开头)中文仅在py3中可以使用
编码表:编码对照表(机器码和字符的---对应关系)asc,utf-8
编码方式:py3----unicode(16进制编码--万国码):utf-8(默认),utf-16
py2:asc编码----不支持中文--asc中没有中文
utf-8是兼容了asc表的
(2)大小写敏感(区分大小写)
(3)不能使用关键字保留字
关键字:and or not true false for in while is if else elif
保留字:没有特使语法含义但是被系统征用了的,例如print str int float bool list set 所有内置函数名字
(4)没有长度限制
2.开发习惯
1.望文生义
2.大小写
1.包名:全小写
2.类名:单词首字母大写(大驼峰命名法)
HelloWorld
3.变量名/函数名:单词的首字母小写,后面的单词首字母大写(小驼峰命名法)
helloWorld=100
4.常量:全大写
HELLOWORLD=100
3.其他命名法:
单词之间用_连接
数据类型
1.整型 int 整数
py2中整数类型:int,long
py3中整数类型:int同样有着长整形的性质
2.浮点型
float:小数(type()可以查看类型)
科学计数法:e计法---取值范围大大增加---精确度降低
e可以使小写也可以是大写
inf表示无限大
3.布尔型:
bool
True,False
4.字符串:
str
单引号:一般用于赋值
双引号:嵌套
三引号:可以多行字符串---文档注释
天生具有跨平台性质---编码表
字符串“什么都能存”---转换成字符串进行存储(取出数据需要解析)
可以通过斜杠进行转义 \n:换行 \t:制表符(默认四个空格)
\',\",\\
原始字符串:r'\\' #\\---不用应用于引号
加了r的表示原始字符串
二进制字符串:bytes(py3) b=bytes(a,encoding='utf-8')
str---bytes:str.encode()编码
bytes---str:bytes.decode() 解码
字符串长度 len(str)---不能求长度的数据会报错(int)
5.空值:
None(关键字)
print(None) #None
交互界面:None值不显示
6.复数:
py2中实部和虚部必须都是浮点型
py3中实部和虚部尽量转换成整型(小数点后无用0全部清除)
实部+虚部
a+bj
7.容器类型
可以容纳多个数据的类型
列表,元组,字典,集合
类型转换
int str bool float
工厂函数:str() list() float() bool()
1.int--str:str()
2.int--float:float()
3.int--bool:bool()除了0都是true
4.str--int:int()---只能识别整数的字符串,小数不可以
5.str--float:float()--只能识别兼容于数字的字符串
6:str--bool:bool()--空串和none为false,其他都为true
7.float--int:int()--向下取整
8.float--bool:bool()--0.0为false 其他为true
9.bool--str:str()
10.bool--int:int()--true:1 false:0
11.bool--float()
int+float--float
1+true--2
获取类型的信息
1.type(对象)
返回指定对象类型
2.isinstance(object,class_or_tuple)
比较两个参数的数据类型,如果兼容,则返回true,否则返回flase
isinstance更加便利
有返回值,值还可以进行二次利用
表达式
变量和字面值用某个式子连接的模式--表达式
字面值:变量名所代表的值---a=10---10是a的字面值,10是int的字面值
表达式必须有固定的字面值
a+20
运算符
1.一般运算符:
+ - * /(真除法) % //(地板除--floor) **(幂运算)
2.赋值运算符:
=
3.增强运算符(增强赋值运算符)
+= -= *= \= %= **=
4.布尔运算符(比较运算符)
== > < >= <= !=
可以连续判断
5.逻辑运算符
not and or
优先级
not优先级最高
and
or 优先级最低
6.位运算符
位:二进制下的每一位
<<左移(变大)
>>右移(变小)
&逻辑求与
~逻辑求非
^逻辑求异或
7.三元运算符
变量=(值1 if 布尔表达式 else 值2)
如果为真返回值1,否则返回值2
三元运算符的优先级最低
优先级问题
1.先乘除后加减
2.幂运算优先级最高
3.三元运算符优先级最低
4.元数越少,优先级越高,其中,幂运算是一元运算符
5.优先级从高到底排列
幂运算
正负号
算数运算符 - = * /
比较运算符 < > <= >=
逻辑运算符 not and or