2.变量和简单类型:
Python 是 一 门弱 类型语言 ,弱类型包含两方面的 含义 : 1所有的变量无须声明即可使用,或者说对从未用过的变量赋值就是声明了应变量;2变量 的数据类型可以随时改变,同一个变量可以一会儿是数值型,一会儿是字符串型。
如果想查看此时 a 的类型,可以使用 Python 的 type()函数。
print(value , ... , sep = '' , end = ' \ n ', file=sys.stdout , flush=False)
使用 print()函数输出多个变量时, print()函数默认以空格隔开多个变量,如果希望改变默认的分隔符,可通过 sep 参数进行设置 。
print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n ”,这个“\n”就代表了换行 。 如果希望 print()函数输出之后不会换行,则重设end 参数即可
file 参数 指定 print()函数的输出目标, file 参数的默认值为 sys.stdout ,该默认值代表了系统标准输出,也就是屏幕,因此 print()函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print()函数输出到特定文件中
Python 3 的整型支持各种整数值,不管是小的整数值,还是大的整数值, Pythoη 都能轻松处理(不像某些语言, short 、 int 、 long 等整型增 加了开发难度)。
浮点型数值用于保存带 小 数点的数值, Python 的 浮点数有两种表示形式。
〉十进制形式:这种形式就是平常简单的浮点数,例如 5.12 、 512 . 0 、 0.512 。浮点数必须包含一个小数点,否则会被当成整数类型处理。
〉科学计数形式 : 例如 5 . 12e2 (即 5.12 × 102 )、 5.12E2 (也是 5 .12 × 102)。必须指出的是,只有浮点型数值才可以使用科学计数形式表示。例 如 51200 是一个整型值,但512E2 则是浮点型值 。
Python 不允许除以 0 。不管是整型值还是浮点型值, Python 都不允许除以 0 。
Python 要求字符串必须使用引号括起来,使用单 引 号 也行 ,使用双 引号也行一一只要两边的引号能配对即可。
为 了将数值转换成字符串 , 可 以 使用 str()或 repr() 函数 ,如果直接使用 print()函数输出 字符串 , 将只能看到字符串 的 内
容 , 没有引号 ; 但 如 果先使用 r巳pr() 函数对字符串进行 处 理 , 然后再使用 print()执行输出,将可以看到带引号的字符串
无论输入哪种内容,始终可以看到 input()函数返回字符串,程序总会将用户输入的内容转换成字符串。
长字符串:使用 三 个引号括起来的长字符串完全可以赋值给变量
原始字符串:比如写一条 Windows 的路径 : G : \publish\codes\02\2.4 ,如果在 Python 程序中直接这样写肯定是不行的,需要写成: G :\\publish\\codes\\02\\2.4 ,这很烦人,此时可借助于原始字符串来解决这个问题,因此,上面的 Windows 路径可直接写成 r'G:\publi sh\codes\02\2.4’ 。
字节串( bytes):宇符串(str)由多 个字符组成,以 字符为单位进行操作 ; 字节串( bytes )由多个字节组成,以字节为单位进行操作 。bytes 对象只负责以字节(二进制格式)序列来记录数据,至于这些数据到底表示什 么内容,完全由程序决定。 如果采用合适的字符集 , 字符串 可以转换成字节串;反过来,字节串也可以恢复成对应的字符串 。由 于 bytes 保存的就是原始的字节( 二进制格式)数据,因此 bytes 对象可用于在网络上传输数据 ,也可用于存储各种二进制格式的文件, 比如 图片 、 音乐等文件 。可以调用 字符串 的 encode 方法来构建字节 串,如果程序获得了 bytes 对象,也可调用 bytes 对象的 decode() 方法将其码成字符串
字符串格式化:如果格式化 字符串 中 包含多个“ %s ”占位符,第三部分也应该对应地提供多个变量,并且使用圆括号将这些变量括起来 。
user = " Charli ”
age = 8
#格式化字符串中有两个占位符,第三部分也应该提供两个变量
print("%s is a %s years old boy"%(user,age))
〉- : 指定左对齐 。
〉+ : 表示数值总要带着符号(正数带“+” ,负 数带"-")。
》 0 :表示不补充 空格 , 而是补充 0 。
对于转换浮点数, Python 还允许指定小数点后的数字位数 :如 果转换 的 是字符串, Python 允许指定转换后的字符串的最大字符数 这个标志被称为精度值,该精度值被放在最小宽度之后,中间用点(.)隔开。其中(.)算一位。
序列相关方法:字符串本质上就是由多 个字符组成的,因 此程序允许通过索引来操作字符, 比如 获取指定索引处的字符,获取指定字符在字符串中的位置等 。Python 字符串还支持用 in 运算符判断是否包含某个子串。
s= 'crazyit.org is very good'
print('very' in s )#True
print('fikt' in s )#False
还可以使用全局内置的 min()和 max()函数获取字符串中最小 字符 和最大字符
print(max(s))#z
print(min(s))#空格
相关方法:dir() : 列出指定类或模块包含的全部内容(包括函数、方法、类、变量等),help() : 查看某个函数或方法的帮助文档。其中以"_"开头、"_"结尾的方法被约定成私有方法,不希望被外部直接调用。
help(str.title)
help(str.lower)
title():将每个单词 的 首字母改为大写 。
lower():将整个字符串改为小写 。
upper() : 将整个字符串改为大写。
删除空白:
strip () : 删除 字符串前后 的 空白。
lstrip():删除字符串前面(左边)的空白。
rstrip () : 删除字符串后面(右边)的空白。
需要说明的是, Python 的 str 是不可变的(不可变的意思是指,字符串一旦形成,它所包含的字符序列就不能发生任何改变),因此这三个方法只是返回字符串前面或后面空白被删除之后的副本 , 并没有真正改变字符串本身 。此外还有删除字符串前后指定宇符 的功能。
查找、替换:
startswith():判断 字符串是否 以指 定子串开头。
endswith():判断字符串是否以指定子串结尾 。
find(): 查找指定子串在字符串中出现的位置,如果没有找到指定子串 ,则 返回-1
index() : 查找指定子串在字符串中出现的位置,如果没有找到指定子串,则引发 Va lueError错误。
replace(): 使用指定子串替换字符串中的目标子串 。
translate(): 使用指定的翻译映射表对字符串执行替换。不 管 是自己定义的翻译映射表,还是使用 maketrans() 方法创建
的翻 译映 射表 , 其实 都是为了定义字符与字符之 间的对 应关系,只不过该翻译映射表不能直接使用字符本身,必须使用字符 的编码而 已。
分割、连接:从上面的运行结果可以看出, str 的 split()和 join() 方法互为逆操作 ,split()方法用于将字符串分割成多个短语:而 join ()方法则用于将多个短语连接成字符串 。
split(): 将字符串按指定分割符分割成多个短语 。
join():将 多个短语连接成字符串 。
s = 'crazyit.org is a good site'
mylist = s.split()#['crazyit.org','is','a','good','site']
print('/'.join(mylist))#输出crazyit.org/is/a/good/site
算术运算符:
*:乘法运算符,“*”还可以作为 字符串 的连接运算符 , 表示将 N 个字符串连接起来
s = 'crazyit'
print(s*5)
#输出 crazyit crazyit crazyit crazyit crazyit
比较运算符与 boo I 类型:
==与 is 看 上去 很相似,但实质上有 区 别, ==只 比 较 两个变量 的值,但 is 要求两个变量 引用同 一个对象
import time
a = time.gmtime()
b = time.gmtime()
print(a==b)#True
print(a is b)#False
上面代码 中 a 、 b 两个变量 都代表当前系统 时间,因此 a 、 b 两个变 量 的时间值是相等的,故程序使用“==”判断返 回 True 。但 由于 a 、 b 两个变量分 别引用不 同的对象(每次调用 gmtime () 函数都返回不同的对象),因此 a is b 返回 False 。实 际上, Python 提供了 一个全局 的 id() 函数来 判断变 量所引用的对 象的内存地址 ( 相 当于对象在计算机内存中存储位置的 门 牌号),如果两个对象所在的内存地址相同(相当于它们 住在同一个房间内,计算机同 一 块内存在任一时刻只能存放一个对象),则说明这两个对象其实是同 一个对 象 。由此可见, is 判断其实就是要求通过 id()函 数计算两个对象 时返回相同的地址 。
print(id(a))
其他:
本章主要介绍了 Python 编程的基础内容:变量和表达式。虽然 Python 是弱类型语言, Python变量本身没有类型,可以“盛装”各种类型的数据,但变量所“盛装”的数据是有类型的,包括各种数值型、字符串型、 bool型等 。 因此本章的第一个重要部分就是 Python 的各种基本类型和字符串,本章详细介绍了 Pytho n 字符串的功能和用法。本章的第 二 个重要部分就是 Python 的各种运算柄,通过这些运算符就可以把变量和数值连接成表达式。 Python 支持算术运算符、位运算符、索引运算符、赋值运算符、比较运算符、逻辑运算符、三目运算符 、 in 运算符等各种功能丰 富的运算符 , 掌握这些运算符是 Python 编程的 基础 。