开发者社区> Hello_PM> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

python

简介:
+关注继续查看

Python的简介和环境的搭建

python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言

python在Linux中自带python,Python会安装在 /usr/local/bin目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号

在 Unix/Linux设置环境变量

在 cshshell: 输入
setenv PATH "$PATH:/usr/local/bin/python" , 按下"Enter"。

在 bash shell(Linux): 输入
export PATH="$PATH:/usr/local/bin/python" ,按下"Enter"。

在 sh 或者 kshshell: 输入
PATH="$PATH:/usr/local/bin/python" , 按下"Enter"。

注意: /usr/local/bin/python是Python的安装目录。

python的基本语法

交互式编程和脚本式编程

脚本式编程通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。

脚本式编程有两种方式一种式通过设置python编译器的PATH的变量,设置环境变量。另外一种是通过在脚本文件中添加#!/usr/bin/python在脚本中,python编译器在/usr/bin目录中

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。

#!/usr/bin/envpython这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。这种写法会去环境设置寻找python目录,推荐这种写法

Python标识符

在python里,标识符有字母、数字、下划线组成。

在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

python中的标识符是区分大小写的

以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"fromxxx import *"而导入;

以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

Python保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。

所有Python的关键字只包含小写字母。

and

exec

not

assert

finally

or

break

for

pass

class

from

print

continue

global

raise

def

if

return

del

import

try

elif

in

while

else

is

with

except

lambda

yield

行和缩进

学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

多行语句

Python语句中一般以新行作为为语句的结束符。

但是我们可以使用斜杠(\)将一行的语句分为多行显示,如下所示:

 total = item_one + \ 

        item_two + \

        item_three

语句中包含[],{} 或 () 括号就不需要使用多行连接符。如下实例:

 days = ['Monday', 'Tuesday', 'Wednesday',

        'Thursday', 'Friday']

Python注释

python中单行注释采用# 开头。

Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

等待用户输入

下面的程序在按回车键后就会等待用户输入:

#!/usr/bin/python

 

raw_input("\n\nPress the enter key to exit.")

以上代码中,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下键时,程序将退出

inputraw_input的区别

使用inputraw_input都可以读取控制台的输入,但是inputraw_input在处理数字时是有区别的

纯数字输入

当输入为纯数字时

   input返回的是数值类型,如int,float,相当于对raw_inpout进行计算后的结果

    raw_inpout返回的是字符串类型,string类型(无论输入的是数字或者字符或者其他,均被视为字符格式

输入字符串为表达式

input会计算在字符串中的数字表达式,而raw_input不会。

如输入 “57 + 3”:

    input会得到整数60

    raw_input会得到字符串”57 + 3

同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

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

我们将首行及后面的代码组称为一个子句(clause)。

命令行参数

很多程序可以执行一些操作来查看一些基本信,Python可以使用-h参数查看各参数帮助信息:

$ python -h 

usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... 

Options and arguments (and corresponding environment variables): 

-c cmd : program passed in as string (terminates option list) 

-d     : debug output from parser (also PYTHONDEBUG=x) 

-E     : ignore environment variables (such as PYTHONPATH) 

-h     : print this help message and exit

Python变量类型

变量存储在内存中的值,在创建变量是会在内存中开辟一个空间

Python中的变量不需要声明,变量在操作的时候即是变量的声明过程也是定义的过程

每一个变量在使用前必须被赋值,变量赋值该变量才会被创建。

变量赋值:  a = 100 b= 100.01 c="black"

多个变量赋值:a = b = c=1  b c=12.3"black"

标准数据类型

在内存中存储的数据可以有多种类型。

例如,person.s年龄作为一个数值存储和他或她的地址是字母数字字符存储。

Python有五个标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

Python数字

数字数据类型用于存储数值。

他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

当你指定一个值时,Number对象就会被创建:

var1 = 1

var2 = 10

您也可以使用del语句删除一些对象引用。

del语句的语法是:

您可以通过使用del语句删除单个或多个对象。例如:

del var

del var_a, var_b

Python支持四种不同的数值类型:

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])
  • float(浮点型)
  • complex(复数)
  • 长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆。Python使用"L"来显示长整型。
  • Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

Python字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 :s="a1a2a3···"

#!/usr/bin/python 

str = "Hello World!"

print str # 输出完整字符串

print str[0] # 输出字符串中的第一个字符

print str[2:5] # 输出字符串中第三个至第五个之间的字符串

print str[2:] # 输出从第三个字符开始的字符串

print str * 2 # 输出字符串两次

print str + "TEST" # 输出连接的字符串

./test.py

Hello World!

H

llo

llo World!

Hello World!Hello World!

Hello World!TEST

Python列表

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。

列表用[ ]标识。是python最通用的复合数据类型。看这段代码就明白。

列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:

#!/usr/bin/python

List = [ "abcd", 786 , 2.23, "john", 70.2 ]

tinylist = [123, "john"]

print List # 输出完整列表

print List[0] # 输出列表的第一个元素

print List[1:3] # 输出第二个至第三个的元素 

print List[2:] # 输出从第三个开始至列表末尾的所有元素

print tinylist * 2 # 输出列表两次

print List + tinylist # 打印组合的列表

以上实例输出结果:

["abcd", 786, 2.23, "john", 70.200000000000003]

abcd

[786, 2.23]

[2.23, "john", 70.200000000000003]

[123, "john", 123, "john"]

["abcd", 786, 2.23, "john", 70.200000000000003, 123, "john"]

Python元组

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。

#!/usr/bin/python

Tuple = ( "abcd", 786 , 2.23, "john", 70.2 )

tinytuple = (123, "john")

print Tuple # 输出完整元组

print Tuple[0] # 输出列表的第一个元素

print Tuple[1:3] # 输出第二个至第三个的元素 

print Tuple[2:] # 输出从第三个开始至列表末尾的所有元素

print tinytuple * 2 # 输出元组两次

print Tuple + tinytuple # 打印组合的元组

以上实例输出结果:

("abcd", 786, 2.23, "john", 70.2)

abcd

(786, 2.23)

(2.23, "john", 70.2)

(123, "john", 123, "john")

("abcd", 786, 2.23, "john", 70.2, 123, "john")

以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:

#!/usr/bin/python 

Tuple = ( "abcd", 786 , 2.23, "john", 70.2 )

List = [ "abcd", 786 , 2.23, "john", 70.2 ]

Tuple[2] = 1000 # 错误!元组中是非法应用

List[2] = 1000 # 正确!列表中是合法应用

Python元字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。

列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

#!/usr/bin/python

 

dict = {}

dict["one"] = "This is one"

dict[2] = "This is two"

 

tinydict = {"name": "john","code":6734, "dept": "sales"}

 

print dict["one"] # 输出键为"one" 的值

print dict[2] # 输出键为 2 的值

print tinydict # 输出完整的字典

print tinydict.keys() # 输出所有键

print tinydict.values() # 输出所有值

输出结果为:

This is one This is two {"dept": "sales", "code": 6734, "name": "john"} ["dept", "code", "name"] ["sales", 6734, "john"]

Python数据类型转换 同C语言和C++的类型转换

Visual studio 中或者 python shell 中运行在print后需要加()

Python运算符

Python语言支持以下类型的运算符:

测试实例中包含了一系列的成员 in、not in

运算符

描述

实例

in

如果在指定的序列中找到值返回True,否则返回False

 y序列中 , 如果xy序列中返回True

not in

如果在指定的序列中没有找到值返回True,否则返回False

不在 y序列中 , 如果x不在y序列中返回True

If (a in list):print(

Else print(没在)

身份运算符用于比较两个对象的存储单元 is、is not

运算符

描述

实例

is

is是判断两个标识符是不是引用自一个对象

x is y, 如果 id(x) 等于 id(y) , is 返回结果 1

is not

is not是判断两个标识符是不是引用自不同对象

x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
3
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载