python基础语法(1)

时间:2022-05-07
本文章向大家介绍python基础语法(1),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

从今天起,将进行python的一个系列学习,从基本的语法学起,后期会推出一些关于web开发,网络爬虫以及用python的第三方库进行数据挖掘与机器学习等高级的开发应用,敬起期待~欢迎转发

Python的特点

  1. 简单

    Python是一种代表简单思想的语言。

  2. 易学

    Python有极其简单的语法。

  3. 免费、开源

    Python是FLOSS(自由/开放源码软件)之一。

  4. 高层语言

    使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。

  5. 可移植性

    Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、

  BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、

  Windows CE甚至还有PocketPC。

  6. 解释性

    可以直接从源代码运行。在计算机内部,python解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。

  7. 面向对象

    Python既支持面向过程编程也支持面向对象编程。

  8. 可扩展性

    部分程序可以使用其他语言编写,如c/c++。

  9. 可嵌入型

    可以把Python嵌入到c/c++程序中,从而提供脚本功能。

  10. 丰富的库

    Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、

  电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

---------------分割线------------------------以下是Python的基本语法---------------------------------------------------------

一、基本概念

  1. python中数有四种类型:整数、长整数、浮点数和复数。

  • 整数, 如 1
  • 长整数 是比较大的整数
  • 浮点数 如 1.23、3E-2
  • 复数 如 1 + 2j、 1.1 + 2.2j

  2. 字符串(字符的序列)

  • python中单引号和双引号使用完全相同。
  • 使用三引号('''或""")可以指定一个多行字符串。
  • 转义符 ''
  • 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with n" 则n会显示,并不是换行。
  • python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。
  • 字符串是不可变的。
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

3. 标识符的命名

  • 第一个字符必须是字母表中字母或下划线'_'。
  • 标识符的其他的部分有字母、数字和下划线组成。
  • 标识符对大小写敏感。

4. 对象

    python程序中用到的任何“东西”都成为“对象”。

5. 逻辑行和物理行

    物理行是我们在编写程序时看到的,逻辑行则是python看到的。

    python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。

    多个物理行中可以写一个逻辑行,如下:

s = "peter is 
writing this article"

    上面的使用被称为‘明确的行连接’, 又如:

print 
"peter"

  6. 缩进

    空白在python是非常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句

  分组。这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。

  注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。

二、运算符与表达式

  1. 运算符与其用法

运算符

名称

说明

例子

+

两个对象相加

3 + 5得到8。'a' + 'b'得到'ab'。

-

得到负数或是一个数减去另一个数

-5.2得到一个负数。50 - 24得到26。

*

两个数相乘或是返回一个被重复若干次的字符串

2 * 3得到6。'la' * 3得到'lalala'。

**

返回x的y次幂

3 ** 4得到81(即3 * 3 * 3 * 3)

/

x除以y

4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333

//

取整除

返回商的整数部分

4 // 3.0得到1.0

%

取模

返回除法的余数

8%3得到2。-25.5%2.25得到1.5

<<

左移

把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)

2 << 2得到8。——2按比特表示为10

>>

右移

把一个数的比特向右移一定数目

11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。

&

按位与

数的按位与

5 & 3得到1。

|

按位或

数的按位或

5 | 3得到7。

^

按位异或

数的按位异或

5 ^ 3得到6

~

按位翻转

x的按位翻转是-(x+1)

~5得到6。

<

小于

返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。

5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True。

>

大于

返回x是否大于y

5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。

<=

小于等于

返回x是否小于等于y

x = 3; y = 6; x <= y返回True。

>=

大于等于

返回x是否大于等于y

x = 4; y = 3; x >= y返回True。

==

等于

比较对象是否相等

x = 2; y = 2; x == y返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。

!=

不等于

比较两个对象是否不相等

x = 2; y = 3; x != y返回True。

not

布尔“非”

如果x为True,返回False。如果x为False,它返回True。

x = True; not y返回False。

and

布尔“与”

如果x为False,x and y返回False,否则它返回y的计算值。

x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。

or

布尔“或”

如果x是True,它返回True,否则它返回y的计算值。

x = True; y = False; x or y返回True。短路计算在这里也适用。

2. 运算符优先级(从低到高)

运算符

描述

lambda

Lambda表达式

or

布尔“或”

and

布尔“与”

not x

布尔“非”

in,not in

成员测试

is,is not

同一性测试

<,<=,>,>=,!=,==

比较

|

按位或

^

按位异或

&

按位与

<<,>>

移位

+,-

加法与减法

*,/,%

乘法、除法与取余

+x,-x

正负号

~x

按位翻转

**

指数

x.attribute

属性参考

x[index]

下标

x[index:index]

寻址段

f(arguments...)

函数调用

(experession,...)

绑定或元组显示

[expression,...]

列表显示

{key:datum,...}

字典显示

'expression,...'

字符串转换

3. python 控制台输出 使用print

print "abc"    #打印abc并换行
print "abc%s" % "d"    #打印abcd
print "abc%sef%s" % ("d", "g")    #打印abcdefg