python简介与基本操作
一、python的历史
python的创始人Guido van Rossum,现就职于Dropbox公司。
1989年12月份诞生了python1.0
2000年10月16日发布了python2.0
2008年发布python3.0,但由于3.0不兼容当时的2.4,因此推广非常缓慢。
为解决此问题,当年便推出了python2.6版本,其兼容了2.4和3.0两个版本。在这之后又推出了python2.7,支持了更过的3.x版本的特性。但随着python3的推广,python2终将会被取代,毕竟,python2.6和2.7只是一个过渡的版本。
二、编程序语言的分类
1、编译型:
通过编译器将程序代码编译成可执行代码,即一次性把所有的代码转换成机器语言,然后写成可执行文件。下次执行前不需要再次编译。
优缺点:执行速度最快的编程语言,但每次只要进行小小改动都需要进行漫长的编译。开发效率比较低。
属于编译型语言的有:C/C++、Pascal/Object Pascal(Delphi)、VB等
2、解释型
在每次执行程序前,需要通过解释器将代码转换成机器语言。
优缺点:由于每次执行程序的时候都要先通过解释器转换计算机才能执行,因此执行速度稍慢。不过对于初学者来说的我,这点速度可以忽略不计。其开发效率很高,比编译型的语言高的不是一星半点。
属于解释型语言的有:Java、JavaScript、VBScript、Perl、Python等
三、为什么学python
1、入门比较容易、代码简明易懂,对于患有严重强迫症的我来说非常适合(强制缩进)
2、开发效率高,python拥有非常强大的第三方库,基本上你想实现的功能库里都有,大大降低开发周期
3、可移植性,python属于跨平台的编程语言,基本上可以直接运行在任意操作系统上。另外java之所以流行,就是由于他是第一个跨平台的编程语言。
下面三点对于我这种初学者来说还暂时接触不到,因此复制粘贴一下
4、高级语言——当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
5、可扩展性——如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
6、可嵌入性——你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
四、python基本操作
# 去空格
name = ' alex '
strip() -> name.strip() -> 'alex' # 统计长度
name = 'alex li'
len() -> len(alex) -> 7 # 切片(顾头不顾尾)
name.strip()[0:3] -> ale #字符串拼接
msg = 'my name is ' + name + 'and i am' + 'old' #开辟多个内存空间
msg = 'my name is %s and i am old' % name #只开辟一块内存空间
3)列表:增删改查
names = ['alex','jack']
# 改
names[1] = 'ada'
# 增
names.append('rose')
names.insert(2,'jack')
names.insert(1,'leon')
# 删
del names[2]
names.remove('rose')
names.append('ada')
# 统计
names.count('ada')
# 查
names.index('ada') #从左开始找,返回第一个位置
# 排序
names.sort() #按照ascii码排序,python3中数字和字符串不能一起排序
names.reverse() #反过来排序
# 切片
names[3:5]
names[-3:]
names[0:-1:2] #步长为2,跳着取
4)运算符
| + - * / | ||
| % | 取模 | 返回除法的余数,用于判断奇偶数 |
| ** | 幂运算 | 返回x的y次幂 |
| // | 除法取整数 | 返回商的整数部分 |
| == | ||
| != | 不等于 | <>在python2中也是不等于,python3中不使用 |
| > < >= <= | ||
| = | 赋值 | |
| += -= *= /= %= **= //= | a+=1 => a=a+1 | |
| and or not | ||
| in | 在.....中 | |
| not in | 不在......中 | |
| is | 是...... | |
| not is | 不是...... |
names = [1,2,3,4,5,6,90]
8 in names -> False
6 in names -> True
type(8) is int
type('sddd') is str
type(['a','b']) is list
5)位运算
a = 60 # 0 0 1 1 1 1 0 0
b = 13 # 0 0 0 0 1 0 1 0
a & b = 12 # 0 0 0 0 1 0 0 0 与运算:都是1为1,其他都为0
a | b = 61 # 0 0 1 1 1 1 1 0 或运算:只要是1就为1,都是0为0
a ^ b = 49 # 0 0 1 1 0 0 0 1 异或运算:一样的为0,不一样的为1~a = -61 # 1 1 0 0 0 0 1 1 按位取反,第一位为负数,结果为-61
a >> 1 = 30 # 往右移一位相当于除以2,效率比除以2高
a << 1 = 120 # 往左移一位相当于乘以2,效率比乘以2高
6)三元运算
#!/usr/bin/env python
a = 3
b = 1
# if a > b:
# c = a+b
# else:
# c = a-b
# print(c)
c = a+b if a> b else a-b
print(c)
4、用户交互

#!/usr/bin/env python
# 无限制猜数字
# age = 56
# n = 1
# while True:
# number = input("input number: ").strip()
# while not number.isdigit():
# number = input("input number: ").strip()
# number = int(number)
# if number == age:
# print("猜对了")
# break
# elif number > age:
# print('猜大了,还有%s次机会' % (3-n))
# else:
# print('猜小了,还有%s次机会' % (3-n))
# n += 1 # 3次机会
# age = 56
# for i in range(1, 10):
# if i > 3:
# print("3次都没猜出来,拜拜了您呐~")
# break
# else:
# number = input("input number: ").strip()
# while not number.isdigit():
# number = input("input number: ").strip()
# number = int(number)
# if number == age:
# print("猜对了")
# break
# elif number > age:
# print('猜大了,还有%s次机会' % (3-i))
# else:
# print('猜小了,还有%s次机会' % (3-i)) # 每猜3次提示一次是否继续,直到外层循环结束
age = 56
count = 1
for i in range(1, 10):
if count == 4:
user_confirm = input("你还想不想玩了?")
if user_confirm == 'y':
count = 0
pass
else:
print("see you~")
break
else:
number = input("input number: ").strip()
while not number.isdigit():
number = input("input number: ").strip()
number = int(number)
if number == age:
print("猜对了")
break
elif number > age:
print('猜大了,还有%s次机会' % (3-count))
else:
print('猜小了,还有%s次机会' % (3-count))
count += 1
2、输入分数,查看等级
#!/usr/bin/env python
while True:
score = input('input score: ').strip()
if score.isdigit():
score = int(score)
# if score <= 100 and score >= 0:
if 0 <= score <= 100:
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('B-')
elif score >= 60:
print('C')
else:
print('D')
else:
print('input error')
elif score == 'exit':
break
else:
print('input error')
3、break和continue
break:跳出当前整个循环
continue:跳出本次循环,进入下一次循环
#!/usr/bin/env python
for i in range(10):
if i == 5:
for j in range(10):
print("inner loop", j)
if j == 6:
break
continue
print("loop", i)


python简介与基本操作的更多相关文章
- Python学习--Python简介
Python 简介 Python是一种解释型.编译性.面向对象.动态数据类型的高级程序设计语言.Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. P ...
- 3. Python 简介
3. Python 简介 下面的例子中,输入和输出分别由大于号和句号提示符 ( >>> 和 ... ) 标注:如果想重现这些例子,就要在解释器的提示符后,输入 (提示符后面的) 那些 ...
- Python之路【第一篇】:Python简介和入门
python简介: 一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pyth ...
- 【Python①】python简介,安装以及配置
今天开始学习python,将一些心得和知识点记录下来,如有疏漏或表达问题,欢迎指正.后面所有代码均为Python 3.3.2版本(运行环境:Windows7)编写. 附:2014年8月TIOBE编程语 ...
- Python 简介和入门
1.Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- Python学习【第一篇】Python简介
Python简介 Python前世今生 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 现在,全世界差不多有600多种编 ...
- Python自动化 【第一篇】:Python简介和入门
Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单”. 二.Python由来 python的创始人为吉多·范 ...
- Python学习之Python简介
Python简介 Python的由来 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象.解释型计算机程序设计语言,它是吉多·范罗苏姆(Guide van ...
- python成长之路【第一篇】:python简介和入门
一.Python简介 Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言. 二.安装python windows: 1.下载安装包 https://www.pyt ...
随机推荐
- 【转】vim 修改tab为四个空格
原文网址:http://blog.sina.com.cn/s/blog_620ccfbf01010erz.html 为了vim更好的支持python写代码,修改tab默认4个空格有两种设置方法: 1. ...
- oracle用户解锁和改密
alter user hs_user account unlock; alter user hs_asset account unlock; alter user hs_his account unl ...
- [置顶] COcos2d-X 中文API
本文来自http://blog.csdn.net/runaying ,引用必须注明出处! COcos2d-X 中文API 温馨提醒:使用二维码扫描软件,就可以在手机上访问我的博客啦!另外大家可以访问另 ...
- 程序中使用7-zip(7z)压缩文件
Email:longsu2010 at yeah dot net 工作中难免遇到需要压缩文件的情况,比如有一千万个小文件,每个文件约100k,如果使用7-zip压缩后可能十几k,可以节省很多磁盘空间. ...
- QP01 BAPI、QP02 BDC
近期在改动一个检验计划分配的一个程序.上网查了一些资料,分别对QP01检验计划创建.改动QP02.删除物料等操作.分享一下. 一.QP01 BAPI BAPI_INSPECTIONPLAN_CREAT ...
- StarUML中时序图添加小人
转载于 http://blog.csdn.net/longyuhome/article/details/9011629 在看时序图的例子的时候,发现有些的时序图上有小人的图标,可是一些UML工具却没有 ...
- jquery跳出当前的each循环
break----用return false; continue --用return ture; jquery是对象链,所以$(..).each()返回的还是对象集合.each(function(){ ...
- iscc2016 pwn部分writeup
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...
- Activity 状态的保存和恢复
Activity状态保存的两种情况 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的时候,突然来了一个电话,这个时候在接听完电话之后我们返回到游戏中,这 ...
- 话付通SDK 聚合支付
步骤 官网:http://www.71pay.cn/ 1.导入Jar包----将HeepayPlugin.jar,HftJuhePay.jar 包放入工程指定的libs目录. 2.配置清单文件---- ...