一.数值类型
(1)数值类型
整型:1
浮点型:1.0,2e8,2e-8
字符串:"hello"
长整型:111L
布尔类型:True|False
复数类型:complex
(2)运算符
算术运算符:+,-,*,/,%,//(取整)
赋值运算符:+=,—=,/=,%=,=
关系运算符:>,<,<=,>=,==,!= (最终返回结果是bool类型)
(3)逻辑运算符
and,or,not
(4)内置方法(BIF--built-in function)
寻找帮助 help(cmp)
cmp,str,type,int,float,long,complex,bool-----可转化
abs(x) #去绝对值
divmod(x,y) #x/y的商和余数
coerce(x,y) #两数转化为同一类型
round(x) #四舍五入,为浮点型

[root@server code]# ipython
In [1]: 1
Out[1]: 1

In [2]: aInt = 1 #变量名aInt,变量值1

In [3]: type (aInt) #系统自动识别类型
Out[3]: int #整型
Python基本数据类型和字符串_第1张图片
In [4]: aFloat = 1.0

In [5]: type(aFloat)
Out[5]: float #浮点型
Python基本数据类型和字符串_第2张图片
In [21]: aLong = 1234566666666666666666666666666666

In [22]: type(aLong)
Out[22]: long
Python基本数据类型和字符串
In [23]: aLong
Out[23]: 1234566666666666666666666666666666L
Python基本数据类型和字符串
In [24]: bLong = 1L

In [25]: type(bLong)
Out[25]: long

Python基本数据类型和字符串

In [7]: aBool = True #布尔类型(True,False)
In [9]: type(aBool)
Out[9]: bool #布尔类型
Python基本数据类型和字符串
In [26]: aComplex = 1+2j
Python基本数据类型和字符串
In [27]: type(aComplex)
Out[27]: complex #复数
Python基本数据类型和字符串
In [10]: 1+2 #加法
Out[10]: 3

In [11]: 1-2 #减法
Out[11]: -1
In [13]: 1.0/2 #除法
Out[13]: 0.5
In [1]: 5/2
Out[1]: 2 #取整

In [14]: 2//1 #//取整
Out[14]: 2
In [15]: 9//4
Out[15]: 2
In [28]: 5%2 #取余
Out[28]: 1

In [16]: 2*4 #乘法
Out[16]: 8

In [17]: 2**4 #次方
Out[17]: 16

In [18]: 2**3
Out[18]: 8
In [19]: 2e8 #2x10^8
Out[19]: 200000000.0
In [1]: from future import division #导入未来版本除法

In [2]: 5/2
Out[2]: 2.5
Python基本数据类型和字符串
Python基本数据类型和字符串_第3张图片

In [29]: aInt = 1 #附值

In [30]: aInt
Out[30]: 1

In [31]: aInt+=1 #加等,相当于aInt=aInt+1

In [32]: aInt
Out[32]: 2

Python基本数据类型和字符串_第4张图片

In [33]: aInt %= 3 #取余,aInt=aInt%3

In [34]: aInt
Out[34]: 2
Python基本数据类型和字符串_第5张图片
In [35]: 1>2 #判断Ture|False,表达式为真-True,为假-False
Out[35]: False

In [36]: 1<3
Out[36]: True
Python基本数据类型和字符串_第6张图片

In [37]: aInt = 1

In [38]: aInt
Out[38]: 1

In [39]: aInt == 1 #比较是否相等,相等为True
Out[39]: True

In [40]: aInt != 1 #比较是否不等
Out[40]: False
Python基本数据类型和字符串_第7张图片

In [41]: 1>2 and 3>4 #逻辑与,一假则假
Out[41]: False

In [42]: 1>3 and 4>2
Out[42]: False
Python基本数据类型和字符串_第8张图片
In [43]: 1>2 or 3>1 #逻辑或,见真则真
Out[43]: True

In [44]: 1>2 or 4>5
Out[44]: False
Python基本数据类型和字符串_第9张图片
In [45]: True or False
Out[45]: True

In [46]: True
Out[46]: True

In [47]: not True #逻辑非
Python基本数据类型和字符串
Out[47]: False
In [48]: not 1<2
Out[48]: False
Python基本数据类型和字符串
In [1]: cmp(1,3) #比较大小,前数小于后数,返回值为-1,前数大于后数返回值为1,两数相等返回值为0
Out[1]: -1

In [2]: cmp(3,1)
Out[2]: 1

In [3]: cmp(1,1)
Out[3]: 0
Python基本数据类型和字符串_第10张图片
In [4]: help(cmp) #当不清除功能时,使用help()
In [12]: divmod(10,3) #取余数和商
Out[12]: (3, 1)

In [13]: coerce(1+3j,2) #转化为同一类型
Out[13]: ((1+3j), (2+0j))
Python基本数据类型和字符串
In [14]: round(1.3) #四舍五入
Python基本数据类型和字符串

In [15]: pow(2,3) #求幂次
Out[15]: 8
Python基本数据类型和字符串
例:
[root@localhost code1]# vim year.py
Python基本数据类型和字符串
#!/usr/bin/env python
#coding:utf-8

"""
判断闰年
这个年份能被4整除但不能被100整除,或者能被400整除,那么就是闰年

"""

year = 2000

print year%400==0 and year%100!=0 or year%400==0

Python基本数据类型和字符串_第11张图片
[root@localhost code1]# python year.py
True

Python基本数据类型和字符串
2.IO操作
input:
input:传入值为数值类型
raw_input:传入值为字符串类型
output:
print "hello"
print hello
print """
xxx

"""

占位符:%s,%d,%f,%.5d,%.2f,%e

In [2]: print "%d" %(1)
1

In [3]: print "%.5d" %(1)
00001

In [4]: print "%o" %(10) #八进制,满8向前进1
12
In [8]: print "%e" %(1200000000000000000)
1.200000e+18
In [9]: print "%E" %(1200000000000000000)
1.200000E+18
In [10]: print "%f" %(8)
8.000000

In [11]: print "%.2f" %(8)
8.00

[root@localhost code1]# vim code1_01_io.py
Python基本数据类型和字符串
#!/usr/bin/env python
#coding:utf-8

"""

I/O:
input

"""
year = input("输入判断年份:")
print type(year)
print year
Python基本数据类型和字符串_第12张图片
[root@localhost code1]# python code1_01_io.py
输入判断年份:2000
#input接受数值类型的数据
2000
Python基本数据类型和字符串
[root@localhost code1]# vim code1_01_io.py
Python基本数据类型和字符串
username = raw_input("用户名:")
password = raw_input("密码:")
print "用户名是:", username
print "密码是:", password
Python基本数据类型和字符串_第13张图片
[root@localhost code1]# python code1_01_io.py
用户名:root
密码:redhat
用户名是: root
密码是: redhat
用占位符实现上述:
print "username:%s password:%s" %(username, password)
[root@localhost code1]# python code1_01_io.py
用户名:root
密码:redhat
username:root password:redhat
Python基本数据类型和字符串

#3.输出print
(1)编辑器实现
[root@localhost code1]# vim code1_01_io.py
Python基本数据类型和字符串
print """ #"""的用法:1.注释一段2.输出一段


**hello***


                    注册
                    登陆

"""
Python基本数据类型和字符串_第14张图片
[root@localhost code1]# python code1_01_io.py


**hello***


        注册
        登陆

#占位符的使用
print "%s %s" %("java", "python")
Python基本数据类型和字符串
[root@localhost code1]# python code1_01_io.py
java python
Python基本数据类型和字符串
[root@localhost code1]# vim code1_01_io.py
Python基本数据类型和字符串
print """


**hello***
%s
%s
"""%("java", "python")
Python基本数据类型和字符串_第15张图片
[root@localhost code1]# python code1_01_io.py


**hello***
java
python
Python基本数据类型和字符串_第16张图片

(2)交互式实现
[root@localhost code1]# ipython

In [1]: a = """
...: hello
...: 登陆
...: """

In [2]: print a

hello
登陆

In [3]: a
Out[3]: '\n\thello\n\t\xe7\x99\xbb\xe9\x99\x86\n'
Python基本数据类型和字符串_第17张图片

4.判断语句
(1)if
[root@localhost code1]# vim code1_02_if.py
Python基本数据类型和字符串
#!/usr/bin/env python
##coding:utf-8
#
#"""
#if语句的格式:
#if 表达式:

满足表达式执行的语句

#

"""

#

age = input("年龄:")

if age > 18:

print "成年"

Python基本数据类型和字符串_第18张图片
[root@localhost code1]# python code1_02_if.py
年龄:23
成年
Python基本数据类型和字符串
(2)if...else
[root@localhost code1]# vim code1_02_if.py
Python基本数据类型和字符串
#!/usr/bin/env python
##coding:utf-8
#
#"""
#if语句的格式:
#if 表达式:

满足表达式执行的语句

#

if 表达式:

满足表达式执行的语句

#else:

不满足表达式执行的语句

#
#
#"""
#age = input("年龄:")
#if age > 18:

print "成年"

#else:

print "其他"

#
Python基本数据类型和字符串_第19张图片
(3)if包含多重条件表达式
[root@localhost code1]# python code1_02_if.py
年龄:12
其他
Python基本数据类型和字符串

#2.if包含多重条件表达式
[root@localhost code1]# vim code1_02_if.py
Python基本数据类型和字符串
#warn = ""
#if warn:

print "Warning..."

#else:

pint "一切顺利!"

[root@localhost code1]# python code1_02_if.py
一切顺利!

Python基本数据类型和字符串_第20张图片
Python基本数据类型和字符串
[root@localhost code1]# vim code1_02_if.py
Python基本数据类型和字符串
warn = ""
dis_uasge = 78

if warn or dis_uasge > 80:
print "服务器急需维护"
else:
print "一切顺利!"
Python基本数据类型和字符串_第21张图片
[root@localhost code1]# python code1_02_if.py
一切顺利!
Python基本数据类型和字符串

[root@localhost code1]# vim code1_02_if.py
Python基本数据类型和字符串
"""
写一段程序,录入信息包括hostname,ip,used_year,cpu,Memory,manager_name,如果使用>年限超过10年,直接显示警告信息“该服务器使用年限太久!”,如果使用年限不超过10年>,显示该服务器信息如下面的格式:
主机信息
主机名:hostname
IP:ip
使用年限:used_year
CPU:cpu
Memory:Memory

"""

print "****服务器信息录入****"
hostaname = raw_input("主机名:")
IP = raw_input("ip:")
used_year = input("已使用年限:")
if used_year > 10:
print "该服务器使用年限太久!"
else:
CPU = raw_input("cpu类型:")
Memory = input("内存多大:")

    print """
                    主机信息

hostname:%s
IP:%s
used_year:%s
CPU:%s
Memory:%s
"""%(hostaname, IP, used_year, CPU, Memory)
Python基本数据类型和字符串_第22张图片
[root@localhost code1]# python code1_02_if.py
主机名:localhost.example.com
ip:172.25.254.250
已使用年限:10
cpu类型:i5
内存多大:4000

        主机信息

hostname:localhost.example.com
IP:172.25.254.250
used_year:10
CPU:i5
Memory:4000
[root@localhost code1]# python code1_02_if.py
****服务器信息录入****
主机名:localhost.example.com
ip:172.25.254.220
已使用年限:20
该服务器使用年限太久!

Python基本数据类型和字符串_第23张图片
Python基本数据类型和字符串_第24张图片
if和elif
(1)交互式
[root@localhost code1]# ipython
In [1]: age = 10

In [2]: age>10 and age<18
Out[2]: False

In [3]: 10<=age<18
Out[3]: True

if 表达式1:
满足表达式1执行的语句
elif 表达式2:
满足表达式2执行的语句
elif 表达式3:
满足表达式3执行的语句
else:
不满足表达式执行的语句

[root@localhost code1]# vim code1_02_if.py
Python基本数据类型和字符串
"""
1.用户名和密码系统给定
2.用户登录时,输入用户名和秘密,判断是否登陆成功

"""
username = raw_input("用户名:")
password = raw_input("密码:")
if username == "root" and password == "redhat":
print "登陆成功"
else:
print "登陆失败"

Python基本数据类型和字符串_第25张图片

[root@localhost code1]# python code1_02_if.py
用户名:root
密码:redhat
登陆成功
Python基本数据类型和字符串
[root@localhost code1]# python code1_02_if.py
用户名:root
密码:123
登陆失败
Python基本数据类型和字符串

(5)三目运算
a if a>b else b #如果a>b返回a的值,否则返回b的值
In [14]: a = 3

In [15]: b = 4

In [16]: a if a>b else b
Out[16]: 4
Python基本数据类型和字符串_第26张图片
[root@localhost code1]# vim code1_02_if.py
num1 = input("第一个数:")
num2 = input("第二个数:")
if num1>num2:
print num1
else:
print num2

[root@localhost code1]# python code1_02_if.py
第一个数:34
第二个数:23
34

[root@localhost code1]# vim code1_02_if.py
num1 = input("第一个数:")
num2 = input("第二个数:")
print num1 if num1>num2 else num2

[root@localhost code1]# python code1_02_if.py
第一个数:23
第二个数:45
45

"""
1.用户名和密码系统给定
2.用户登录时,输入用户名和秘密,判断是否登陆成功
3.用户登陆有三次机会,超过3次还未成功,报错
4.如果用户名密码正确,显示登陆成功,退出程序exit().

"""
6.while循环的语法

(1)while
while 表达式:
满足表达式执行的语句

[root@localhost code1]# vim code1_03_while.py
Python基本数据类型和字符串
count = 0
while count < 10:
print count, #,表示不换行
count += 1
[root@localhost code1]# python code1_03_while.py
0 1 2 3 4 5 6 7 8 9

trycount = 0
while trycount<3:
username = raw_input("用户名:")
password = raw_input("密码:")
if username == "root" and password == "redhat":
print "登陆成功"
exit()
else:
print "登录失败"
trycount += 1
Python基本数据类型和字符串_第27张图片
(2)while...else
while 表达式:
满足表达式执行的语句
else:
不满足表达式执行的语句
trycount = 0
while trycount<3:
username = raw_input("用户名:")
password = raw_input("密码:")
if username == "root" and password == "redhat":
print "登陆成功"
exit()
else:
print "登录失败"
trycount += 1
else:
print "超过三次"
Python基本数据类型和字符串
[root@localhost code1]# python code1_03_while.py
用户名:123
密码:123
登录失败
用户名:123
密码:123
登录失败
用户名:123
密码:122
登录失败
超过三次
Python基本数据类型和字符串_第28张图片
(3)死循环|无限循环
while True:
print "hello"

7.循环语句用户关键字

break:跳出循环,不再进行循环语句
continue:跳出本次循环,继续回到循环语句,执行下一次循环

"""
1.cmd = 显示命令行提示符,等待用户输入;
2.如果命令为空,跳出本次循化,继续接收用户命令;
3.如果命令为quit,跳出所有循化,结束程序;
4.如果有命令,那么打印“run %s” %(cmd)

[root@localhost code1]# vim code1_03_while.py
Python基本数据类型和字符串
"""
while True:
cmd = raw_input("[root@localhost ~]#")
if not cmd:
continue
elif cmd == "quit":
break
elif cmd:
print "run %s" %(cmd)
Python基本数据类型和字符串_第29张图片
[root@localhost code1]# python code1_03_while.py
Python基本数据类型和字符串_第30张图片
[root@localhost ~]#root
run root
[root@localhost ~]#ls
run ls
[root@localhost ~]#quit

8.for循环
for i in 可迭代的对象:
state1...
第一个可迭代对象:range(start,stop,step)
[root@localhost code1]# python
range(...)
range(stop) -> list of integers
range(start, stop[, step]) -> list of integers

Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.

range(2,100,2) #从2开始到99结束,步长为2
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
for i in range(1,100,2):
... print i,
...
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
In [3]: for i in range(1,6):
...: print i
...: else:
...: print "false"
...:
1
2
3
4
5
false
字符串:
1.创建:单引号,双引号,三引号,转义字符(\n,\t,\",\')

In [4]: a = "hello"

In [5]: type(a)
Out[5]: str

In [6]: b = 'hello'

In [7]: type(b)
Out[7]: str

In [8]: c = """
...: hello
...: world
...: """
In [10]: type(c)
Out[10]: str
转义符号:
一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符
\n #换行符 \t #tab符 \" #双引号本身 \' #单引号本身

In [13]: a = "\"hello\""

In [14]: a
Out[14]: '"hello"'
In [16]: a = '"hello"'

In [19]: a
Out[19]: '"hello"'

In [26]: a = "it's \"happy\" day"

In [27]: print a
it's "happy" day

[root@localhost code1]# vim code1_04_for.py
Python基本数据类型和字符串
#!/usr/bin/env python
#coding:utf-8

"""
for循环的语法:
for i in 可迭代对象:
state1...

第一个可迭代对象:range(start,stop,step)
编写九九乘法表:
11=1
1
2=2 22=4
1
3=3 23=6 33=9
"""
for i in range(1,10): #i=1;i=2
for j in range(1,i+1): #j=1;j=1,j=2
print "%d%d=%d" %(j,i,ij), #11=1;12=2 22=4
print
Python基本数据类型和字符串_第31张图片
[root@localhost code1]# python code1_04_for.py
1
1=1
12=2 22=4
13=3 23=6 33=9
1
4=4 24=8 34=12 44=16
1
5=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
1
8=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
1
9=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81
Python基本数据类型和字符串_第32张图片
字符串特征
索引:获取特定偏移元素
给出一个字符串,可输出任意一个字符,如果索引为负数,就是相当于从后向前数。
切片:s[start:stop:step]
start默认值为0,stop默认值为字符串长度减1,step默认值为1
连接操作:
重复操作:
成员操作符:in,not in

索引:
[root@localhost code1]# ipython
n [1]: s = "hello"

In [2]: s[1]
Out[2]: 'e'

In [3]: s[-1]
Out[3]: 'o'

In [4]: s[0]
Out[4]: 'h'
切片:
In [6]: s[1:3:2]
Out[6]: 'e'
重复、连接及计算长度
In [20]: print "hello " + "world"
hello world
In [21]: print ""15 + "学生管理系统" + ""15
学生管理系统
In [23]: print "--"5 + "学生管理系统" + "--"5 #5表示引号中的内容重复5遍,+表示连接
-
---------学生管理系统---------*-

判断子串是否在字符串中
In [24]: "h" in s
Out[24]: True

In [25]: "lo" in s
Out[25]: True

In [26]: "ho" in s
Out[26]: False

In [27]: 'l' in s
Out[27]: True
In [28]: "ll" not in s
Out[28]: False

字符串常用操作:

  • 将字符串首字母大写,并返回新的首字母大写
    后的字符串;
    In [35]: s = "hello"

In [36]: s.capitalize()
Out[36]: 'Hello'
str.center(width[,fillchar])

  • 返回一个长为width的新字符串,在新字符串
    中原字符居中,其他部分用fillchar指定的符号填充,
    未指定时通过空格填充。
    In [39]: s.center(20,'*')
    Out[39]: '***hello****'
    str.count(sub[, start[, end]]) -> int
  • 返回sub在str中出现的次数,如果start与end指定,
    则返回指定范围内的sub出现次数。
    In [40]: s = "i love you"
    In [43]: s.count("o")
    Out[43]: 2

In [44]: s.count("0",2)
Out[44]: 0

In [45]: s.count("o",2)
Out[45]: 2

In [46]: s.count("o",2,6)
Out[46]: 1
str.endswith(suffix[, start[, end]])

  • 判断字符串是否以suffix结束,如果start和end指
    定,则返回str中指定范围内str子串是否以suffix结尾,如果
    是,返回True;否则返回False
    str.startswith(prefix[, start[, end]])
    In [49]: s = "i love love you"

In [50]: s.endswith('ou')
Out[50]: True

In [51]: s.endswith('ve',2,10)
Out[51]: False

In [52]: s.endswith('ve',2,10)
Out[52]: False

In [53]: s.endswith('ve',2,11)
Out[53]: True

str.find(sub[,start[,end]])

  • 判断sub是否在str中,存在返回索引值,不存在返
    回-1.
    str.index(sub[,start[,end]])
  • 与find方法函数功能相同,如果sub不存在时抛出
    ValueError异常;
    In [49]: s = "i love love you"

In [55]: s.find("ov")
Out[55]: 3

In [56]: s.find("io")
Out[56]: -1

In [57]: s.find("ov",5,10)
Out[57]: 8
In [1]: s = "i love you"

In [2]: s.index('ov')
Out[2]: 3

In [3]: s.index('rr')

ValueError Traceback (most recent call last)
in ()
----> 1 s.index('rr')

ValueError: substring not found