Python基础s14-day1
2016年7月23日"Python基础s14-Day1"
Python是什么?
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象、直译式的计算机程序语言,具有近二十年的发展历史。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。
Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。
Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、泛型编程多种编程范式。
Python历史
Python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。[5]
就这样,Python在吉多手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
目前吉多仍然是Python的主要开发者,决定整个Python语言的发展方向。Python社区经常称呼他是仁慈的独裁者。
Python 2.0于2000年10月16日发布,增加了实现完整的垃圾回收,并且支持Unicode。同时,整个开发过程更加透明,社区对开发进度的影响逐渐扩大。Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多重继承,有益于增强源代码的复用性。Python支持重载运算符,因此Python也支持泛型设计。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了与Haskell和Standard ML中类似的函数式程序设计工具。
虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发项目例如Zope、Mnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shell script、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。
Python2到Python3发生了哪些变化
1.print语句没有了取而代之的是print()函数
下面是python2中的print写法
下面是python3中的print写法
2.raw_input()没有了取而代之的是input()
在python2中用户输入可以用raw_input()也可以用input()。
python3中只有input()
3.Pthon3中默认支持中文了
在python2中要想输出中文需要在代码中加上# -*- coding:utf-8 -*-
python3中还有一些模块名称发生了改变以及其他变化。这里不一一列出了
开始Python之旅
跟所有程序一样第一个程序总是Hello.World。下面我们写一个hello world:
#创建一个helloworld.py的程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("Hello.World!"
#然后执行命令python helloworld.py
[root@node1 ~]# python helloworld.py Hello.World!
Python变量
python中声明一个变量与shell相似"变量名 = value"
name = "enzhi.wang"
上面代码声明一个变量,变量名为name,变量的值为"enzhi.wang"。
Python变量的命名规范
1.变量只能是字母、数字、下划线任意组合
2.变量名第一个字符不能以数字开头
3.变量名第一个字符不能以特殊字符开头
Python注释
1.单行注释,Python中使用#号用来实现单行代码注释
#name = "enzhi.wang"
2.多行注释,python中使用一对'''来注释多行内容
#!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author: enzhi.wang #name = "enzhi.wang" # 下面为多行注释 ''' name = "enzhi.wang" age = 26 job = "IT" '''
Python用户输入
Python3中使用input()函数来实现用户与程序之间的交互
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author: enzhi.wang
name = input("Please enter your user name.")
age = int(input("Age:"))
job = input("Job:")
print(name,age,job)
执行上面代码
Please enter your user name.enzhi Age:26 Job:IT enzhi 26 IT #用户输入结束后print打印出变量值
格式化输出
python中格式化输出的三种方式:
1.创建一个名为formatting.py的程序
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author: enzhi.wang
name = input("Please enter user name:")
age = int(input("Age:"))
job = input("Job:")
info1 = '''
Information of:%s
Name:%s
age:%d
job:%s
''' % (name,name,age,job) #变量必须按顺序去引用
print(info1)# %我理解为与shell中的$1,$2类似用于传参# %s,s是代表字符串# %d,d是代表数字
执行formatting.py
python formatting.py
Please enter user name:wangenzhi
Age:26
Job:IT
Information of:wangenzhi
Name:wangenzhi
age:26
job:IT
第二种格式化输出方式:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author: enzhi.wang
name = input("Please enter user name:")
age = int(input("Age:"))
job = input("Job:")
info2 = '''
Information of {_name}
Name: {_name}
Age: {_age}
Job: {_job}
''' .format(_name=name,_age=age,_job=job)
print(info2)
执行formatting.py
Please enter user name:wangenzhi
Age:26
Job:IT
Information of wangenzhi
Name: wangenzhi
Age: 26
Job: IT
第三种格式化输出方式:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# Author: enzhi.wang
name = input("Please enter user name:")
age = int(input("Age:"))
job = input("Job:")
# 第一种格式化方式
info1 = '''
Information of: %s
Name: %s
age: %d
job: %s
''' % (name,name,age,job)#变量必须按顺序去引
# 第二种格式化方式
info2 = '''
Information of {_name}
Name: {_name}
Age: {_age}
Job: {_job}
''' .format(_name=name,_age=age,_job=job)
# 第三种格式化方式
info3 = '''
Information of {0}
Name: {0}
Age: {1}
Job: {2}
'''.format(name,age,job)
print(info3)
执行formatting.py
Please enter user name:enzhi
Age:25
Job:it
Information of enzhi
Name: enzhi
Age: 25
Job: it
Python条件判断
python中使用if来进行条件判断语法如下
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
- 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
- 如果 "condition_1" 为False,将判断 "condition_2"
- 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
- 如果 "condition_2" 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
- 1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
- 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。当出现如下错误提示(IndentationError)则为缩进错误
实例:使用if条件判断实现猜大小的游戏
让用户输入一个年龄判断是否与定义的年龄相等,如果相等打印欢迎信息退出程序,如果大于定义的年龄则提示用户猜小一点,如果小于定义的年龄则提示用户猜大一点。

[root@node1 ~]# vim interaction.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: enzhi.wang
age = 26 #定义默认age为26
input_age = int(input("guess age:")) #提示用户输入一个年龄
if input_age == age: #如果等于age那么就打印下面的print内容
print("yes,guess great!")
elif input_age > age: #如果大于age那么就打印下面print内容
print("guess a little bit samll")
else: #否则,如果上面既不等于又不是大于那一定是小于,就打印下面print内容
print("guess a bit bigger")
Python循环语句
python中循环语句有while和for循环。
while循环
python中while循环的写法:在while循环中同样要注意代码之间的缩进
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: enzhi.wang
while 条件判断:
语句
在上面猜大小的游戏中用户输入完成后不论是否猜对答案程序都会退出,现在我们用while循环来实现只要用户正确就退出否则就一直猜
# 创建一个名为guess_while.py的脚本
1 [root@node1 ~]#vim guess_while.py
2 #!/usr/bin/env python
3 # -*- coding: utf-8 -*-
4 # Author: enzhi.wang
5 age = 26
6 while True:
7 input_age = int(input("Please enter your guess age:"))
8
9 if input_age == age:
10 print("yes,Guessed it.")
11 break
12 elif input_age > age:
13 print("guess a little bit small.")
14 else:
15 print("guess a bit bigger.")
执行guess_while.py
[root@node1 ~]# python3 guess_while.py Please enter your guess age: guess a bit bigger. Please enter your guess age: guess a little bit small. Please enter your guess age: yes,Guessed it.
# 运行上面脚本时只有用户猜对了才会退出这样显得非常不友好,现在要求如果用户猜错三次就提示用户对不起你猜错的次数过多并退出程序
[root@node1 ~]#
age = 26
count = 0
while count <3:
input_age = int(input("Please enter your guess age:"))
if input_age == age:
print("yes,Guessed it.")
break
elif input_age > age:
print("guess a little bit small.")
else:
print("guess a bit bigger.")
count += 1
else:
print("I'm sorry your guess wrong too many times.")
# 提示:在python中while循环可以使用else来做条件式判断。当while count <3条件不满足时执行else下面的语句
执行guess_while2.py
[root@node1 ~]# python3 guess_while2.py Please enter your guess age: guess a little bit small. Please enter your guess age: guess a bit bigger. Please enter your guess age: guess a little bit small. I'm sorry your guess wrong too many times.
for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的写法:for循环同样需要注意代码之间的缩进
#!/usr/bin/env python # -*- coding: utf-8 -*- # Author: enzhi.wang for variable in sequence: statements else: statements
# 下面用for循环实现猜大小的游戏,并实现错误三次退出程序
[root@node1 ~]#
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: enzhi.wang
age = 26
for i in range(3):
input_age = int(input("Please enter your guess age:"))
if input_age == age:
print("yes,Guessed it.")
break
elif input_age > age:
print("guess a little bit small.")
else:
print("guess a bit bigger.")
else:
print("\033[31;1mI'm sorry your guess wrong too many times.\033[0m")
执行guess_for.py
[root@node1 ~]# python3 guess_for.py Please enter your guess age: guess a bit bigger. Please enter your guess age: guess a little bit small. Please enter your guess age: yes,Guessed it.
break和continue语句
break可以跳出for和while的循环体。如下面实例
[root@node1 ~]# vim break.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
for i in range(10): #循环0到10之间的整数
print(i) #每循环一次打印出当前的整数
if i >4: #判断如果i大于4那么就退出整个循环
break
执行以上脚本输出结果为:
[root@node1 ~]# python3 break.py
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
[root@node1 ~]# vim continue.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
for i in range(10): #循环10次
if i == 5: #当i等于5时跳出本次循环继续下一次循环
continue
print(i)
执行上面脚本的输出结果为:
[root@node1 ~]# python3 continue.py 9# 当i等于5时则跳过去继续下一轮循环了
Python基础s14-day1的更多相关文章
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
- Python基础(Day1)
一.Python的简介 1.Python的诞生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发 ...
- Python 基础学习day1
1.计算机的组成 CPU:相当于人的大脑,预算中心. 内存:临时加载数据或者程序. 缺点:断电即消失. 硬盘:存放所有的数据,输入输出设备. 2.什么是操作系统. 调控所有硬件与软件的中间介质. 3. ...
- Python基础,day1
一. Python介绍 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, ...
- 9-Python基础知识-day1
Python基础知识-day1 Python 2 和Python 3 的区别: Python2 源码不标准,混乱,重复代码多:#-*-encoding:utf8 -*- 解决python2显示中文的问 ...
- Day1 - Python基础1 介绍、基本语法、流程控制
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...
- Python day1 ---python基础1.1
1.模块初识2..pyc是个什么鬼?3.数据类型初识 4.数据运算5.入门知识拾遗 1.模块初识 sys模块 import sys print(sys.path) #打印环境变量 'D:\\Pycha ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- python基础day1
一.python介绍 1.1简介 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum ...
随机推荐
- js 关于日期
new Date() 获取当前的完整日期 : 如 2016-12-30 new Date().getFullYear() 获取当前的年份 new Date().getMonth() 获取当前的月份( ...
- [deviceone开发]-do_Viewshower的动画效果示例
一.简介 do_Viewshower组件也支持View之间的过场动画,支持大概12种,这个示例随机的切换12种动画中的一种,而且每次切换的动画时间不一样.直观的展示12种动画的效果.适合初学者. 二. ...
- ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)
Stop 命令 使用该命令的程序位置 INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中 处理说明 1. 当在INITIAL ...
- 创建SAP GUI快捷方式保存密码
1.在注册表中创建GUI 快捷方式的子键 a.首先运行 微软标识键+R b.窗口中输入sapshcut,如果有窗口跳出点击“确定” 2.维护子键下的键值 a.再次运行 微软标识键+R ...
- <转>最新版SDWebImage的使用
我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了.研究发现, ...
- NSValue&NSNumber
void testForNSValue(void) { int i=10; // NSLog(@"encode(int)=%s",@encode(int)); // N ...
- iOS开发--Swift 基于MVC设计模式的简单的tableViewDemo
如果说MVC是最好的设计模式, 可能很多人并不赞同, 但是如果说MVC是最主流, 应用面最广的设计模式, 我想这是毫无争议的. 不说废话, 直接演示在Swift中如何使用MVC新建工程(我并没有新建文 ...
- 【读书笔记】iOS网络-保护网络传输
一,验证服务器通信. 二,HTTP认证. 手机银行应用有两种认证模式:标准验证与快速验证.标准验证只是提示用户输入用户名与密码,而快速验证则让用户注册设备,然后使用PIN进行验证,每次验证时无需用户名 ...
- 网络热恋之SDWebImage
SDWebImage-master 是一个非常强大的三方. 当需要应用SDWeb时把文件夹里的SDWebImage文件夹放入工程里. 在需要使用网络获取图片的文件里进入头文件#import " ...
- php设计模式 策略模式
策略模式: 将一组特定的行为和算法封装成类,以适应某些特定的上下文环境: 实际应用举例,假如一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告. UserStr ...