所有语言都要从语法开始讲起,Python也不例外,和其他语言一样无非是条件分支,循环之类的。本文重点说一下python语法和其他语言一样的地方的特点,和其他语言相类似的语法就简单带过。
举几个简单的例子,先让大家熟悉熟悉python的语法特点:
例子1: Python中的打印输出
这里要注意,如果要连接字符串和数字一定要现将数字转为字符串,否则会报错
例子2: python中的缩进
对于例子2可以看出
1.Python不用分号结束语句
2.代码块不用{}显示,而是使用tab缩进,有缩进的语句就是在代码块中的语句
3.if else后面会有:号
4.input()是一个bif,即内置函数。用户输入的东西返回的是一个字符串,所以后面要用int转为整形因为在pthyon中8不等于"8",但在php和js这类语言中8等于“8”
5.变量定义不用声明类型
例子3:python中的字符串
==========================================================
pthyon的标准数据类型
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
其实在pthyon中,所有的数据都是对象,所以不用太纠结类型这种东西
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
其中数字类型包括:
int、float、bool、complex(复数)
布尔型在Pthyon中本质上属于数字类型,pthyon的对是True不是true
True是1,False是0
True+True -->2
可以用int()/float()/str()对各个类型进行转换
当然,int("2")可以,int("你好")会报错
int(5.99)会往下取,得5
float(5),得5.0
不要使用内置函数名作为变量名,否则调用这个函数会报错
比如说 str() 是一个函数,那么定义变量的时候不能这样:
str = “字符串”
否则,str函数就失效了,因为原来的str已经被覆盖了
==================================================================
# 获取变量的类型
type(变量名)
isinstance(变量名,类型) #第二参不是一个字符串,而是一个对象例如isinstance(“aaa”,str)为True
pthyon的运算符,只要注意一个10#8是将10除以8,再往下取整
**相当于幂运算,3**2==9
还有pthyon是没有|| && !,只有and or和not
bool=1 and 2
bool的结果不是True,而是2,相当于php中的三元运算符
1<2<3这种语法在其他语言是不允许的,但在pthyon中是可以的,结果为True
比如说php要写为:if($n1>$n2 && $n2>$n3){...}
在pthyon可以写成:if n1>n2>n3 ...
但是数字不可以和字符串比较。
条件分支
if 条件:
代码块
elif 条件:
代码块
else:
代码块
如果你想写出类似这样的形式
if(){
if(){
}
}
就要写成
if ...:
if ...:
不要写成
if ...:
if ...:
三元操作符
x=4
y=5
small=x if x
print(small)
============================================================
循环
while 条件:
循环体
for 目标 in 表达式: #表达式是个迭代器,一般是一个列表或者字典
循环体
比如
len(arr) #可以计算列表元素个数,也可以计算一个字符串的长度,但不可以传int型,会报错
range() #相当于php的range(),但不包括最后一个值
range(10) 0~9
range(1,10) 1~9
range生成的不是列表类型,而是range类型
arr=range(1,10)
type(arr) #得range
arr=list(arr) #转为list类型
isinstance(arr,isinstance) #True
如果想循环特定次数,下面做法是错误的,因为100是个数字而不是迭代器:
for i in 100:
print(i)
看上去python的for循环只能遍历数组,列表之类的迭代器,但也能做到特定次数的遍历,如
for i in range(100):
print(i) #循环100次,打印处0~99,包含0但不包含100