介绍、基本语法、流程控制

 

Python介绍

在1989年12月时,吉多·范罗苏姆(Guido van Rossum)——龟叔 创立了Python。

Python发展史 

在1989年12月时,吉多·范罗苏姆(Guido van Rossum)——龟叔 创立了Python。

1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。


Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.
1999年 Python的web框架之祖——Zope 1发布
Python 2.0 - 2000/10/16,加入了内存回收机制,构成了现在Python语言框架的基础
Python 2.4 – 2004/11/30, 同年目前最流行的WEB框架Django 诞生
Python 2.5 - 2006/09/19
Python 2.6 - 2008/10/1
Python 2.7 - 2010/07/03  #目前业内主流使用的工业版本依然是2.7

Python 3.0 - 2008/12/03 
Python 3.1 - 2009/06/27
Python 3.2 - 2011/02/20
Python 3.3 - 2012/09/29
Python 3.4 - 2014/03/16
Python 3.5 - 2015/09/13

2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本,建议用户尽可能的迁移到3.4+

Python2 还是 Python3 ?

 py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。

 所有的最新的标准库的更新改进,只会在3.x的版本里出现。

 龟叔决定清理Python2.x ,并且不再兼容旧版本。 最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中(默认编码是ASSIC)直接写中文会报错,Python3中(默认编码是UNICODE)可以直接写中文了。

 从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。

 py3比py2更规范统一、去掉了没必要的关键字

 Python3.x还在持续改进

 所以我们还是推荐大家使用Python3.x。

命令行模式和Python交互模式

在Windows开始菜单选择“命令提示符”(或者开始(win+R)~~cmd),就进入到命令行模式,它的提示符类似C:>

在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>

在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:

 

也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python交互模式,但是输入exit()后窗口会直接关闭,不会回到命令行模式。

请注意区分命令行模式和Python交互模式。

Python交互模式的代码是输入一行,执行一行,把每一行Python代码的结果自动打印出来;

而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。执行一个.py文件只能在命令行模式执行。

可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境!

 第一个程序--Hello world

1.新建一个文本文件,里面写上要打印Hello world 的程序
2.打开电脑自带的命令行 :  开始--cmd
3.切换路径到你的文件所在的路径 cd c: (或者直接就 d:)
      cd=change directory(切换路径) 不切换也行
4.执行文件 执行程序所在路径以及执行程序名字(和后缀)+空格+(执行文件所在路径以及)文件名以及后缀
 

如上所示:1是执行程序(其所在路径可以不指明,因为我们安装程序的时候已经配置了环境变量,指明了该程序所在路径)

                 2是一个空格,在执行程序和所要执行的文件之间要有一个空格

                 3是执行文件及其所在路径,当命令行程序没有切换到所要执行的文件的路径的时候,这里就要明确指出其所在路径,当所在路径的某一个文件夹名称中包含空格时,就要用双引号括起来。

 

注意:

 

 变量

变量的作用: 用来保存数据,

为什么要保存? 后面要使用。

官方解释如下:

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.

变量: 变量就是用来存储一些信息,供程序以后调用或者操作修改。变量为标记数据提供了一种描述性的名字,以便我们的程序可以被程序的阅读者很清晰的理解。把变量作为一个存储信息的容器会更容易理解变量。它的主要是目的是笔记和存储在内存中的数据,这个数据就可以在你的整个程序中使用。

变量的命名规则:

  • 要具有描述性
  • 变量名只能是 字母、数字或下划线的任意组合,不可以是空格或特殊字符(#?<.,¥$*!~)
  • 变量名的第一个字符不能是数字
  • 区分大小写,不能以大写字母开头
    • 多个单词组合的方式命名变量的规则(以下两种方式均可,但是更推荐第一种):
             student_number = 30 #官方推荐
             studentNumber = 30 #驼峰体:第一个单词的首字母要小写,后面的单词的首字母大写

  • 关键字(保留字符)不能声明为变量名

    from keyword import kwlist  print(kwlist)

             ['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']

    约定俗成的一些规则:  变量名称应该有意义(即具有描述性)、不要用中文做变量名、不要使用拼音。

   另外在Python中所有的变量(包括常量)都是可以被修改的,所以用全部大写的变量名来代表此变量为常量(常量名字的单词所有字母都要大写)。

小问题:变量定义之后是存储在内存中的,那内存何时释放以及如何释放?
       Python有自己的内存回收机制,每隔一段时间就会把没有变量指向的变量值给清理掉(注意,内存回收机制清理的是变量值)。那没有变量指向的操作方法是什么呢?

字符编码

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

ASCII(美国)-> 7位,128个字符
ASCII(欧洲)-> 8位,256个字符

为了处理汉字,程序员设计了用于简体中文的GB2312(以及GBK 到GB18030)和用于繁体中文的big5。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号都由 16 位来表示(2个字节),即:2 **16 = 65536。
UTF-8(“可变长编码”),是对Unicode编码的压缩和优化,它不再使用2个字节,而是将所有的字符和符号进行分类编码成1-6个字节:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存(常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节)。

注释

  单行注视:# 被注释内容

  多行注释:''' 被注释内容 '''(三个单引号或者多引号都可以,但是要匹配)

 作用:
1. 避免自己忘了写的代码是做什么的
2. 写给人看的
3. 不要去注释你代码做了什么,而要去 注释 我的代码为什要这么做。

用户输入 

 1 death_age = 100
 2 
 3 name = input('your name is :')
 4 age = input('now your age is :') #input 接收的所有数据都是字符串,即便你输入的是数字,也会被当作字符串来处理。
 5 #print(type(age)) #age 应该是string类型的
 6 
 7 print('your name is',name )
 8 
 9 #print('you still can live for',str(death_age) - age,'years') #该行会报错
11 #str(death_age) - age:两个字符串只能相加(字符串的拼接),不能相减
12 print('you still can live for',death_age - int(age),'years') 
13 #都是int类型的数据(不能一个是int一个是string)才能进行四则运算(此处是减法运算);逗号隔开的是三个独立的数据
14 print('you still can live for '+ str(death_age - int(age)) +' years') #加号拼接的要求都是字符串

Python中获取用户输入的语句——input()或者input(‘请输入:’)

条件判断之if语句

1 age_of_prical = 56
2 age_guess = int(input('请输入你猜测的年龄:'))
3 
4 
5 if age_guess == age_of_prical:
6     print('yes,you got it!')#官方建议的缩进是四个空格,方便起见,我们可以把tab键设置成四个空格。
7 else: #注意此处也有冒号
8     print("no,it`s wrong!") #注意,内部有单引号的,要么在其前面加上转义符“",要么首尾用双引号括起来。 

注意:

  • 缩进——推荐四个空格 (使用2个、3个空格或者tab都是可以得)
  • 不要tab与空格混用
  • 不同软件对空格的显示逻辑总是一样的,但是对于tab却五花八门。
  • 有的软件把Tab展开成空格,有的不会展开。有的Tab宽度是4,有的宽度是8,

    这些不一致会使得代码混乱,尤其是靠缩进表示块结构的Python。

原文地址:https://www.cnblogs.com/lyfstorm/p/8678426.html