字符串(string)
使用’’或” ”括起来
整数(integer)
十进制:123, 八进制:025, 十六进制0x15
浮点数(float)
2.13, 2., .21, 2.1E1
布尔数(boolean)
True, False
复数(complex)
1+2j
通过type()可查看对象类型。
>>> type(2)
<type ‘int‘>
>>> type(‘2‘)
<type ‘str‘>
>>> 1+2 #整数相加
3
>>> ‘1‘+‘2‘ #字符串相接
‘12‘
int(‘123’) #将字符串强制转换为整数
int(123.9) #将浮点数强制转换为整数,结果为123
str(123) #将整数强制转换为字符串
float(‘123’) #将字符换强制转换为浮点数
float(123) #将整数强制转换为浮点数
bool(123) #将整数强制转换为布尔数
bool(0) #将整数强制转换为布尔数
== 等于
!=, <> 不等于
大于
< 小于
= 大于等于
<= 小于等于
注意:
在Python2中,/表示向下取整。
两个整数相除,结果为整数,舍去小数。
若有一个浮点数,则结果为浮点数
若参与运算的两个对象的类型相同,则结果类型不变。
若参与运算的两个对象的类型不同,则结果按照以下规则进行自动类型转换
bool?int?float?complex
>>> import math #引入math模块
>>> dir(math) #查看模块内容
[‘__doc__‘,‘__name__‘,‘__package__‘,‘acos‘,‘acosh‘,‘asin‘,‘asinh‘,‘atan‘,‘atan2‘,‘atanh‘,‘ceil‘,‘copysign‘,‘cos‘,‘cosh‘,‘degrees‘,‘e‘,‘erf‘,‘erfc‘,‘exp‘,‘expm1‘,‘fabs‘,‘factorial‘,‘floor‘,‘fmod‘,‘frexp‘,‘fsum‘,‘gamma‘,‘hypot‘,‘isinf‘,‘isnan‘,‘ldexp‘,‘lgamma‘,‘log‘,‘log10‘,‘log1p‘,‘modf‘,‘pi‘,‘pow‘,‘radians‘,‘sin‘,‘sinh‘,‘sqrt‘,‘tan‘,‘tanh‘,‘trunc‘]
>>> math.pi
3.141592653589793
>>> math.sqrt(4)
2.0
>>> help(math.exp) #查看帮助内容
Help on built-in function exp in module math:
exp(...)
exp(x)
Return e raised to the power of x.
and 与
or 或
not 非
判断闰年:
若年份能被4整除,但不能被100整除,则是闰年。若能被400整除,也是闰年。
>>> 2000 % 4 == 0 and 2000 % 100 != 0 or 2000 % 400 == 0
True
括号:()
一元运算:+, -
幂运算:**
算数运算:*, /, %, //
算数运算:+, -
比较运算:==, !=, <> <= >=
逻辑非:not
逻辑与:and
逻辑或:or
赋值运算:=, *=, /=, +=, -=, %=, //=
规则1:自上而下,括号最高,逻辑最低。
规则2:一元优先,自右向左。
规则3:自左向右,依次结合。
+=, -=, =, /=, %=, //=, *=
标识符是变量、函数、模块的名字
命名规则:
首字符必须为字母或者下划线。标识符包含数字、字母和下划线。区分大小写。标识符可以任意长。标识符不能是关键字。
and del from not while as elif global or with assert else if pass yield break except import print class exec in raise continue finally is return def for lambda try
raw_input
功能:读取键盘输入,将所有输入视为字符串。
语法:raw_input([prompt])
举例:radius = float(raw_input(‘Radius:’))
pi = 3.14
radius = float(raw_input(‘Radius:’))
area = pi*radius**2
print area
input
功能:读取键盘输入,可输入数字
语法:raw_input([prompt])
举例:
radius = float(raw_input(‘Radius:’))
radius = input(‘Radius:’)
print
功能:输出
输出变量:
print a
print(a)
输出字符串:
print’abcd’
print”abcd”
print(’abcd’)
print(“abcd”)
将多个对象输出到一行:
pi = 3.14
radius = float(raw_input(‘Radius:‘))
area = pi*radius**2
print ‘when radius =‘, radius, ‘the area is‘, area
\n 回车
\t 制表符
\ 一个\
\a 响铃
\’ 单引号
\” 双引号
elif相当于else:if,但和第一个if条件并列。
if-elif-else语句中有else条件时,else条件放在最后。
【eg.1:】
if c<10:
print("c<10")
elif c>50:
print("c>50")
else:
print("10<c<50")
【eg.2:】
num = 1
total_num = 3
count = 0
while num <= total_num:
grade = input("input No."+str(num)+"student‘s grade:")
if grade >= 60:
count += 1
else:
pass # do nothing
num += 1
print "passed student number is ", count
【eg.3:】根据泰勒定理计算e的值
n = 1
ee = 1
factor = 1
infactor = 1
while infactor > 1e-6:
e1 = ee + infactor
n += 1
factor = factor*n
infactor = 1.0/factor
ee = e1
print "e = ",ee
print "e = %.5f"%ee #小数点后保留5位数字
print("e = %.5f")%ee #小数点后保留5位数字
for i in range(a,b)
range(a,b)范围a,a+1,…,b-1
for i in range(b)
range(b)等价于range(0,b)
for i in range(a,b,k)
range(a,b,k)范围a,a+k,…,b-x
从while循环到for循环的转变:
i = initialValue
while i < endValue:
……
i += 1
以上代码可用for代替:
for i in range(initialValue, endValue):
……
【eg.4:】
for i in range(1,10):
print(i)
for i in range(1,10):
print(“Item {0},{1}”.format(i,”hello python”))
【eg.5:】eg.2的改写:
count = 0
for i in range(1,4):
#注意这里输入的是字符串
#grade = raw_input("input No."+str(i)+" student‘s grade:") grade = input("input No."+str(i)+" student‘s grade:")
print(grade)
if grade >= 60:
count += 1
else:
pass
print "passed student number is ", count
break和continue
和C、MATLAB中一样,在Python中:
break 强制终止当前循环体
continue 强制终止当次循环
编程练习——求一元二次方程的解
#coding=utf-8
#为了显示中文,需要在头部加上#coding=utf-8
import math
a, b, c = input("Enter three coefficients:")
tag = b*b-4*a*c
if tag < 0:
print "方程无实根"
elif tag == 0:
sqrtTag = math.sqrt(b*b-4*a*c)
r = (-b+sqrtTag)/(2*a)
print "the only root is", r
else:
sqrtTag = math.sqrt(b*b-4*a*c)
r1 = (-b+sqrtTag)/(2*a)
r2 = (-b-sqrtTag)/(2*a)
print "two distinct roots are", r1, r2
自定义函数–无传递参数
def SayHello():
print("Hello World")
SayHello()
自定义函数–有传递参数
def max(a,b):
if a>b:
return a
else:
return b
print(max(1,3))
函数外部定义的变量为全局变量
函数内部定义的变量为局部变量
如果希望函数内部的变量为全局变量,则需要在函数内部对变量用global声明。
x = 1
def add():
global x
x += 1
print x
add()
print x
递归:求12的阶乘
def p(i):
if i == 1 or i == 0:
return 1
else:
return i*p(i-1)
print p(12)
原文:http://blog.csdn.net/qq_22186119/article/details/43882539