01_Python基础


一、Python介绍

1.1 Python的前世今生

创始人Guido·van·Rossum,1989年为了打发无聊的圣诞节而编写的一个编程语言。

1.2 TIOBE Index for May 2016

1.3 目前Python主要应用领域

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣等, 典型WEB框架有Django。
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas。
  • 系统运维: 运维人员必备语言。
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。
  • 图形GUI: PyQT, WxPython,TkInter。

1.4 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完成各种各样的任务。

1.5 为什么是Python!

Python与C
C语言:代码编译得到机器码,机器码在处理器上直接执行。
Python:为解析后生成字节码,然后再解析为机器码,所以比C语言慢。Python是C开发的。

Python和其他语言比较 
使用:Linux原装Python。
速度:Python在速度上可能稍显逊色。

1.6 Python的种类

Cpython:Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
Jyhton:Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
IronPython:Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码。

其他:RubyPython、Brython ...

1.7 Python 2与3

简化语法

1 Old: print "The answer is", 2*2 New: print("The answer is", 2*2)
2 Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline
3 Old: print # Prints a newline
4 New: print() # You must call the function!
5 Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr)
6 Old: print (x, y) # prints repr((x, y))
7 New: print((x, y)) # Not the same as print(x, y)!

1.8 解释器

1 #!/usr/bin/env python #指定哪个程序来运行,需要有执行权限
2 #-*-coding:utf-8-*-  #万国码,UTF08

3 print("Hello World!")

二、 Python环境搭建

2.1 Windows

2.1.1 Python 3.5.1

安装过程:省略。

2.1.2 Pycharm

  PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

2.2 Linux

2.2.1 CentOS 6.7

默认Python版本2.6.6

安装Python 3.5.1

 1 yum groupinstall ‘Development Tools‘
 2 yum install zlib-devel bzip2-devel  openssl-devel ncurses-devel
 3
 4 wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
 5 tar -xf Python-3.5.1.tgz
 6 cd Python-3.5.1
 7 ./configure --prefix=/usr/local/python3.5.1
 8 make && make install
 9 ln -s /usr/local/python3.5.1/bin/python3 /usr/bin/python3

[[email protected] ~]# python3
Python 3.5.1 (default, May 10 2016, 15:36:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

三、 Python入门

3.1 Hello World

hello.py1 #!/usr/bin/env python
2 #-*-coding:utf-8-*-
3
4 print("Hello World!")

输出结果

[[email protected] ~]# python3 hello.py
Hello World!

3.2 变量\字符编码

所有引号内的内容都被认为字符串

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
    [‘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‘]
1 >>> name = "Dalong"
2 >>> name2 = name
3 >>> print(name,name2)
4 Dalong Dalong
5 >>> name = "Jack"
6 >>> print(name,name2)
7 Jack Dalong
8 >>> 

模块

练习1:输入用户密码,并打印结果 getpass模块

1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3
4 import getpass
5 username = input("username:")
6 password = getpass.getpass("password:")
7 print(username,password)

执行结果

[[email protected] ~]# python3 pass.py
username:dalong
password:
dalong 123456

练习2:if 判断用户名密码是否正确

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

user = ‘Dalong‘
passwd = ‘Dalong123‘

username = input("username:")
password = input("password:")

if user == username and passwd == password:
    print("Welcome login")
else:
    print("invalid username or password")

执行结果

[[email protected] ~]# python if_v2.py
username:dalong
password:123
invalid username or password
[[email protected] ~]# python if_v2.py
username:long
password:dalong123
invalid username or password
[[email protected] ~]# python if_v2.py
username:dalong
password:dalong123
Welcome login

练习3:猜数字

猜错3次提示是否继续

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

age = 22
counter = 0
for i in range(10):
    if counter <3:
        guess_num = int(input("Input your guess num:"))
        if guess_num == age :
            print("Congratulations!You got it.")
            break #不继续运行,跳出整个循环
        elif guess_num >age:
            print("Think Smaller!")
        else:
            print("Think Big!")
    else:
        continue_confirm = input("Do you want Y:")
        if continue_confirm == ‘y‘:
            counter = 0
            continue
        else:
            print("bye")
            break
    counter += 1  #counter = counter + 1

执行结果

Input your guess num:11
Think Big!
Input your guess num:33
Think Smaller!
Input your guess num:55
Think Smaller!
Do you want Y:y
Input your guess num:11
Think Big!
Input your guess num:33
Think Smaller!
Input your guess num:22
Congratulations!You got it.
时间: 2024-10-06 00:22:25

01_Python基础的相关文章

python基础1 - 多文件项目和代码规范

1. 多文件项目演练 开发 项目 就是开发一个 专门解决一个复杂业务功能的软件 通常每 一个项目 就具有一个 独立专属的目录,用于保存 所有和项目相关的文件 –  一个项目通常会包含 很多源文件 在 01_Python基础 项目中新建一个 hm_02_第2个Python程序.py 在 hm_02_第2个Python程序.py 文件中添加一句 print("hello") 点击右键执行 hm_02_第2个Python程序.py 提示 在 PyCharm 中,要想让哪一个 Python 程

python课件-淘宝-目录.txt

卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python课件-淘宝-目录.txt│ ├─01python核心编程阶段-linux基础(│ linux_html.rar│ vi_markdown.zip│ ├─02python核心编程阶段-python基础│ ├─代码│ │ 01_Python基础.zip│ │ 02_分支.zip│ │ 03_循环_01_基础.zip│ │ 03_循环_02_完整.zip│ │ 04_函数.zip│ │ 05_高级数

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

Java注解(1)-注解基础

注解(Annotation)是在JAVA5中开始引入的,它为在代码中添加信息提供了一种新的方式.注解在一定程度上把元数据与源代码文件结合在一起,正如许多成熟的框架(Spring)所做的那样.那么,注解到底可以做什么呢? 1.注解的作用. 提供用来完整地描述程序所需要的信息,如编译期校验程序信息. 生成描述符文件,或生成新类的定义. 减轻编写"样板"代码(配置文件)的负担,可以使用注解自动生成. 更加干净易读的代码. 编译期类型检查. 2.Java提供的注解 Java5内置了一些原生的注

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

【Linux系列】【基础版】第四章 Shell基础之正则表达式

4. Shell基础之正则表达式     4.1 正则就是一串有规律的字符串         4.1 grep              4.1.1 格式: grep [-cinrvABC] 'word' filename             4.1.2 -c //count,表示行数             4.1.3 -i //不区分大小写             4.1.4 -n  //显示行号             4.1.5 -r  //遍历所有子目录             4

NumPy基础:数组和失量计算

NumPy : Numerical Python,是高性能科学计算和数据分析的基础包. 部分功能: ndarray:一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组: 用于对整组数据进行快速运算的标准数学函数(无需编写循环): 用于读写磁盘数据的工具以及用于操作内存映射文件的工具: 线性代数.随机数生成以及傅里叶变换功能: 用于集成C.C++.Fortran等语言编写的代码工具: 大部分数据分析应用关注的功能: 用于

css基础

css绝对是一个能够写到爆炸的东西,so,机智的小北方才不会写各种css样式具体的效果,相比之下更推荐大家记一些常用的key,至于效果,每次用的时候百度下就可以了, css的作用是对符合条件的标签进行渲染,那么首先就要匹配到对应标签啦,我萌有三种基础的模式来匹配希望改变样式的标签 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8">

零基础的人该怎么学习JAVA

对于JAVA有所兴趣但又是零基础的人,该如何学习JAVA呢?对于想要学习开发技术的学子来说找到一个合适自己的培训机构是非常难的事情,在选择的过程中总是 因为这样或那样的问题让你犹豫不决,阻碍你前进的步伐,今天就让小编为您推荐培训机构新起之秀--乐橙谷Java培训机构,助力你成就好未来. 选择java培训就到乐橙谷 北京有什么好的Java培训机构?来乐橙谷北京学Java,零基础走起,乐橙谷Java基础班授课老师经验非常丰富,课程内容安排合理,适合于有一点点Java基础甚至一点都不会Java的同学学