一、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区别示例:

 #python2.x--print
print 'hello,world‘ #python3.x--print
print('hello,world')

除法示例:

 a = 3/2

 #python3.x的值为1.5
#python2.x的值为1

除法区别

二、变量声明

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

变量的赋值:

#!/usr/bin/env python
# -*- coding:utf-8 -*- name1 = 'Leifeng'
name2 = 'Liudehua'
print name1
print name2

问题:

 a = 123
b = a
a = 456 问题:此时 a和b的值是多少?
答案:此时a = 456,b = 123

三、用户交互

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

示例:

 #python3.x写法
name = input('Please input your name:') #python2.x写法
name = raw_input('Please input your name:') print('my name is %s!'%(name))

python3.x用户交互

四、if条件判断

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

五、while循环

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

六、for循环

 nu = 19
for times in range(3):
lucky_nu = int(input('输入您的幸运数字:')) if lucky_nu > nu:
print('too big')
elif lucky_nu < nu:
print('too small')
else:
print('binggo')
break
else:
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)

数字使用方法:

  • 字符串

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

  字符串使用:

 #!/usr/bin/env python
# -*- coding:utf-8 -*- name = 'Eric'
age = 20
weight = 54.6 print('%s is %d years old,and his weight is %f' %(name,age,weight)) 其中 %s 表示字符串
%d表示整数
%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 = '' #字符串分割
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

  • 列表

   列表功能:

  

 #!/usr/bin/env python
# -*- coding:utf-8 -*- #创建列表
name_list = ['liu','li','wang','zhang','zhao'] #索引
print name_list[1] #切片
print name_list[0:4]
print name_list[3:] #追加
name_list.append('qian')
print name_list #删除
#默认删除最后一个元素
name_list.pop()
print name_list # 也可以指定元素 索引删除
name_list.pop(1)
print name_list #根据元素名字删除
name_list.remove('wang')
print name_list #循环
for i in name_list:
print i
#包含
print('liu' in name_list) #结果为True或False #计数,计算某元素在列表里出现的次数
print name_list.count('liu') #插入 在指定索引位置插入元素
name_list.insert(2,'feng')
print(name_list) # 查看某各元素所在下标是多少
print name_list.index('zhang') #合并,将两个列表合并
name_list2 = [1,23,4,5,67]
name_list.extend(name_list2)
print name_list #排序
name_list.sort()
print name_list #反转
print name_list
name_list.reverse()
print(name_list)
  • 元祖

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

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

  

 #创建列表
name_list = ['liu','li','wang','zhang','zhao']
#创建元祖
name_tuple = ('liu','li','wang','zhang','zhao') #列表转元祖
print tuple(name_list)
#元祖转列表
print list(name_tuple)
  • 字典

八、运算符

  • 算术运算符

  

  • 比较运算符

  

  • 赋值运算符

  

  • 位运算符

  

  • 逻辑运算符

  

  • 成员运算符

  

  • 身份运算符

  

九、字符编码

十、打开文件

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

  

 f = file('day1.txt','r')

 #一次性加载所有内容到内存中
print f.read() #一次性加载所有内容到内存,并根据行分割成字符串
print f.readlines() # 每次仅读取一行数据
for line in f:
print line #关闭句柄
f.close()

读文件示例

 #/usr/bin/env python
# -*- coding:utf-8 -*- f = file('day1.txt','w') #覆盖内容
f.write('写入的新内容')
f.close() #追加内容
f.write('追加的新内容')
f.close()

写文件示例

 #此方法无须手动关闭句柄
with open('log.txt','r') as f:
print f.readline()

另一种打开文件的方式

十一、

Python之路(一)-python简介的更多相关文章

  1. Python之路,Day4 - Python基础4 (new版)

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  2. Python之路:Python简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间他为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 ...

  3. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  4. Python之路:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  5. 【Python之路】Python目录

    Python基础1 -- Python由来.Python种类.编码方式, Python基础2 -- Python运算符.数据类型.enumerate.range.for循环 python基础3 -- ...

  6. Python之路-初识python及环境搭建与测试(Python安装、Anaconda安装、PyCharm安装)

    一.认识Python 起源 Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻 ...

  7. Python之路,Day1 - Python基础1(转载Alex)

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  8. Python之路,Day1 - Python基础1 --转自金角大王

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  9. Python之路,Day1 - Python基础1 介绍、基本语法、流程控制

    本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...

随机推荐

  1. 定位JVM内存溢出问题思路总结

    JVM的内存溢出问题,是个常见而有时候有非常难以定位的问题.定位内存溢出问题常见方法有很多,但是其实很多情况下可供你选择的有效手段非常有限.很多方法在一些实际场景下没有实用价值.这里总结下我的一些定位 ...

  2. python函数作用域,嵌套函数,闭包

    函数作用域                                                                                                ...

  3. python3 列表去除重复项保留原序

    l1 = ['a',1,'c','b',2,'b','c','d','a'] l2= sorted(set(l1),key=l1.index) print('l2:',l2) print('l1:', ...

  4. 三. html&JavaScript&ajax 部 分

    1. 判 断 第 二 个 日 期 比 第 一 个 日 期 大 如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21必须要保证用户 的输入是此格式,并且是时间,比如说月份不大于12等等, ...

  5. tomcat 部署swagger 请求到后端乱码

    问题: @ApiOperation(value = "", notes = "查看关键词列表") @ResponseBody @RequestMapping(v ...

  6. UI5-学习篇-17-云端WEB IDE开发

    1.前提条件 SAP云平台账号已申请 云连接器设置完成:UI5-学习篇-15-云连接SAP Cloud Connector 云平台Destination设置完成:UI5-学习篇-16-云端SCP-De ...

  7. css一些特殊选择器

    css一些特殊选择器1.在box中,从第几个div开始选择,以后的都会选择到,以下代码表示从#box里面的第二个div开始选择:#box div:nth-of-type(n+2){}2.选择奇数个:d ...

  8. xadmin 常见错误

    版本: Django==2.0.5 xadmin==0.6.1 djangorestframework==3.9.0 1.No module named 'django.core.urlresolve ...

  9. vue初体验

    作为一个前端的小菜鸟,在平时的开发与学习中,除了要深入了解javascript 及 css 的各种特性,熟悉一门框架也是必不可少的.vue以其小巧,轻便,学习平滑等各种特性深受欢迎. 这里总结一下小菜 ...

  10. linux 磁盘空间被占满但找不到目标文件的问题处理 lsof命令

    lsof简介 在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能. 直接输入lsof部分输出为: 每行 ...