python_way ,day1 基础及流程控制

本节内容:

1,Python介绍发展史

2,安装

3,Hello World

4,程序

5,变量,字符编码

6,用户输入

7,模块初识

一、python介绍

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

最新的TIOBE排行榜,Python赶超PHP占据第五, 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完成各种各样的任务。

为什么是Python而不是其他语言?

C 和 Python、Java、C#等

C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

Python 和 C  Python这门语言是由C开发而来

  对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
  对于速度:Python的运行速度相较与C,绝逼是慢了

Python 和 Java、C#等

  对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
  对于速度:Python在速度上可能稍显逊色

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。

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 ..

四、Python安装

windows

1、下载安装包

    https://www.python.org/downloads/

2、安装

    默认安装路径:C:\python27

3、配置环境变量

    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】

    如:原来的值;C:\python27,切记前面有分号

linux

无需安装,原装Python环境  ps:如果自带2.6,请更新至2.7,并安装3.0版本

五、变量\字符编码  

Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.

声明变量


1

2

3

#_*_coding:utf-8_*_

name = "Alex Li"

上述代码声明了一个变量,变量名为: name,变量name的值为:"Alex Li" 

变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名
      [‘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

2

3

4

5

6

7

8

name = "Alex Li"

name2 = name

print(name,name2)

name = "Jack"

print("What is the value of name2 now?")

字符编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

报错:ascii码无法表示中文

报错:ascii码无法表示中文


1

2

3

#!/usr/bin/env python

 

print "你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:


1

2

3

4

#!/usr/bin/env python

# -*- coding: utf-8 -*-

 

print "你好,世界"

注释

  当行注视:# 被注释内容

  多行注释:""" 被注释内容 """

六、用户输入 


1

2

3

4

5

6

7

#!/usr/bin/env python

#_*_coding:utf-8_*_

#name = raw_input("What is your name?") #only on python 2.x

name = input("What is your name?")

print("Hello " + name )

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:


1

2

3

4

5

6

7

8

9

10

#!/usr/bin/env python

# -*- coding: utf-8 -*-

 

import getpass

 

# 将用户输入的内容赋值给 name 变量

pwd = getpass.getpass("请输入密码:")

 

# 打印输入的内容

print(pwd)

八、模块初识  

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。

sys


1

2

3

4

5

6

7

8

9

10

11

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

print(sys.argv)

#输出

$ python test.py helo world

[‘test.py‘‘helo‘‘world‘]  #把执行脚本时传递的参数获取到了

  

os


1

2

3

4

5

6

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os

os.system("df -h"#调用系统命令

完全结合一下  


1

2

3

import os,sys

os.system(‘‘.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行

自己写个模块

python tab补全模块

for linux 

 #!/usr/bin/env python
 2 # python startup file
 3 import sys
 4 import readline
 5 import rlcompleter
 6 import atexit
 7 import os
 8 # tab completion
 9 readline.parse_and_bind(‘tab: complete‘)
10 # history file
11 histfile = os.path.join(os.environ[‘HOME‘], ‘.pythonhistory‘)
12 try:
13     readline.read_history_file(histfile)
14 except IOError:
15     pass
16 atexit.register(readline.write_history_file, histfile)
17 del os, histfile, readline, rlcompleter

for mac

  

1 import sys
2 import readline
3 import rlcompleter
4
5 if sys.platform == ‘darwin‘ and sys.version_info[0] == 2:
6     readline.parse_and_bind("bind ^I rl_complete")
7 else:
8     readline.parse_and_bind("tab: complete")  # linux and python3 on mac
时间: 2024-11-29 09:10:03

python_way ,day1 基础及流程控制的相关文章

2.6-Java语言基础(程序流程控制)

判断结构 选择结构 循环结构 2.6.1  判断结构 if语句 三种格式: 1.  if(条件表达式) { 执行语句: } 2.  if(条件表达式) { 执行语句: } else { 执行语句: } 3. if(条件表达式) { 执行语句: } else if (条件表达式) { 执行语句: } -- else { 执行语句: } if语句特点: a,每一种格式都是单条语句. b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现.好处是:可以写在其他表达式中. c,条件表达式无论写成什

Python基础-Python流程控制

上篇文章 Python基础-基础使用 我们已经知道了Python解释器,Python的变量.和Python的输入输出.Python的注释和字符集,这篇文章,我们主要讲Python的流程控制 本文防盗链:http://python789.blog.51cto.com Python基础-Python流程控制 1.条件判断 1.1.if基本使用 if就是一个条件判断的,当满足不同样的条件的时候执行不同的操作,如法如下: if 条件1:     满足条件1 代码框 elif 添加2:     满足条件2

python基础之流程控制

python流程控制 python的流程控制跟大多数的语言一样,包括if条件语句.for循环语句.while循环语句:跳出循环continue,break等 写在前面 python中的运算 1)算数运算 以下假设变量:a=10,b=20: 2)比较运算 3)赋值运算 4)位运算 以下假设变量:a=60,b=13,对应二进制为a=0011 1100:b=0000 1101: 5)逻辑运算 Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 6)成员运算,身份运算 除了以上的

java编程入门6 java语言基础与流程控制

语言基础 基本数据类型 1.整数类型 1)不能以0作为十进制数的开头(0除外) 2)八进制必须以0开头 3)十六进制必须以0X或0x开头 4)整型数据类型根据它所占内存大小的不同,可分为byte.short.int和long4中类型 数据类型 内存空间(8位比特位等于1字节) 取值范围 byte 8位 -2^7~2^7-1 short 16位 -2^15~2^15-1 int 32位 -2^31~2^31-1 long 64位 -2^63~2^63-1 5)若赋给的值大于int型的最大值或小于i

Python基础--if流程控制与循环

流程控制之if...else 既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了.对于逻辑运算,即人根据外部条件的变化而做出不同的反映. ###Python定义了缩进的机制.使用流程控制或循环时需要在执行语句前面缩进4个空格. if...else格式: if 条件: 执行语句 else: 执行语句 例如:判断日期,如果是周日则打游戏,不是周日则上班睡觉. date='Monday

python开发基础:流程控制

1 #!/bin/env/python 2 #_*_coding:utf-8_*_ 3 4 5 ''' 6 四,流程控制 7 如果我们想让程序判断处理哪条岔路是你真正要走的路的时候? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件, 8 就走哪条岔路.这个过程就叫流程控制. 9 10 ''' 11 # 4.1 if..else 语句 12 #单分支If语句 13 oldboy = 56 14 if oldboy > 50 : 15 print("满足条件后要执行的代码!"

C#基础知识-流程控制的应用(四)

流程控制我们在编程中运用到的地方非常的多,在上篇中仅仅只是简单的介绍每一种的使用,并没有运用到实例中,很难去理解它真正的作用.下面我们将实际的运用流程控制的代码写一些实例相关的程序,加深对流程控制的理解,并讲解一下异常处理以及断点调试的使用. 第一个实例我们使用switch语句来写一个大家在QQ或者微信中有玩过的输入你的名字,看看你上辈子是什么?下面是最终的一个结果: 上面的例子是不是很像我们在手机上分享过的呢?我们来思考一下这个流程,输入名字- 系统生成随机数 - 名字+随机数输出的文字 思考

Java基础—Java流程控制

IsCoder 标记: Java选择结构,Java循环结构 Java流程控制 运算符 隐式与显式转换 选择结构 循环结构 循环结束控制 一.Java运算符 1.1 基本运算符 基本运算符,包括四则运算符:加/减/乘/除.另外包括,取余运算符%. 1.2 复合运算符 复合运算符,是基本运算符与赋值运算符结合的运算符.包括:+=,-=,*=,/+,%=,值得指出的一点是,复合运算符隐含强制类型转换. 1.3 逻辑运算符 逻辑运算符包括6个运算符,逻辑与&,逻辑或|,逻辑非!,逻辑异或^,双与&

JAVA语法基础之流程控制

在进行程序设计的时候,我们会经常进行逻辑判断,根据不同的结果做不同的事,或者重复做某件事,我们对类似这样的工作称为流程控制.在Java中,流程控制分为两大类:选择和循环.下面就依次来介绍这两类. 一.选择 选择控制分为两种:if...else...和switch 1.if...else...,这种控制在表现上分为:单分支结构.双分支结构和多分支结构 1)单分支 单分支结构.这是最简单的一种选择结构,它只是简单的判断某个条件是否成立,如果成立就执行一段代码,语句形式为: if(表达式){ ....