第4章 基本概念

字面意义上的常量

如5、1.23、9.23e-3,或者 'This is a string'、"It's a string!" 字符串等

常量,不能改变它的值

python 有4种数据类型:整数、长整数、浮点数和复数。

  • 整数 2
  • 长整数是大一些的整数 123456789012345
  • 浮点数 3.23、52.3E-4,E标记表示10的幂。其中 52.3E-4 表示 52.3 * 10-4
  • 复数 -5+4j 、2.3-4.6j

字符串

单引号(')

如 'Quote me on this' 。所有的空白,即空格和制表符都照原样保留。

双引号(")

双引号中字符串与单引号中的字符串的使用完全相同,如"What's your name?"

三引号(''' 或 """)

使用三引号可以指示一个多行的字符串,可以在三引号中使用单引号和双引号。

'''This is a multi-line string. This is the firstline.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''

>>> strA='a'
>>> strB="a"
>>> print strA
a
>>> print strB
a

>>> strC='''1
... 2
... 3'''
>>> strC
'1\n2\n3'
>>> print strC
1
2
3
>>> strC="""1
... 2
... 3"""
>>> strC
'1\n2\n3'
>>> print strC
1
2
3

转义符(\)

用于特殊符号的转义,放在前面,表示特殊符号本身。

>>> print "a b"
a b
>>> print "a \nb"
a
b
>>> print "a \\nb"
a \nb

折行的处理:在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。

"This is the first sentence.\
This is the second sentence."

等价于 "This is the first sentence. This is the second sentence."

>>> print "hello \
... Lucy!"
hello Lucy!

自然字符串,即不会当作特殊字符处理

给字符串加上前缀 r 或 R 来保存字符串的原格式。例如 r"Newlines are indicated by\n"。

Unicode 字符串

Unicode 是书写国际文本的标准方法。在字符串前加上前缀 u 或 R,来处理 Unicode 文本。

处理含有非英语语言写的文本文件时使用 Unicode 字符串。如,print u'你好' 。

字符串是不可变的

字符串一旦被创建就不能再改变了。

按字面意义级连字符串

两个字符串按字面意义相邻放着,会被 python 自动级连。

例如,'What\'s' 'your name?' 会被自动转为 "What's your name?"。

注意:单引号和双引号字符串完全相同。一般用自然字符串处理正则表达式,以避免使用反斜杠。

变量

与字面意义上的常量不同,变量的值可以变化,即可以使用变量存储任何东西(数和字符串)。变量只是计算机中存储信息的一部分内存。

>>> a=1
>>> a
1
>>> print a
1

>>> a='abc'
>>> a
'abc'
>>> print a
abc

>>> a="abc 你好"
>>> a
'abc \xc4\xe3\xba\xc3'
>>> print a
abc 你好

>>> strA ='''
... 1
... 2
... 3'''
>>> strA
'\n1\n2\n3'
>>> print strA

1
2
3

>>> strB='''1
... 2
... 3'''
>>> strB
'1\n2\n3'
>>> print strB
1
2
3
>>> strC="""
... 1
... 2
... 3
... """
>>> strC
'\n1\n2\n3\n'
>>> print strC

1
2
3

>>>

标识符的命名

变量是标识符的例子。标识符是用来标识某样东西的名字。命名规则如下:

  • 标识符的第一个字符必须是字母(大写或小写)或下划线(_)
  • 标识符可以由字母(大写或小写)、下划线(_)或数字(0-9)组成
  • 标识符名称对大小写敏感。如,myname 和 myName 不是一个标识符

建议:标识符命名要见名知意

数据类型

变量可以处理不同类型的值,称为数据类型。python 基本的数据类型是数字和字符串。

可以通过 type() 函数来确认类型

>>> a=1
>>> type(a)
<type 'int'>

>>> a=12456778892
>>> type(a)
<type 'long'>

>>> a=1.12
>>> type(a)
<type 'float'>

>>> a=4+4j
>>> type(a)
<type 'complex'>

>>> a='ab'
>>> type(a)
<type 'str'>

对象

python 把程序中用到的任何东西都称为对象。

就每一个东西包括数、字符串甚至函数都是对象这一点来说,python 是极其完全地面向对象的。

如何编写Python程序
下面是保存和运行Python程序的标准流程。
1. 打开你最喜欢的编辑器。
2. 输入程序代码。
3. 用注释中给出的文件名把它保存为一个文件。按照惯例把所有的Python程序都以扩展名.py保存。
4. 运行解释器命令python program.py或者使用IDLE运行程序。你也可以使用先前介绍的可执行的方法。

注意:使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。

逻辑行与物理行

逻辑行:编写的程序

逻辑行:python 看见的单个语句

建议:为了使代码更加易读,python 每个物理行只写一句逻辑行,即每一行写一个语句。

仅当逻辑行太长时,可以使用行连接在多个物理行写一个逻辑行

  • 明确的行连接:反斜杠(\)
  • 暗示的行连接:圆括号、方括号或波形括号

如果一个物理行中使用多个逻辑行,需要使用分号(;)隔开。分号表示一个逻辑行/语句的结束。

缩进

行首的空白称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。

同一层次的语句必须有相同的缩进,这样一组语句称为一个块。错误的缩进会引发错误。

避免混合使用制表符和空格来缩进,因为跨平台时可能会无法正常工作。

每个缩进层次使用 单个制表符 或 两个 或 四个 空格。

A Byte of Python 笔记(2)基本概念:数、字符串、转义符、变量、标识符命名、数据类型、对象的更多相关文章

  1. A Byte of Python 笔记(9) 面向对象编程

    第11章  面向对象编程 面向过程:根据操作数据的函数或语句块来设计程序. 面向对象(OOP, object-oriented programming):把数据和功能结合起来,用对象包裹组织程序. 类 ...

  2. A Byte of Python 笔记(7)数据结构:列表、元组、字典,序列

    第9章 数据结构 数据结构,即可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python 有三种内建的数据结构--列表.元组和字典. list = ['item1', 'item2' ...

  3. MOOC python笔记(三) 序列容器:字符串、列表、元组

    容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器,如:字符串.列表. 通用序列容器操作 容器连接+ 加号可以把两个序列连接成一个更大的容器,相加后两个序列的值并不 ...

  4. 读书笔记「Python编程:从入门到实践」_2.变量和简单数据类型

    做了大半年RPA了,用的工具是Kapow. 工作没有那么忙,不想就这么荒废着,想学点什么.就Python吧. 为期三个月,希望能坚持下来. 2.1 变量的命名和使用 变量名只能包含字母.数字和下划线. ...

  5. Python笔记【1】_字符串学习

    #!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 #字符串:通常有单引号“'”.双引号“" ...

  6. 【Python编程:从入门到实践】chapter2 变量和简单数据类型

    2.1 运行2.2 变量 message = "hello" print(message) 2.2.1 变量的命名和使用 2.2.2 使用变量是避免命名错误2.3 字符串 “Hel ...

  7. python]用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined[python]用eval函数 字符串转dict

    本博客已搬家至个人网站 在路上 - On the way 下面的 技术 分类. 你可以通过点击 更新帖子 [已解决]Python中,用eval强制将字符串转换为字典变量时候出错:NameError: ...

  8. A Byte of Python 笔记(12)python 标准库:sys、os,更多内容

    第14章 python 标准库 Python标准库是随Python附带安装的,它包含大量极其有用的模块. sys 模块 sys 模块包含系统对应的功能.如 sys.argv 列表包含命令行参数. # ...

  9. A Byte of Python 笔记(11)异常:try..except、try..finally

    第13章 异常 当你的程序中出现某些 异常的 状况的时候,异常就发生了. 错误 假如我们把 print 误拼为 Print,注意大写,这样 Python 会 引发 一个语法错误. 有一个SyntaxE ...

随机推荐

  1. [Java 8 Lambda] java.util.stream 简单介绍

    包结构例如以下所看到的: 这个包的结构非常easy,类型也不多. BaseStream接口 全部Stream接口类型的父接口,它继承自AutoClosable接口,定义了一些全部Stream都具备的行 ...

  2. How To Set Dark Theme in Visual Studio 2010

    Want to use the visual studio color theme editor to set the dark theme or other themes? Below shows ...

  3. 更改DataTable列名方法

    1.通过DataAdapter将查询的结果填充到DataSet的表(DataTable)中: 如:dataAdapter.Fill(dataSet),这时dataSet的表名默认为Table 如果使用 ...

  4. android入门——UI(3)

    Spinner控件   ListView控件 一.Spinner控件 点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值. 有两种指定数据源的 ...

  5. select实现选中跳转

    select选择后直接跳转到其他网站的三种方式     第一种: ************************** <html> <head> <meta http- ...

  6. Scala学习之延迟绑定

    package com.swust.example object TraitDemo2 extends App{ //抽象类 abstract class Writer { def writeMess ...

  7. IronPython初体验和实战集合等类型转换和类型匹配

    人老了,做什么都累~学到了这么多技术,从最早C到C++再到JAVA再到C#,最终都是为了改善产品,改善系统的可维护性.众所周知C#,C++,C都是强类型语言,什么情况都得定义一些实体类来改变业务模型, ...

  8. 四轴飞行器1.3 MPU6050(大端)和M4的FPU开启方法

    四轴飞行器1.3 MPU6050(大端)和M4的FPU开启方法  原创文章,欢迎转载,转载请注明出处      最近时间花在最多的地方就是STM32的I2C上了.之前就知道STM32的I2C并不好用, ...

  9. Angular ng-repeat 对象和数组遍历

    直接上代码 <!DOCTYPE html> <html> <head> <meta name="description" content= ...

  10. 一維條碼 EAN13 的編碼方式

    何謂 EAN-13碼 ? ▲ 國家代號(3位數) 中華民國的國家代號為471. ▲ 廠商代號(6位數) 由本會核發給廠商6位數的廠商代號. ▲ 商品代號(3位數) 由廠商自行編定,按一物一號的原則,不 ...