前言:python基本的语法与其他语言诸如C,JAVA等类似,但个中有些许不同。
一、常规语法
1.变量名与关键字
与其他语言类似,变量名由字母、数字、下划线组成,且必须由字母开头。
变量使用不需要提前声明。
2.常用数据类型
int 整型
float 浮点数
str 字符串
用type(a)来求得变量a的类型
在交互式平台中输入如下语句:
a = 3
type(a)
该语句会输出
<type 'int'>
注意:python中不需要用分号(或其他符号)来表示语句的结束,当然加上分号也不会报错。
当然除此之外,python中还有一些复杂的数据类型。如list,tuple。这将在后面讲述。
3.常用操作运算等
与其他类似,+,-,*,/,%
其中整数除法还是整数。如要结果是小数,必须是点除./
4.条件控制语句
格式如下:
if <条件式子>:
语句一
elif <条件式子>:
语句二
else:
语句三
实际情况中,可只有if,或if…else…
5.循环体
1)for循环
格式:
for i in range(times):
do something
这里range()是python的内置函数,表示从1到times的列表。这里相当于循环times次。
函数完整形式:range(start,end,step)
这只是for循环最简单的一种形式,还有其他形式,比如下面这个例子:
遍历列表a,并打印出它的元素,我们可以这样写
a = [2,5,8,9,2,4,0]
length = a.__len__()
for i in range(length):
print a[i]
但是更简单的方式则是下面的形式:
a = [2,5,8,9,2,4,0]
for i in a:
print i
2)while循环
格式:
while <条件式>:
do something
eg:输出10到1:
i = 10
while i>0:
print i
i -= 1
6.终止语句
1)return
函数中返回值。例如:
def absolute_value(a):
if a>0:
return a
else:
return -a
print absolute_value(-3)
输出结果:
3
其中def是对函数的声明,这里定义了一个求绝对值的函数。
2)break
break的作用是跳出循环,执行循环体以外的语句,例如:
for i in range(10):
if (i%2==0):
print i
break
else:
print i+1
print('Finish')
输出结果是:
0
Finish
3)continue
continue的作用是跳出当前循环,执行下一次循环,例如:
for i in range(10):
if (i%2==0):
print i
continue
else:
print i+1
print('Finish')
输出结果是:
0
2
2
4
4
6
6
8
8
10
Finish
7.函数,又叫模块
函数的格式为:
def <函数名>(<参数集>):
函数体
例如:
def absolute_value(a):
if a>0:
return a
else:
return -a
print absolute_value(-3)
其中参数可以为空,也可以为多个。例如:
def sayHello():
print 'Hello'
def maxInt(a,b):
if a>b:
return a
else:
return b
注意:python中不用括号来区分语句块,而是用缩进来表示。因此在写程序的过程中一定要掌握好缩进。
另外:如果我们想引用另一个程序中的函数,则可以使用import
例如:
import numpy as ny
print ny.abs(-3)
我们要使用第三方库numpy中绝对值方法。因此使用import导入numpy,并将其重命名为ny
当然还可以使用:
from numpy import *
*表示该包中的所有内容。当然也可以指定我们要使用的内容,例如:
from numpy import abs
print abs(-3)
函数可以调用其他函数,例如:
#说times次Hello
def sayHello(times):
for i in range(times):
print 'Hello'
#计算一个数的绝对值
def absolute_value(a):
if a>0:
return a
else:
return -a
#计算两个数在数轴上距离原点最大的距离
def maxInt(a,b):
aa = absolute_value(a)#这里调用了计算绝对值的函数
bb = absolute_value(b)#这里调用了计算绝对值的函数
if aa>bb:
print a,"is more far"
return aa
print b,"is more far"
return bb
maxInt(4,-9)
输出:
-9 is more far
9
当然函数不仅可以返回int型,也可以返回float,boolean,str等,例如:
def is_divisible(x,y):
if (x%y==0):
return True
else:
return False
def findByIndex(string,i):
return string[i]
def division(x,y):
return x./y
8.用户输入
1)input
a = input()
2)raw_input()
a = raw_input()
例如:
a = input()
print a
print type(a)
b = raw_input()
print(b)
print type(b)
输出结果:
2#这是用户输入的
2#这是程序输出的
<type 'int'>
ddd#这是用户输入的
ddd#这是程序输出的
<type 'str'>
9.字符串
1)字符串长度
使用len函数
s = "liwenbao"
print len(s)
输出:
8
2)字符串切片
使用方括号[start:end]
s[2:4]
输出:
wen
3)字符串连接
使用加号“+”
a = "li"
b = "wenbao"
c = a + b
print c
输出:
liwenbao
3)字符串比较
使用比较符号,>,<,=
a = 'banana'
b = 'banana'
c = 'bababa'
print a > b#其它有用的比较运算是把词按照字母顺序排列
print a == b#比较两个字符串是否相等
print a > c#其它有用的比较运算是把词按照字母顺序排列
输出:
False
True
True
4)字符串是不可变的
例如:
a = 'liwenbao'
a[6] = 's'
报错:
a[6] = 's'
TypeError: 'str' object does not support item assignment
如果想要改变字符串的某个字符,必须另外新建一个字符串。
当然如果要改变整个字符串是可以的,例如:
a = 'liwenbao'
print a
a = 'li ting'
print a
输出:
liwenbao
li ting
//待续