Python基本语法
数值类型:
int , long , float ,bool(True,Flase) , complex(复数)
整型
长整型
浮点型
2.3e10代表的数值为2.3的10次方
2.3e-10代表的数值为2.3的-10次方
复数类型
python对复数提供内嵌支持,eg: 3.14j, 8.32e-36j
运算符
算术运算符: +, -, *,**(幂次方,2**3=8), /, %(取余), //(取整)
赋值运算符: =, +=, -=, /=, %= (a+=3 a=a+3)
关系运算符: >, <, >=, <=, ==, != (最终返回结果是bool类型)
逻辑运算符: and(与), or(或), not(非)
内置方法:
如何寻找帮助? ------> help(type)
type(1), cmp(1,2), str(1), abs(-10), divmod(10,3), round(1.9)
类型转换函数: int(1.0), long(1), float(1), bool(1), bool(0), complex(1)
str() 转化为字符串,用法举例:
cmp()比较大小,返回-1, 1 , 0
abs() 求绝对值; divmod() 求商取余; round() 四舍五入
类型转换函数: int(1.0), long(1), float(1), bool(1), bool(0), complex(1)
IO操作
Input:
raw_input 传入值为字符串类型:
input: 传入值为数值类型;
Output:
print “hello world”
print “””
*******
1.
2.
“””
(注意:三个引号有三个功能:块注释、打印输出、函数 )
占位符:%s, %d, %f, %.5d, %.2f, %e
举例如下:
name = “redhat”
age = 19
money = 10.2345
print “Name:%s Age:%d Money:%.2f ” %(name, age, money)
注意缩进代表代码的语句成分:四个空格为一个缩进,可以设置一个Tab键等于4个空格即: ts=4
[root@server code1]# vim /etc/vimrc
set ts=4
if语句的格式: 三种
(1)
if 表达式:
满足表达式执行的语句.....
(2)
if 表达式:
满足表达式执行的语句.....
else:
不满足表达式执行的语句.....
(3)
if 表达式:
满足表达式执行的语句1.....
elif 表达式:
满足表达式执行的语句2.....
elif 表达式:
满足表达式执行的语句3.....
else:
不满足表达式执行的语句.....
三目运算符:
python不支持: a>b?a:b
python支持: a if a>b else b
while循环的语法:
(1)
while 表达式:
满足表达式执行的语句
(2)
while 表达式:
满足表达式执行的语句
else:
不满足表达式执行的语句
(3)
# 死循环/无限循环
while True:
print "hello"
循环语句种用户关键字:for, break, continue, pass
break: 跳出循环,不再进行循环语句
continue: 跳出本次循环, 继续回到循环语句,执行下一次循环;
for循环的语法:
for i in 可迭代的对象(range(start,stop,step) ,字符串,元组):
state1....
跳出for循环: break
跳出本次for循环: continue
range语法结构:
range(stop) -> list of integers
range(start, stop[, step]) -> list of integers
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0
举例演示:
一、判断闰年?
这个年份能被4整除但不能被100整除, 或者能被400整除,那么就是闰年.
[root@server code1]# cat code1_01_leap.py
#!/usr/bin/env python
#coding:utf-8
year = input("请输入判断年份:")
print year%4==0 and year%100!=0 or year%400==0
二、关于if 的练习
代码如下:
#!/usr/bin/env python
#coding:utf-8
hostname = raw_input ("输入主机名:")
IP = raw_input ("输入IP:")
used_year = input ("使用年限:")
if used_year > 10 :
print "该服务器使用年限太久!"
else :
CPU = raw_input ("CPU:")
Memory = raw_input ("内存大小:")
manager_name = raw_input ("管理员名称:")
print """
主机信息
主机名:%s
IP :%s
使用年限:%d
CPU:%s
Memory:%s
管理员名称:%s
""" %(hostname,IP,used_year,CPU,Memory,manager_name)
三、关于三目运算符练习
比较用户输入的两个数字,前者大的输出xixi,反之输出haha
代码如下:
#!/usr/bin/env python
#coding:utf-8
a = input ("num1: ")
b = input ("num2: ")
print "xixi" if a>b else "haha"
四、关于while的练习
题目要求:
1. 用户名和密码系统给定;
2. 用户登录时,输入用户名和密码,判断是否登录成功;
增强要求:
1. 用户登录有三次机会,超过3次还未成功,报错;
2. 如果用户名密码正确,显示登录成功,退出程序;(exit())
代码如下:
#!/usr/bin/env python
#coding:utf-8
inname = "natasha"
inpassword = "123"
trycount = 0
while trycount < 3:
name = raw_input ("name: ")
password = raw_input ("password: ")
if name == inname and password == inpassword :
print "登陆成功!"
exit()
else :
print "登陆失败!"
trycount += 1
五、关于break与continue练习
要求如下:
1. cmd = 显示命令行提示符,等待用户输入;
2. 如果命令为空, 跳出本次循环,继续接收用户命令;
3. 如果命令为quit,跳出所有循环,结束程序;
4. 如果有命令,那么打印"run %s" %(cmd)
代码如下:
#!/usr/bin/env python
#coding:utf-8
while 1:
cmd = raw_input ("[root@test ~]").strip() ##.strip() 去除两边空格
if not cmd:
continue
elif cmd == "quit" or cmd == "exit":
break
else:
print "run %s" %cmd
效果如下:
六、关于for语句的练习
编写九九乘法表
#!/usr/bin/env python
#coding:utf-8
for i in range(1,10):
for j in range(1,i+1):
print "%d*%d=%2d " %(j,i,i*j) , #逗号表示不换行
print #默认print表示换行
效果如下: