第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. Redis的持久化选项

    Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里面.另一种方法叫只追加文件(append-only ...

  2. SQL数据库插入文本信息

    文本内容

  3. sizeof()的用法

    机器平台:X86_64 处理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 20070626 Size of char is:               ...

  4. linux grep 指定字符串的正则表达式

    cat all_uuid_log | grep "[a-z0-9]\{32\}"

  5. Mysql 死锁问题

    Innodb锁系统(4) Insert/Delete 锁处理及死锁示例分析 http://mysqllover.com/?p=431 关于innodb死锁 http://afei2.sinaapp.c ...

  6. 如何重启MySQL服务,正确重启mysql

    RedHat Linux (Fedora Core/Cent OS) 1.启动:/etc/init.d/mysqld start 2.停止:/etc/init.d/mysqld stop 3.重启:/ ...

  7. java 键盘输入多种方法 .(转载)

    一.java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有BufferedReader,Scanner. 实例程序: 1.利用 Scanner 实现从键盘读入int ...

  8. SQL Server 数据库所有者

    1. 数据库所有者应当永远是 sa 用户 2. 改变数据库的所有者 alter authorization on database :: databaseName to sa; -- 这一句话把数据库 ...

  9. Github Blog 搭建手册

    http://www.ilehao.com/blog/2012/11/11/github-blog-config/ http://www.freebuf.com/articles/web/25613. ...

  10. epoll使用详解(精髓)

    epoll使用详解(精髓) epoll - I/O event notification facility 在linux的网络编程中,很长的时间都在使用select来做事件触发.在linux新的内核中 ...