目录(1)Python是什么?Python属性
(2)获取Python-一个Prelim选择Python版本
(3)如何获得Python?
(4)确认Python安装PythonShell
(5)语言基础变量
内置数据类型
评论意见
需要帮忙吗?
(6)用Python编写代码Redux
闲散
代码编辑器
(7)选择编码编辑器在代码编辑器中应该寻找什么?
我应该用哪个编辑?
(8)数到10让我们制定一个计划(伪代码!)
(9)错误和例外语法错误
例外
语义错误
(10)Python的功能--包/模块PIP
(11)测试你的知识
(1)Python是什么?
Python,以英国喜剧团体MontyPython的名字命名,是一种解释性、交互性、面向对象的编程语言.它的灵活性使它能够做许多事情,无论大小。Python可以用来编写简单的程序,但它也拥有创建复杂的、大规模的企业解决方案所需的全部功能。Python的一些使用方式包括:桌面图形应用程序开发,包括游戏;
对数据进行数学和科学分析;
网络与互联网的发展。
Python在计算机编程领域随处可见。例如,Python在地球上一些最大的网站上使用,举几个例子:Reddit,Dropbox和YouTube 流行的PythonWeb框架Django同时支持Instagram和Pinterest。卢卡斯电影公司的获奖视觉特效公司,工业光和魔术,都是使用Python。
很容易忘记Python有多么强大,因为它非常容易学习。
Python属性
Python是…强输出。它强制数据类型,因此您不能连接字符串和整数
动态, 隐式输出。因此,不必显式声明变量数据类型。数据类型在运行时强制执行。
大小写敏感 :例如, token 和 TOKEN 是两个不同的变量。
面向对象. 一切都是物体.
(2)安装Python
Python是免费的开源在Linux、Mac、Windows和其他各种平台上工作的软件(总共21个)。它是预装在Mac和大多数Linux发行版上的;但是,可能需要下载最新版本
要检查您的版本,请打开终端并运行以下命令:
python -V
选择Python版本
对于新的和经验丰富的程序员来说,在决定Python 2或3之间时都会感到困惑。幸运的是,两者之间的语法差异很小,您可以在您的计算机上运行这两个版本。
目前,Python-2.x和3.x有两个主要版本。
哪个版本适合你?那就看你了。老实说,在这个早期阶段,两者之间几乎没有什么不同,所以这两种选择都足够了。另外,一旦你学会了一个,学习另一个并不困难。
一般来说,如果您刚刚开始学习Python,那么就使用3.6x,因为它是一个更好的版本,因为它添加了一些特性以及大量的bug修复和改进。然而,2.7x拥有更多来自第三方库的支持。
(3)如何安装Python
无论您的操作系统是什么,您都可以从官网进行下载
操作系统专用指令:Mac :我强烈建议使用自制安装和管理不同版本的Python。
linux :同样,Python包含在各种版本的Linux中,请确保使用包管理器升级到最新版本。
Windows :直接下载安装 安装教程:Python安装和使用
(4)确认Python安装
让我们快速检查一下是否正确安装了Python。
PythonShell
打开PythonInteractiveShell:Mac:打开终端并运行:Python或python3,取决于您的安装。
linux:打开终端并运行:Python
Windows:如果只安装了一个版本的Python,只需运行Python。如果同时安装了Python2.7和Python3,请运行Python用于Python 2.7和/或py -3用于Python 3。
交互式PythonShell应该打开,您的命令提示符或终端窗口应该类似于以下内容:
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>>
最好运行您的第一行代码…
Python 2:
>>> print "Python is fun!"
Python 3:
>>> print("Python is fun!")如果您正在运行Python2.x,则print命令是一个语句,而不是Python3.x中的一个函数。
你应该看到:
Python is fun!
仅此而已:您刚刚编写了您的第一个Python程序!每次输入一行时,Python都会立即执行语句,显示引号之间的值。
一旦完成,您可以使用exit()离开PythonShell。或:Mac和Linux用户: Ctrl+D然后按Enter
Windows用户: Ctrl+D然后按Enter
(5)语言基础
在本节中,我们将介绍Python编码原语--变量、内置数据类型、注释、语法和语义。
变量
变量是容器数据。声明它们的语法是:variable_name = variable_value。尽管您可以任意命名变量(除了几个变量)保留关键词),你应使用有直觉意义的命名方案。变量名应就分配给它的值提供一些指示。
例如,许多新的编程器使用简单的变量名,如x和y。不要这样做。相反,如果你有两个数字-比如说1和52-使用变量名称num1和num2而不是x和y
命名规则以及含义:我终于把Python中下划线的含义弄清楚了(憋了很久了)
内置数据类型
Python许多内置数据类型。例如数字(整数、浮点数、复数)、字符串、列表、元组和字典。
可以使用以下方法对每一项操作进行操作:操作者
功能
数据类型方法一定要和我一起把每个例子都打出来。
数字
数字可以是整数、浮点数、布尔值或复数。前三项是最重要的:整数是整数-1, 2, 22, 476, -99999
浮标有小数点-1.0, 2.22, 22.098, 476.1, -99999.9
布尔人True或False(或1或0)。它们代表的数据只能是一件或另一件事。
操纵数
它们是加法(或级联)和减法,就像在小学学到的一样。
>>> 2 + 3
5
>>> num1 = 10
>>> num2 = 9.99
>>> num3 = num1 + num2
>>> num3
19.990000000000002
>>> 8 - 5
3
>>> 2 * 6
12
>>> 12 / 3
4.0
>>> 7 % 3
1
>>> 3 ** 2 # 上升到幂
9
让我们看看比较,这是计算布尔值-例如True或False(或1或0).
>>> 2 < 5
True
>>> 4 > 10
False
>>> 3 >= 3
True
>>>
>>> 5 == 6
False
>>> 6 != 9
True
功能
Python为您提供了许多内置的功能用来操纵整数。请注意:这些功能可用于任何数据类型。Python标准库中也有许多可用的模块,例如math。要使用与这些模块相关的函数,首先必须导入该模块。稍后再说这个。现在,让我们看几个内置函数的例子。
float()-给定一个整数,此函数将返回一个浮点数。
>>> float(9)
9.0
>>> float(-99999)
-99999.0
int()-给定一个浮点数,这个函数返回一个整数。此函数不会将输入(上限)舍入到最近的整数--因此10.6的输入返回10,而不是11。类似地,3.25返回3。
>>> int(10.6)
10
>>> int(3.25)
3
数据类型方法
除了功能,还有一些数据类型方法与每种类型的数字相关联。
float.is_integer()-测试浮子是否是有限的。
>>> (10.0).is_integer()
True
>>> (10.1).is_integer()
False
字符串是用单引号或双引号声明的文本行:
>>> simple_string = "hey!"
>>> simple_string
'hey!'
>>> "hello world!"
'hello world!'
>>> escaped = 'can\'t'
>>> escaped
"can't"
>>> not_escaped = "can't"
>>> not_escaped
"can't"
操纵字符串 详解
就像数字一样,你可以字符串连接:
>>> "happy" + " " + "birthday"
'happy birthday'
>>> "my name is " + "john"
'my name is john'
功能
我们来看看几个功能用于字符串操作:
len()-给定一个字符串,此函数将返回它的长度。
>>> len(name_string)
15
slice()-给定起始值和停止值,可以访问一组字符或单个字符。
>>> print("Hello"[2])
l
>>> print("Hello"[3])
l
>>> print("Hello"[0])
H
>>> print("Hello"[0:2])
He
数据类型方法
虽然我们只涉及几个数据类型的方法,但是一定要完整的了解。
string.capitalize()-返回第一个字母大写的字符串。
>>> lower_case_string = "michael"
>>> lower_case_string.capitalize()
'Michael'
>>> ("empire").capitalize()
'Empire'
string.format()-您可以轻松地将值格式化为字符串。
>>> name = "John Doe"
>>> greeting = "My name is {}".format(name)
>>> greeting
'My name is John Doe'
>>>
string.strip()-返回带前导空格和尾随空格的字符串。
>>> are_you_happy = " Yes "
>>> are_you_happy.strip()
'Yes'
列表 详解
列表(在几乎所有其他编程语言中称为数组)将各种类型的数据组合在一起。create_a_list = []
numbers_list = [1, 2, 3]
strings_list = ["spam", "eggs", "cheese"]
mixed_list = ["Hello", [1, 2, 3], False]
正如您在上面看到的,列表可能包含任何数据类型,包括其他列表或根本不包含任何数据类型。您可以访问列表的部分,就像索引字符串一样。语法相同:
>>> create_a_list = []>>> create_a_list[]>>> numbers_list = [1, 2, 3, 200]>>> numbers_list[1, 2, 3, 200]>>> strings_list = ["batman", "superman", "iron man"]>>> strings_list['batman', 'superman', 'iron man']>>> mixed_list = ["Hello World", [4, 5, 6], False]>>> mixed_list['Hello World', [4, 5, 6], False]
您可以从列表的开头或结尾访问列表中的元素:
>>> numbers_list[0]
1
>>> numbers_list[0:1]
[1]
>>> numbers_list[0:2]
[1, 2]
看看如何通过访问元素创建一个新列表:
>>>
>>> numbers_list = [1, 2, 3, 200]
>>> new_list = numbers_list[0:3]
>>> new_list
[1, 2, 3]
负索引从上一项开始向后计算:
>>> strings_list = ["batman", "superman", "iron man"]>>> strings_list[-1]'iron man'
如果将列表嵌套在另一个列表中,则可以使用多个索引访问内部列表
>>> mixed_list = ["Hello World", [4, 5, 6], False]>>> mixed_list[1][2]6
操纵列表
列表可以连在一起:
>>> fruits = ["apples", "grapes", "oranges"]>>> veggies = ["corn", "kale", "mushrooms"]>>> grocery_list = fruits + veggies>>> grocery_list['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']
功能
通常,您可以将列表看作字符串--只有每一块数据都是一个元素。那么,您在字符串上使用的相同函数可以用于列表。
len()-给定一个列表,此函数将返回其长度。
>>> numbers_list = [1, 2, 3, 200]
>>> len(numbers_list)
4
slice()-给定一个开始值和停止值,您可以访问一组元素。
>>>
>>> hello = ["H", "e", "l", "l", "o"]
>>> hello[2]
'l'
>>> hello[3]
'l'
>>> hello[0]
'H'
>>> hello[0:2]
['H', 'e']
数据类型方法
看看其他列表方法。
list.append()-用于将项目添加到列表末尾
>>> fruits = ["apples", "grapes", "oranges"]>>> fruits.append("blueberries")>>> fruits['apples', 'grapes', 'oranges', 'blueberries']
list.sort()-对这份清单进行排序
>>> fruits.sort()>>> fruits['apples', 'blueberries', 'grapes', 'oranges']
list.pop()-给定索引值,从列表中删除元素
>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list.pop(2)
3
>>> numbers_list
[1, 2, 200]
元组 详解
元组类似于列表,但它们是不可变的--这意味着它们在创建后不能更改。
my_tuple = ("Michael", "Herman", 31, "Software Developer")
就像列表一样,您也可以使用索引访问不同的元素:
>>> my_tuple = ("Michael", "Herman", 31, "Software Developer")>>> my_tuple[1]'Herman'元组通常用于字典键,因为它们是不可变的。
操纵元组
您可以添加两个元组:
>>> first_tuple = (1, 2)>>> second_tuple = (3, 4)>>> third_tuple = first_tuple + second_tuple>>> third_tuple(1, 2, 3, 4)
功能
list()-用于将元组转换为列表
>>> first_tuple = (1, 2)
>>> list(first_tuple)
[1, 2]如何将列表转换为元组
数据类型方法
因为元组是不可变的,所以许多列表方法不要用元组。
>>> first_tuple = (1, 2)>>> first_tuple.append(3)Traceback (most recent call last): File "", line 1, in AttributeError: 'tuple' object has no attribute 'append'>>> first_tuple.pop(1)Traceback (most recent call last): File "", line 1, in AttributeError: 'tuple' object has no attribute 'pop'>>> first_tuple.sort()Traceback (most recent call last): File "", line 1, in AttributeError: 'tuple' object has no attribute 'sort'>>> first_tuple.reverse()Traceback (most recent call last): File "", line 1, in AttributeError: 'tuple' object has no attribute 'reverse'
字典 详解
字典是使用包含键/值对的哈希表实现的关联数组(对象)的一种类型。
my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
可以使用以下语法返回键的值:
>>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}>>> my_dict["name"]'michael herman'>>> my_dict["Key 1"]'Value 1'
(6)用Python编写代码
在Python中有三种基本的编码方法。我们已经使用了其中之一--交互式PythonShell
代码编辑器
最好的方法是使用实际的编码编辑器。有些人更喜欢 IDE,但是一个简单得多的代码编辑器对于学习来说要好得多。为什么?当你在学习一些新的东西时,你想尽可能多地剥离复杂的层次。简化事情。通过在混合环境中添加一个复杂的IDE(您将不得不学习如何操作),您只是添加了越来越多的层,使得学习Python的任务更加困难。
(7)选择编码编辑器
Python程序的基本形式是将文本(代码)保存在带有.py文件扩展名。Python代码可以用像记事本这样的基本代码编写--但是没有理由让自己经历这样的磨难,因为有更好的选择可供选择。在它的核心部分,代码编辑器应该提供一些特性来帮助程序员创建程序(在我们的例子中,Python脚本和模块)。在大多数情况下,代码编辑器允许用户自定义程序本身,以满足您的需要和样式。
在代码编辑器中应该寻找什么?易用性
语法高亮
自动压痕
条形视图
线路编号
能够自定义编辑器的外观和感觉
外接程序的可用性
请看以下示例:
因此,代码在编辑器中更容易阅读,还识别了三个简单的错误,其中一个是显示停止。
(8)数到10
准备好开始一个基本的例子了吗?!
如果你是编程新手,你可能不会。充分理解代码,但重要的是这些概念。Python被设计成非常容易阅读,这个例子演示了这个原则。我们将修复上面被破坏的代码,并再添加一个代码块来强调代码块和缩进的概念。
许多程序员在最初处理问题时会不知所措。一个有效的方法来帮助解决问题,无论大小,是逻辑上把问题分成几个部分。
例如,让我们编写一个计算从1到10的基本程序。每次计数递增时,我们都想显示一个新的数字,为了帮助实现代码块的概念,我们将展示在我们到达10之后会发生什么。帮助开发工作流的一种方法是使用伪代码。
让我们制定一个计划(伪代码!)
不要复制和粘贴,无论它是多么诱人。这样做会妨碍学习。
Python 2.7:
# Python 2.7
count = 1
# Code block 1
while count < 11:
print count
count = count + 1
# Code block 2
if count == 11:
print 'Counting complete.'
Python 3:
# Python 3
count = 1
# Code block 1
while count < 11:
print(count)
count = count + 1
# Code block 2
if count == 11:
print('Counting complete.')
注意,每个示例的第一行都有一个#(散列字符),后面是空格,然后是解释。
最后,在执行代码时,Python会忽略注释。
你有没有注意到这些例子同时使用了=,双倍==?这可能会让人困惑。表达count = 1,=将1的值赋值给名为count.
在条件中if count == 11:,==比较count带着11,返回布尔值。True或False
将文件保存为数到您创建的文件夹中,然后退出编辑器。打开终端或命令提示符,进入到您创建的文件夹。
现在运行代码:python count_ten.py你可能需要替换python带着python3或py -3取决于你的设置。
输出应该如下所示:
恭喜你!你刚刚写了你的第一个程序。
(9)错误和例外
语法错误
我们已经看到了这个错误--不正确的缩进。语法错误将阻止程序的执行。在本例中,if语句缺少一个冒号以结束该语句。Python非常有助于指出错误:
>>>
>>> if x < 9
File "", line 1
if x < 9
^
SyntaxError: invalid syntax
例外
程序执行过程中会出现异常错误。Python有许多内置的例外。例如:
>>> 12/0Traceback (most recent call last): File "", line 1, in ZeroDivisionError: integer division or modulo by zero
语义错误
语义错误是由于逻辑中的一个或多个问题而产生的错误。
这些错误可能更复杂,因为没有生成错误。代码运行,生成意外和或不能正确的输出,或没有输出。
(10)Python的功能--包/模块
Python最大的优点之一是有大量可用的模块,它们都内置在Python核心和第三方包/库-用来扩展语言。这些模块可能非常有用。一些使用较多的内置Python模块包括:数学:C标准库中的数学函数(您已经看到了这个)
随机*伪随机数发生器
日期时间*用于操纵日期和时间
Re*用于使用正则表达式
例如,这里我们import math使用pi, sqrt和pow:
警告::不要将您的Python文件命名为类似模块的文件。math.py或random.py。这将导致冲突,导致代码中的意外行为。
PIP
管理Python的第三方包/模块的最佳方法是PIP。新的编码器在执行某些示例代码时经常会看到以下错误:ImportError: No module named MODULE_XXXX.
这些模块需要使用Pip手动安装。在Python 3中,pip,调用PIP 3。
(11)测试你的知识Python是一种强大的、动态类型的语言,这意味着什么?
如何访问PythonShell?
如何声明变量?
变量名和变量值之间有什么区别?
Python的内置数据类型是什么?
整数和浮点数有什么区别?
什么是布尔值?
是什么 %
列表和元组有什么区别?
什么是字典?
为什么要在代码中使用注释?
测试 help() 功能
float到dir()功能
None。它代表什么?
属性检查变量或值的数据类型,type()功能。
打开文本编辑器并创建一个名为exercise.py。复制并粘贴以下代码到文件中:############################################################################ Modify the variables so that all of the statements evaluate to True. ############################################################################
var1 =var6 =var2 =var3 =var4 =var5 =
############################################## Don't edit anything below this comment ##############################################
# integersprint(type(var1) is int)print(type(var6) is float)print(var1 < 35)print(var1 <= var6)
# stringsprint(type(var2) is str)print(var2[5] == 'n' and var2[0] == "p")
# listsprint(type(var3) is list)print(len(var3) == 5)
# tuplesprint(type(var4) is tuple)print(var4[2] == "Hello, Python!")
# dictionariesprint(type(var5) is dict)print("happy" in var5)print(7 in var5.values())print(var5.get("egg") == "salad")print(len(var5) == 3)var5["tuna"] = "fish"print(len(var5) == 3)
按照说明完成代码。完成后,从终端运行代码,使用python exercise.py命令。