01 Python基本语法(一)

优秀的技术博客:
基础模块:https://www.cnblogs.com/yuanchenqi/articles/5732581.html
python基础:https://www.cnblogs.com/linhaifeng/p/7278389.html

0 python 文件的编译说明

01 Python基本语法(一)_第1张图片

运行方式

// 方法一:
python hello.py 

// 方法二:
./hello.py

1 基本运算符

1.1 算术运算符

+ 
-
 *
 /  传统除法 求模
 // 浮点除法(对结果进行四舍五入)
 % 求余
 ** 乘方

代码:
>>> print -2 * 4 + 3 ** 2
1

1.2 比较运算符

<     <=     >     >=     ==     !=     <>
试一试,看看这些比较运算会得到什么结果:
     >>> 2 < 4
True
    >>> 2 == 4
    False
    >>> 2 > 4
    False
     >>> 6.2 <= 6
     False
     >>> 6.2 <= 6.2
     True
     >>> 6.2 <= 6.20001
    True
Python 目前支持两种“不等于”比较运算符, != 和 <> , 分别是 C 风格和 ABC/Pascal 风格。后者慢慢地被淘汰了, 所以推荐使用前者。

1.3 逻辑运算符

 and(与)       or(或)     not(非)
  使用逻辑运算符可以将任意表达式连接在一起,并得到一个布尔值:
  >>> 2 < 4 and 2 == 4
False
>>> 2 > 4 or 2 < 4
True
>>> not 6.2 <= 6
True
>>> 3 < 4 < 5      // 3 < 4 and 4 < 5
True

1.4 身份操作符

is
is not

2 变量和赋值

(1)标识符的组成:数字,字母, 或下划线。
        第一个字符必须是字母或下划线(_);
        剩下的字符可以是字母和数字或下划线;                
        Python 变量名是大小写敏感的, 也就是说变量 "cAsE" 与 "CaSe" 是两个不同的变量。

专用下划线标识符:
        _xxx 不用'from module import *'导入  
       __xxx__系统定义名字
       __xxx 类中的私有变量名
(2)Python 是动态类型语言, 不需要预先声明变量的类型。 变量的类型和值在赋值 那一刻被初始化,变量只有被创建和赋值后才能被使用。变量赋值通过等号来执行。

代码:
 >>> counter = 0            //整数赋值
    >>> miles = 1000.0    //浮点数赋值
    >>> name = 'Bob'      // 字符串赋值
    >>> counter = counter + 1    // 整数增 1
    >>> kilometers = 1.609 * miles    // 浮点乘法赋值
    >>> print '%f miles is the same as %f km' % (miles, kilometers)
    1000.000000 miles is the same as 1609.000000 km

(3)增量赋值,也就是运算符和等号合并在一起
n *= 10        // n = n * 10

(4)Python 的赋值语句不会返回值。类似下面的语句在 Python 中是 非法的:
    >>> x = 1
    >>> y = (x = x + 1)     # assignments not expressions! File "", line 1
    y = (x = x + 1)
    ^
    SyntaxError: invalid syntax

  链式赋值没问题:
    >>> y = x = x + 1
    >>> x, y
    (2, 2)

(5)Python 不支持类似 x++ 或 --x 这样的前置/后置自增/自减运算。

(6)多重赋值
     >>> x = y = z = 1
     >>> x
     1
     >>> y
     1 >>> z 1

(7)“多元”赋值
    >>> x, y, z = 1, 2, 'a string'
    >>> x
    1
    >>> y
    2
    >>> z
    'a string'
通常元组需要用圆括号(小括号)括起来,尽管它们是可选的。建议总是加上 圆括号以使得代码有更高的可读性。
    >>> (x, y, z) = (1, 2, 'a string')

(8)数据交换
Python 的多元赋值方式可以实现无需中间变量交换两个变量的值。
    # swapping variables in Python
    >>> x, y = 1, 2
    >>> x
    1
    >>> y
    2
    >>> x, y = y, x
    >>> x
    2
    >>> y
    1
显然, Python 在赋值之前已经事先对 x 和 y 的新值做了计算。

3 数字

Python 支持五种基本数字类型,其中有三种是整数类型。
  int (有符号整数)
  long (长整数) 
  bool (布尔值)
  float (浮点值) 
  complex (复数)

Python 长整数仅受限于用户计算机的虚拟内存总数,类似 于 Java 中的 BigInteger 类型。
举例: 
01 Python基本语法(一)_第2张图片

3 字符串

(1) Python 中字符串被定义为单引号、双引号、三引号之间的字符集合。
(2) Python 支持使用成对的单引号或双引号, 三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。
(3) 使用索引运算符 [i] 和切 片运算符( [i :j ] )可以得到子字符串,扩展切片:[i:j:stride]
(4) 字符串有其特有的索引规则:第一个字符的索引是 0, 最后一个字符的索引是 -1
(5) 加号( + )用于字符串连接运算,星号( * )则用于字符串重复。
(6)使用Unicode编码,字符串前要用u标注
(7)支持的运算:索引、切片、min()、max()、len()以及对象最有的方法
代码举例:
    >>> pystr = 'Python'
    >>> iscool = 'is cool!'
    >>> pystr[0]
    'P'
    >>> pystr[2:5]
    'tho'
    >>> iscool[:2]
    'is'
    >>> iscool[3:]
    'cool!'
    >>> iscool[-1]
    '!'
    >>> pystr + iscool
    'Pythonis cool!'
    >>> pystr + ' ' + iscool
    'Python is cool!'
    >>> pystr * 2
    'PythonPython'
    >>> '-' * 20
'--------------------'
     >>> pystr = '''python
     ... is cool'''
     >>> pystr
     'python\nis cool'
    >>> print pystr
    python
    is cool
    >>>

4 列表和元组

(1) 可以将列表和元组当成普通的“数组”,它能保存任意数量任意类型的 Python 对象。
(2) 和数组一样,通过从 0 开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象。
(3) 列表和元组的区别:
  a) 列表元素用中括号 [ ]包裹,元素的个数及元素的值可以改变; 元组元素用小括号( )包裹,不可以更改(尽管他们的内容可以)。
  b) 元组可以看成是 只读的列表。
  c) 通过切片运算 [ ] 和 [ : ] 可以得到子集,这一点与字符串的使用方法一样。

代码:
>>> aList = [1, 2, 3, 4]
 >>> aList
    [1, 2, 3, 4]
 >>> aList[0]
1
>>> aList[2:]
[3, 4]
>>> aList[:3]
[1, 2, 3]
>>> aList[1] = 5
>>> aList
[1, 5, 3, 4]

元组也可以进行切片运算,得到的结果也是元组(不能被修改):
    >>> aTuple = ('robots', 77, 93, 'try')
     >>> aTuple
     ('robots', 77, 93, 'try')
     >>> aTuple[:3]
     ('robots', 77, 93)
    >>> aTuple[1] = 5
    Traceback (innermost last):
    File "", line 1, in ?
    TypeError: object doesn't support item assignment

(4)列表的常用内置函数
list.append(obj) :向列表中添加一个对象 obj
list.count(obj) :返回一个对象 obj 在列表中出现的次数
list.extend(q): 把序列 q 的内容添加到列表中
 list.index(obj, i=0, j=len(list)):返回 list[k] == obj 的 k 值,并且 k 的范围在 i<=k

5 字典

(1)字典是 Python 中的映射数据类型,由键- 值(key-value)对构成。
(2)几乎所有类型的 Python 对象都可以用作键,不过一般还是以数字或者 字符串最为常用。
(3)值可以是任意类型的 Python 对象,字典元素用大括号{ }包裹。
(4)字典是可变对象
(5)元组、列表、字符串都是由大小的,可以用len()查看

>>> aDict = {'host': 'earth'}     # create dict
 >>> aDict['port'] = 80     # add to dict
    >>> aDict
    {'host': 'earth', 'port': 80}
    >>> aDict.keys()
    ['host', 'port']
    >>> aDict['host']
    'earth'
>>> for key in aDict:
... print key, aDict[key] ...
host earth
port 80

(6) 字典类型的方法

6 Python 语句基本规则和特殊字符

  (1)  井号(#)表示之后的字符为 Python 注释

  (2)换行 (\n) 是标准的行分隔符(通常一个语句一行)

  (3)反斜线 ( \ ) 继续上一行

  (4)分号 ( ; )将两个语句连接在一行中
        分号( ; )允许你将多个语句写在同一行上,语句之间用分号隔开,而这些语句也不能在这 行开始一个新的代码块。例子:
        import sys; x = 'foo'; sys.stdout.write(x + '\n')
        同一行上书写多个语句会大大降低代码的可读性,Python 虽然允许但不 提倡你这么做。

 (5)冒号 ( : ) 将代码块的头和体分开

  (6)语句(代码块)用缩进块的方式体现:
        缩进四个空格宽度,避免使用制表符Tab ;
        随着缩进深度的增加,代码块的层次也在加深,没有缩进的代码块是最高层次的,别称做 脚本的“main”部分。

  (7) 不同的缩进深度分隔不同的代码块

  (8)  Python文件以模块的形式组织
        模块可以包含直接运行的代码块、类定义、 函数定义或这几者的组合。

7 Python 关键字

查看Python关键字

>>> import keyword
>>> keyword.kwlist
01 Python基本语法(一)_第3张图片

你可能感兴趣的:(01 Python基本语法(一))