zoukankan      html  css  js  c++  java
  • Python学习之路2——Python标识符及变量赋值

    1、Python标识符

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

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

    Python 中的标识符是区分大小写的。

    以下划线开头的标识符是有特殊意义的。

    以双下划线开头的 __foo 代表类的私有成员,__foo(self)代表类的私有方法,不能直接从外部调用,需通过类里的其他方法调用。

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

    2、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

    3、行和缩进

    学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。

    python 最具特色的就是用缩进来写模块。

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

     1 if True:
     2     print ("True")
     3 else:
     4     print ("False")

    以下代码将会执行错误:

     1 #!/user/bin/env ptyhon
     2 # -*- coding:utf-8 -*-
     3 # Author: VisonWong
     4 
     5 if True:
     6     print("Answer")
     7     print("True")
     8 else:
     9     print("Answer")
    10     # 没有严格缩进,在执行时会报错
    11   print("False")

    执行以上代码,会出现如下错误提醒:

    1 E:PythonPythonLearingvenvScriptspython.exe E:/Python/PythonLearing/test.py
    2   File "E:/Python/PythonLearing/test.py", line 11
    3     print("False")
    4                  ^
    5 IndentationError: unindent does not match any outer indentation level

    IndentationError: unindent does not match any outer indentation level。

    错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

    如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。

    因此,在 Python 的代码块中必须使用相同数目的行首缩进数

    建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用。

    4、多行语句

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

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

    1 total = item_one + 
    2         item_two + 
    3         item_three

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

    1 days = ['Monday', 'Tuesday', 'Wednesday',
    2         'Thursday', 'Friday']

    5、Python 引号

    Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。

    其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

    1 word = 'word'
    2 sentence = "这是一个句子。"
    3 paragraph = """这是一个段落。
    4 包含了多个语句"""

    6、Python注释

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

    1 #!/user/bin/env ptyhon
    2 # -*- coding:utf-8 -*-
    3 # Author: VisonWong
    4 
    5 # 第一个注释
    6 print ("Hello, Python!");  # 第二个注释

    输出结果:

    1 Hello, Python!

    python 中多行注释使用三个单引号(''')或三个双引号(""")。

     1 #!/user/bin/env ptyhon
     2 # -*- coding:utf-8 -*-
     3 # Author: VisonWong
     4 
     5 
     6 '''
     7 这是多行注释,使用单引号。
     8 这是多行注释,使用单引号。
     9 这是多行注释,使用单引号。
    10 '''
    11 
    12 """
    13 这是多行注释,使用双引号。
    14 这是多行注释,使用双引号。
    15 这是多行注释,使用双引号。
    16 """

    7、Print 打印

    print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 ' end=' 。

     1 #!/user/bin/env ptyhon
     2 # -*- coding:utf-8 -*-
     3 # Author: VisonWong
     4 
     5 x="a"
     6 y="b"
     7 # 换行输出
     8 print(x)
     9 print(y)
    10 
    11 print ('---------')
    12 # 不换行输出
    13 print(x, end = ' ')
    14 print(y, end = ' ')
    15 
    16 
    17 # a
    18 # b
    19 # ---------
    20 # a b 

    格式化方法,可以用format实现格式化。

     1 #!/user/bin/env ptyhon
     2 # -*- coding:utf-8 -*-
     3 # Author: VisonWong
     4 
     5 age = 20
     6 name = 'Swaroop'
     7 print('{0} was {1} years old when he wrote this book'.format(name, age))
     8 print('Why is {0} playing with that python?'.format(name))
     9 
    10 
    11 # Swaroop was 20 years old when he wrote this book
    12 # Why is Swaroop playing with that python?

      格式化方法,也可以使用%s和%d实现,%s对应字符变量,%d对应数字变量。另外还有%r,打印变量原始类型,一般作调试用。

     1 #!/user/bin/env ptyhon
     2 # -*- coding:utf-8 -*-
     3 # Author: VisonWong
     4 
     5 age = 20
     6 name = 'Swaroop'
     7 print('%s was %d years old when he wrote this book' %(name,age) )
     8 print('Why is %s playing with that python?' %name)
     9 
    10 
    11 # Swaroop was 20 years old when he wrote this book
    12 # Why is Swaroop playing with that python?

    8、变量赋值及命名规则

    ① 声明一个变量name,变量name的值为:“wcw”

    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3   
    4 name = "wcw"

    ② 变量命名的规则

    1 变量定义的规则:
    2  
    3 变量名只能是 字母、数字或下划线的任意组合
    4 变量名的第一个字符不能是数字
    5 以下关键字不能声明为变量名
    6 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global',
    7  'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

    ③ 扩展 (给变量name1赋值Alex li,变量name2赋值为变量name1,name1重赋值Jack Chen,此时name2的值为多少?)

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 #-Author-Lian
     4 name1 = "Alex Li"
     5  
     6 name2 = name1
     7 print(name1, name2)
     8  
     9 name1 = "Jack Chen"
    10  
    11 print("What is the value of name2 now?")

      由图所示,所以最后name1的值为Jack Chen,name2的值为Alex li。

    9、字符编码

    python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

    其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

    显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode。

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。

    Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码。

    规定所有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。注:此处说的的是最少2个字节,可能更多。

    UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

    所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

    报错:ascii码无法表示中文

    1 #!/usr/bin/env python
    2    
    3 print "你好,世界"

      改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3    
    4 print "你好,世界"

      注:python2.x版本,默认支持的字符编码为ASCll    python3.x版本,默认支持的是Unicode,不用声明字符编码可以直接显示中文。

     10、标准数据类型

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

    例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

    Python 定义了一些标准类型,用于存储各种类型的数据。

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

    1、Numbers(数字)

    2、String(字符串)

    3、List(列表)

    4、Tuple(元组)

    5、Dictionary(字典)

    Python数字

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

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

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

    1 var1 = 1
    2 var2 = 10

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

    del语句的语法是:

    1 del var1[,var2[,var3[....,varN]]]]

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

    int(有符号整型)

    long(长整型[也可以代表八进制和十六进制])

    float(浮点型)

    complex(复数)

    实例

    一些数值类型的实例:

    intlongfloatcomplex
    10 51924361L 0.0 3.14j
    100 -0x19323L 15.20 45.j
    -786 0122L -21.9 9.322e-36j
    080 0xDEFABCECBDAECBFBAEl 32.3e+18 .876j
    -0490 535633629843L -90. -.6545+0J
    -0x260 -052318172735L -32.54e100 3e+26J
    0x69 -4721885298529L 70.2E-12 4.53e-7j

    长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。

    Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

    Python字符串

    字符串或串(String)是由数字、字母、下划线组成的一串字符。

    一般记为 :

    1 s="a1a2···an"(n>=0)

    它是编程语言中表示文本的数据类型。

    python的字串列表有2种取值顺序:

      • 从左到右索引默认0开始的,最大范围是字符串长度少1
      • 从右到左索引默认-1开始的,最大范围是字符串开头

    Python列表

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

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

    列表用 [ ] 标识,是 python 最通用的复合数据类型。

    Python元组

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

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

    Python 字典

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

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

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

     

     

  • 相关阅读:
    【重学计算机】操作系统D5章:文件系统
    【重学计算机】操作系统D4章:设备管理
    【重学计算机】操作系统D3章:存储管理
    【重学计算机】操作系统D2章:处理器管理
    【重学计算机】操作系统D1章:计算机操作系统概述
    【重学计算机】计算机组成原理
    java 图片生成缩略图后,转化成流
    jquery textarea输入字符字数提示
    shell 脚本连接mysql数据库查询database中表的数量和表名
    Maven deploy时报Fatal error compiling: tools.jar not found错误的问题处理
  • 原文地址:https://www.cnblogs.com/visonwong/p/8611166.html
Copyright © 2011-2022 走看看