Python3的基本使用(1)

1、Python3.0的基本介绍

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。

 

1.1、python的特点

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

 其他特点:

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 2.易于阅读:Python代码定义的更清晰。

  • 3.易于维护:Python的成功在于它的源代码是相当容易维护的。

  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

  • 8.数据库:Python提供所有主要的商业数据库的接口。

  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。

  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

 

1.2、python的发展历史

Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。

Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。

Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。为了照顾现有程式,Python 2.6 作为一个过渡版本,基本使用了 Python 2.x 的语法和库,同时考虑了向 Python 3.0 的迁移,允许使用部分 Python 3.0 的语法与函数。

Python 的 3​​.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下相容。许多针对早期 Python 版本设计的程式都无法在 Python 3.0 上正常执行。

Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。Python 2.7 被确定为最后一个 Python 2.x 版本。

新的 Python 程式建议使用 Python 3.0 版本的语法。除非执行环境无法安装 Python 3.0 或者程式本身使用了不支援 Python 3.0 的第三方库。目前不支持 Python 3.0 的第三方库有 Twisted, py2exe, PIL等。大多数第三方库都正在努力地相容 Python 3.0 版本。即使无法立即使用 Python 3.0,也建议编写相容 Python 3.0 版本的程式,然后使用 Python 2.6, Python 2.7 来执行。

 

1.3、python的安装

window上安装Python可以参考:http://c.biancheng.net/view/4161.html

提供一个 win64 位 Python3.7.1 的下载路径:链接:https://pan.baidu.com/s/1cws2_Ip6wSYr-jCiI6tzhQ   提取码:ynbv

安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。当我们并安装好Python 后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器。

 

检验 python 是否安装成功,在CMD命令行窗口中直接输入 python,如果有输出版本信息则证明安装成功:

查看 python 的版本:python -V

 

1.4、运行一个Python文件

Python文件以 .py 为后缀名,在安装完 Python 后,想运行一个Python文件可以直接在命令行中输入:python 文件名.py。由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。

当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常会在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,但是在Windows系统会忽略这个注释。第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,我们必须要确保自己使用的文本编辑器使用的是UTF-8 without BOM编码。

 

2、基本语法

Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:

# print absolute value of an integer:
a = 100
if a >= 0:
    print(a)
else:
    print(-a)

当语句以冒号:结尾时,缩进的语句视为代码块。没有规定缩进是几个空格还是Tab,但建议使用四个空格。

Python 程序对大小写敏感,如果写错了大小写,程序会报错。

 

2.1、设置编码

默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

# -*- coding: cp-1252 -*-       

上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白罗斯语、马其顿语、俄语、塞尔维亚语。

 

2.2、输入和输出(input()、print())

input() 函数可以拿到用户的输入信息,该函数返回的是用户输入的信息,并且是字符串类型。可以用 input('请输入信息:') 来给用户输入做提示。

#输出字符串
print('hello, world')

#让用户输入字符串,并存放到name变量里
name = input()    #获取用户的输入
print(name)       #输出用户的输入

 

2.3、注释(#)

Python 用 # 作为单行注释语句:

# 这里是注释语句

多行注释可以用多个 # 号,或者 ''' 和 """:

#!/usr/bin/python3
 
# 第一个注释
# 第二个注释
 
'''
第三注释
第四注释
'''
 
"""
第五注释
第六注释
"""

print ("Hello, Python!")

 

2.4、缩进将视为代码块

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。当Python语句以冒号:结尾时,后面所有缩进的语句都将被视为代码块,而不缩进的语句将视为不属于该代码块的内容。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,否则将运行报错。实例如下:

a = 100
if a >= 0:
    print('a1')
    print('a2')
else:
    print('-a1')
print('-a2')

上面将依次输出:a1、a2、-a2。可以知道,Python认为a1和a2是同一代码块内的内容,而-a2和-a1并不是同一代码块的内容,-a2语句已经是新的语句。

同一个代码块的语句必须包含相同的缩进空格数,否则将运行报错:

if True:
    print("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,运行代码将直接报错

缩进相同的一组语句构成一个代码块,我们也称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

 

2.5、多行语句(\)

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

 

2.6、逻辑运算符(and、or、not)

Python语言的逻辑运算符为 and(且)、or(或)、not(否)。

以下假设变量 a 为 10, b为 20:

 

2.7、成员运算符(in、not in)

Python支持成员运算符in、not in,用来判断某元素是否存在于序列(字符串、列表、集合、元组、字典)中:

#!/usr/bin/python3
 
#下面将依次输出  不在  不在  在
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
 
if ( a in list ):
   print ("")
else:
   print ("不在")
 
if ( b not in list ):
   print ("不在")
else:
   print ("")
 
# 修改变量 a 的值
a = 2
if ( a in list ):
   print ("")
else:
   print ("不在)

 

2.8、身份运算符(is、is not)

身份运算符用于比较两个对象的存储单元,主要用于判断两个变量是否引用自同一个对象。

 

id() 函数用于获取对象内存地址。

#!/usr/bin/python3

#下面将依次输出:是 不是 

a = 20
b = 20
 
if ( a is b ):
   print ("")
else:
   print ("不是")
 
# 修改变量 b 的值
b = 30
if ( a is not b ):
   print ("不是")
else:
   print ("")

is 与 == 区别:is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。不同对象内存空间不同,相同的值的数字的内存空间是一样的。

3、变量

变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:

a = 1
t_001 = 'T001'
Answer = True

在Python中,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,并且可以是不同类型的变量,例如:

a = 123 # a是整数
print(a)
a = 'ABC' # a变为字符串
print(a)

Python是动态语言,变量类型不固定。与之对应的是静态语言,静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错,例如Java语言。

 

在 python 中,类型属于对象,变量是没有类型的:

a=[1,2,3]

a="Runoob"

以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。

 

Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这些语句内定义的变量,外部也可以访问。如下代码:

>>> if True:
...  msg = 'I am from Runoob'
... 
>>> msg
'I am from Runoob'
>>> 

实例中 msg 变量定义在 if 语句块中,但外部还是可以访问的。如果将 msg 定义在函数中,则它就是局部变量,外部不能访问。

 

4、常量

在Python中,通常用全部大写的变量名表示常量,例如:

PI = 3.14159265359

但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

 

5、条件判断

Python 将缩进的语句视为一个代码块。

下面代码中,elifelse if的缩写。注意不要少写了冒号:

age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

 

6、循环(for in、while)

Python的循环有两种,一种是for...in循环,另外一种循环是while循环。循环语句可以还有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。

6.1、for in 循环

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

else 语句:

#!/usr/bin/python3

#下面依次输出 baidu  捕获Runoob  完成循环

sites = ["Baidu","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("捕获Runoob")
        break
    print(site)
else:
    print("else--循环结束")
print("完成循环")

 

6.2、while 循环

另外一种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

在 while 循环里还可以使用 else 语句,在条件语句不满足 while 后面的判断时执行 else 的语句块:

#!/usr/bin/python3
 
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

 

6.3、break 和 continue

continue语句可以跳过当前的这次循环,直接开始下一次循环。break语句可以提前结束循环。

n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)


n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

 

7、pass语句

Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

class MyEmptyClass:
     pass

 

posted @ 2020-09-04 00:00  wenxuehai  阅读(427)  评论(0编辑  收藏  举报
//右下角添加目录