波-

Python之路(一)-python简介

一、python简介,python2.x与python3.x的区别

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

python的执行过程, 代码编译得到字节码,字节码由虚拟机转换成机器码执行。相当于python,则c语言则是直接编译成机器码而交给cpu执行,所以在执行时间上来说,python的执行速度要略低于C语言。 

python的执行过程如下:

 

 

python 2 和python3的区别:

python2.7作为python2和python3的过度版本在2010年发布后再没有特别大的更新,python3废弃了python2中一些重复的方法,使得在用法上有些差异。在日后的开发中将逐渐像3.x转移。

最重要的是python3.x默认的字符集就是unicode,所以在代码中可以直接用中文而不会出现乱码了

 

 

python2.x&python3.x区别示例:

1 #python2.x--print
2 print 'hello,world‘
3 
4 #python3.x--print
5 print('hello,world')

 除法示例:

 

1 a = 3/2
2 
3 #python3.x的值为1.5
4 #python2.x的值为1
除法区别

 

 

 

二、变量声明

 变量的作用:在内存中保存的内容,用来代指某个地址的内容。

变量的赋值:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

name1 = 'Leifeng'
name2 = 'Liudehua'
print name1
print name2

问题:

1 a = 123
2 b  = a
3 a = 456
4 
5 
6 问题:此时 a和b的值是多少?
7 答案:此时a = 456,b = 123
View Code

 

 

三、用户交互

python3.x中 没有raw_injput() 取代的是input()

示例:

 

1 #python3.x写法
2 name = input('Please input your name:')
3 
4 #python2.x写法
5 name = raw_input('Please input your name:')
6 
7 
8 print('my name is %s!'%(name))
python3.x用户交互

 

四、if条件判断

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 n = 30
 4 times = 0
 5 while times < 3:
 6     luck_num = int(input('请输入你的幸运数字:'))
 7     times+=1
 8     if luck_num > n:
 9         print('你输入的数字太大!!!')
10     elif luck_num < n:
11         print('你输入的数字太小!!!')
12     else:
13         print('Bingo!!!')
14         break
15 else:
16     print('你尝试的次数太多!!')

 

五、while循环

 1 lucky_num = -1
 2 num = 10
 3 times = 3
 4 while lucky_num != num:
 5     if times > 0:
 6         lucky_num = int(input('请输入你的幸运数字:'))
 7         times-=1
 8         if lucky_num > num:
 9             print('你输入的数字太大!!!你还有%s次机会' %times)
10         elif lucky_num < num:
11             print('你输入的数字太小!!!你还有%s次机会' %times)
12     else:
13         print('你的输入次数超过三次,程序退出!')
14         break
15 else:
16     print ('Bingo!!!')

 

六、for循环

 1 nu = 19
 2 for times in range(3):
 3     lucky_nu = int(input('输入您的幸运数字:'))
 4 
 5     if lucky_nu > nu:
 6         print('too big')
 7     elif lucky_nu < nu:
 8         print('too small')
 9     else:
10         print('binggo')
11         break
12 else:
13     print('too many times ')
for循环示例

 

七、初识数据类型

  • 数字

  整型(INT),长整型(LONG),浮点型(FLOAT)

  

a = -9889
#求绝对值
print(a.__abs__())
print(abs(a))

#求二进制
print(bin(a))

#占用的字节数
print(a.bit_length())

#求加法
print(a.__add__(100))
print(a+100)


#布尔值
print(a.__bool__())


total = 90
per = 10
#求商和余数
c = total.__divmod__(per)
#除数换位
c = total.__rdivmod__(per)
print(c)

#比较是否相等
d = a.__eq__(-9889)
print(d)



#转换成float类型
e = a.__float__()
print(e)

#地板除
f = a.__floor__()
print(f)
数字使用方法:

 

  • 字符串

  字符串功能: 移除空白,分割,长度,索引,切片

 

 

  字符串使用:

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 name = 'Eric'
 5 age = 20
 6 weight = 54.6
 7 
 8 print('%s is %d years old,and his weight is %f' %(name,age,weight))
 9 
10 其中 %s 表示字符串
11 %d表示整数
12 %f表示浮点

 字符串方法:

name = str('zhaojianbo')
#查看数据类型
print(type(name))

#查看类的所有成员
print(dir(name))

#包含等于in
print(name.__contains__('zhao'))
print('zhao' in name)

#字符串的格式化
#?

#
#首字母大写
print(name.capitalize())

#首字母小写
names = 'Eric'
print(names.casefold())

#全部变小写
name2 = 'ZHAOJIANBO'
print(name2)
print(name2.lower())

#全部变大写
name3 =  'hello'
print(name3.upper())

#大小写互换
a = 'abcdeabcdZXVSDFSDFSD'
b = a.swapcase()
print(b)

#字符串居中,并填充字符
print(name.center(100,'*'))

#统计某个字符串现的次数
print(name.count('o',0,10))

#解码
names = '赵建波'
names = names.encode('gbk')
print(names)


#以字符串开头或者结尾
print(name.startswith('zhao',0,4))
print(name.endswith('bo'))


#table转换成空格,可以设置多少个空格
names4 = 'zhao\tjianbo\tbo'
result = names4.expandtabs(20)

print(names4)
print(result)


#查找字符串是否存在,支持start,end,0为存在,-1为没找到
print(name.find('zhaos'))

#index如果不存在会报错
print(name.index('zhao'))


#字符串格式化
name = '{0} is big city'
result = name.format('Beijing')
print(result)

name = '{city} is a big city!'
result = name.format(city='Beijing')
print(result)


#判断is
i = ' '
print(i.isspace())


#join
li = ['a','l','e']
result = '*'.join(li)
print(result)


#去掉左右边的空格

#对应表替换maketrans translate
a = 'abcde'
b = '12345'


#字符串分割
a = 'abcde'
b = a.partition('cd')
print(b)

#替换replace,可以设置转换前几个
a = 'abcdeabcd'
b = a.replace('b','f',1)
print(b)

# 分割字符串split
a = 'abcdeabcd'
b = a.split('b')
print(b)


#按行分割
a = '''abcdeabcd
sfadsfa
adfadsfad
11111'''
b = a.splitlines()
print(b)
字符串方法:

 

  • 布尔值

  1或0,True或False

  • 列表

   列表功能:

  

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 
 5 
 6 #创建列表
 7 name_list = ['liu','li','wang','zhang','zhao']
 8 
 9 #索引
10 print name_list[1]
11 
12 #切片
13 print name_list[0:4]
14 print name_list[3:]
15 
16 #追加
17 name_list.append('qian')
18 print name_list
19 
20 #删除
21 #默认删除最后一个元素
22 name_list.pop()
23 print name_list
24 
25 # 也可以指定元素 索引删除
26 name_list.pop(1)
27 print name_list
28 
29 #根据元素名字删除
30 name_list.remove('wang')
31 print name_list
32 
33 
34 #循环
35 for i in name_list:
36     print i
37 #包含
38 print('liu' in name_list)  #结果为True或False
39 
40 
41 
42 #计数,计算某元素在列表里出现的次数
43 print name_list.count('liu')
44 
45 
46 
47 #插入 在指定索引位置插入元素
48 name_list.insert(2,'feng')
49 print(name_list)
50 
51 # 查看某各元素所在下标是多少
52 print name_list.index('zhang')
53 
54 #合并,将两个列表合并
55 name_list2 = [1,23,4,5,67]
56 name_list.extend(name_list2)
57 print name_list
58 
59 #排序
60 name_list.sort()
61 print name_list
62 
63 #反转
64 print name_list
65 name_list.reverse()
66 print(name_list)
View Code

 

  • 元祖

  元祖跟列表唯一区别就是元祖不可修改,因此元祖只有跟列表一样读取的功能,所有列表里修改内容的功能元祖都没有。

  元祖和列表之间可以互相转换

  

1 #创建列表
2 name_list = ['liu','li','wang','zhang','zhao']
3 #创建元祖
4 name_tuple = ('liu','li','wang','zhang','zhao')
5 
6 #列表转元祖
7 print tuple(name_list)
8 #元祖转列表
9 print list(name_tuple)

 

  • 字典

八、运算符

  • 算术运算符

  

  • 比较运算符

  

  • 赋值运算符

  

  • 位运算符

  

  • 逻辑运算符

  

  • 成员运算符

  

  • 身份运算符

  

九、字符编码

十、打开文件

打开文件:
  file_obj = file("文件路径","模式")
打开文件的模式有:
  • r,以只读方式打开文件
  • w,打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • a,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • w+,打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

  

 1 f = file('day1.txt','r')
 2 
 3 #一次性加载所有内容到内存中
 4 print f.read()
 5 
 6 #一次性加载所有内容到内存,并根据行分割成字符串
 7 print f.readlines()
 8 
 9 # 每次仅读取一行数据
10 for line in f:
11     print line
12     
13 #关闭句柄
14 f.close()
读文件示例

 

 1 #/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 f = file('day1.txt','w')
 5 
 6 #覆盖内容
 7 f.write('写入的新内容')
 8 f.close()
 9 
10 
11 
12 
13 #追加内容
14 f.write('追加的新内容')
15 f.close()
写文件示例
1 #此方法无须手动关闭句柄
2 with open('log.txt','r') as f:
3     print f.readline()
另一种打开文件的方式

 

 

十一、

 

posted on 2015-12-27 14:46  波-  阅读(287)  评论(1编辑  收藏  举报

导航