Python 基础一(python简介、变量、if,while语句)

 

一、Python介绍

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  

(龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。

2017年7月的TIOBE排行榜,Python已经占据第四的位置, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!!

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

二、目前Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

Python在一些公司的应用: 

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
  • CIA: 美国中情局网站就是用Python开发的
  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
  • YouTube:世界上最大的视频网站YouTube就是用Python开发的
  • Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
  • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
  • Facebook:大量的基础库均通过Python实现的
  • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
  • 豆瓣: 公司几乎所有的业务均是通过Python开发的
  • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
  • 春雨医生:国内知名的在线医疗网站是用Python开发的

 

三、python发展史

  • 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
  • In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible

四、编程语言分类

编译型、解释型

解释型:当程序运行时,将代码从上至下,一句一句解释成二进制,在执行.
典型:python,php
优点:开发速度快,可以跨平台.
缺点:执行效率慢.

编译型:将源码一次性转化成二进制文件,然后在执行.
典型:C,C++...
优点:执行效率快.
缺点:开发速度慢,不能跨平台.

五    python的种类

CPython

CPython是使用最广的Python解释器,官方推荐的

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行

IronPython

六、Python2与Python3的区别

python2,python3区别大环境下:
python2:
1,源码都含有php,Java,C,等语言的规范陋习,
2,重复代码特别多.
python3:
源码很规范,清晰,简单,符合python的宗旨.

七、变量

运行第一个python程序.
python3:英文,中文没有问题. 默认编码:utf-8

python2:英文没问题,中文报错? 默认编码:ascii
显示中文:首行:# -*- encoding:utf-8 -*-

变量:将运算的中间结果暂存到内存,以便后续程序调用.
变量的规则:
1,变量是由数字,字母,下划线,任意组合.
2,变量不能以数字开头.
3,变量不能是python的关键字.
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4,变量可描述性.
fjdlasfjlf = 18
5,变量不能是中文.
7,变量不能过长.

建议:
驼峰体

AgeOfOldboy = 56

NumberOfStudents = 80

下划线

age_of_oldboy = 56

number_of_students = 80

八、常量
#常量:没有常量,但是约定俗称:全部大写的是常量.
九、注释
便于别人,或者自己理解.
单行注释:#
多行注释:'''被注释内容''' """被注释内容"""

十、基础数据类型(初识)
数字:int
取值范围:32位 64位
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
主要用于计算:+-*/ ** % //......
比较1 > 2

字符串:str
在Python中,凡是用引号引起来的,全是字符串

布尔值:bool    True和Fasle

十一、用户交互

ps:  python3  input  ;   python2   raw_input

name = input('姓名:')
age  = input('年龄:')
work = input('工作:')
hometown = input('家乡:')
print('我叫'+name,'今年'+age,'从事'+work,'来自'+hometown)

 十二、 if语句

if 条件:
结果
#第一种
'''
if 3 > 2:
    print(666)
print(777)
'''
#第二种:
'''
name = input('请输入名字:')
if name == 'alexsb':
    print(name)
else:print('请重新输入')

#第三种
num_guess = input('请输入数字')
if num_guess == '1':
    print('去吃饭')
elif num_guess == '3':
    print('请你喝酒')
elif num_guess == '5':
    print('大宝剑')
else:
    print('你傻不傻....')

ps:str --->int  int(str) 条件:全是数字组成的字符串
s = '123'
s = '22'
i = int(s)
print(i,type(i))

'''
#第四种:

'''
name = 'alex' 
if name == 'alex':
    print('666')
elif name == 'alex':
    print(111)
'''

#第五种:嵌套
'''
name = 'alex'
if 3 > 2:
    if name == 'alex':
        print(666)
    else:print(111)
print(222)
'''
'''
score = int(input("输入分数:"))
if score > 100:
    print("我擦,最高分才100...")
elif score >= 60:
    print("C")
elif score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 40:
    print("D")
else:
    print("太笨了...E")
if语句

 

 

十三、while循环

while True为死循环,会一直打印

 以下3不打印,1,2一直循环

 

以下为打破条件,跳出循环令条件发生改变

 #  while循环会一直循环到底,以下打印666,1,2,4,3,

 

以下为跳出循环另一种形式 break-----完全跳出整个循环

 

 打印1-100练习,两种方式如下

flag = True
count = 1
while flag:
    print(count)
    count = count + 1
    if count == 101:
        flag = False

count = 1
while count < 101:
    print(count)
    count = count + 1

continue  跳出本次循环继续下次循环

以下只循环1,2

 

  

以下练习打印1,2,3,4,5,6,8,9,10

 以下练习打印1+2+3+4+----+99+100的和

 

sum  = 0
count = 1
while count < 101:
    sum = sum +count
    count = count + 1
print(sum)

 

 

 1 '''
 2 #练习一使用while循环输出1,2,3,4,5,6, 8,9,10
 3 
 4 count = 1
 5 while count < 11 :
 6     if count == 7:
 7         print(' ')
 8         continue
 9     else:print(count)
10     count = count + 1
11 
12 #练习二使用while循环实现输出1-100以内所有奇数
13  count = 1
14  while count <= 100 :
15     if count % 2 == 1 :
16         print(count)
17     count = count + 1
18 
19 #练习三使用while循环实现输出1-100以内所有偶数
20  count = 1
21  while count < 101:
22     if count % 2 == 0:
23         print(count)
24     count = count + 1
25     
26 #练习四输出1+2+3+...+98+99+100的和
27 sum = 0
28 count = 1
29 while count < 101:
30     sum = sum +count
31     count = count + 1
32 print(sum)
33 
34 
35 #练习五输出1-2+3-4+5...-98+99的和
36 sum = 0
37 count = 1
38 while count < 100:
39     if count % 2 == 1:
40         sum = sum + count 
41     else :
42         sum = sum - count 
43     count = count + 1 
44 print(sum)
45 
46 #练习六用户登录三次机会
47 
48 _username = "guoxiaoyan"
49 _password = "123"
50  count = 0
51 while count < 3:
52     username = input("Username:")
53     password = input("Password:")
54     if username == _username and password == _password :
55         print("登录成功!")
56         break
57     else:
58         print("登录失败!")
59     count = count + 1
60 '''    
答案

 

 

 

 

  

 

 

 

 

 

posted @ 2018-01-19 20:16  GuoXY  阅读(317)  评论(0编辑  收藏  举报