PYTHON小白:第二天

PYTHON小白:第二天
Python是一门弱类型语言,弱类型包含两方面的含义①所有的变量无须声明即可使用,或者说对从未用过的变量赋值就是声明了应变量;②变量的数据类型可以随时改变,同一个变量可以一会儿是数值型,一会儿是字符串型。
1、 单行注释与多行注释
为程序添加注释可以用来解释程序某些部分的作用和功能,提高程序的可读性。Python语言允许在任何地方插入空字符或注释 ,但不能插入到标识符和字符串中间。
Python使用#号(#)表示单行注释的开始,跟在“#”号后面直到这行结束为止的代码都将被解释器忽略 。单行注释就是在程序中注释 行代码,在Python程序中将#号(#)放在需要注释的内容之前就可以了。
多行注释是指一次性将程序中的 行代码注释掉,在Python程序中使用三个单引号或三个双引号将注释的内容括起来。
添加注释也是调试程序的一个重要方法。如果觉得某段代码可能有问题,可以先把这段代码注释起来,让Python解释器忽略这段代码,再次编译、运行,如果程序可以正常执行,则可以说明错误就是由这段代码引起的,这样就缩小了错误所在的范围,有利于排错:如果依然出现相同的错误,则可以说明错误不是由这段代码引起的,同样也缩小了错误所在的范围。
2、 变量
2.1 Python是弱类型语言
Python使用等号(=)作为赋值运算符。

将上面的交互过程转换成真正的Python程序一一只要将交互式过程中输入的每行代码放在一个文件中,井使用print()函数来输出变量(在交互式解释器中只要输入变 名,交互式解释器就会输出变量的值;但在Python程序中则必须使用print()函数来输出变量将该文件保存为以.py结尾的源文件即可。

2.2 使用print函数输出变量
print()函数完全可以同时输出多个变量。Print()函数的详细语法格式如下:
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()函数输出到特定文件中。

print()函数的flush参数用于控制输出缓存,该参数一般保持为False即可,这样可以获得较好的性能。
2.3 变量的命名规则
Python语言的标识符必须以字母、下画线()开头,后面可以跟任意数目的字母、数字和下画线()。此处的字母并不局限于26个英文字母,可以包含中文字符、日文字符等。Python语言是区分大小写的,因此abc和Abc是两个不同的标识符。
在使用标识符时,需要注意如下规则。
 标识符可以由字母、数字、下画线(_)组成,其中数字不能打头。
 标识符不能是Python关键字,但可以包含关键字。
 标识符不能包含空格。
2.4 Python的关键字和内置函数
Python还包含一系列关键字和内置函数,一般也不建议使它们作为变量名。

  1. 数值类型
    3.1 整型
    Python的整型支持各种整数值,不管是小的整数值,还是大的整数值,Python都能轻松处理(不像某些语言,short、int、long等整型增加了开发难度)。Python的整型支持None值(空值)。
    Python 整型数值有4种表示形式。
     十进制形式:最普通的整数就是十进制形式的整数。
     二进制形式:以0b或0B开头的整数就是二进制形式的整数。
     八进制形式0o或0O开头的整数就是八进制形式的整数(第二个字母是大写或小写的)
     十六进制形式:以0x或0X开头的整数就是十六进制形式的整数,其中1015分别以af(此处的a~f不区分大小写)来表示
    为了提高数值(包括浮点型)的可读性,Python 3.x允许为数值(包括浮点型)增加下画线作为分隔符。这些下画线并不会影响数值本身。
    3.2 浮点型
    浮点型数值用于保存带小数点的数值,Python的浮点数有两种表示形式。
     十进制形式:这种形式就是平常简单的浮点数,例如5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
     科学计数形式:例如5.12e2(即5.12102)、5.12E2(也是5.12102)。
    必须指出的是,只有浮点型数值才可以使用科学计数形式表示。Python不允许除以0。不管是整数型值还是浮点型值,Python都不允许除以0。
    3.3 复数
    Python甚至可以支持复数,复数的虚部j和J来表示。
    如果需要在程序中对复数进行计算,可导入Python的cmath模块(c代表complex),在该模块下包含了各种支持复数运算的函数。
    3.4 字符串入门
    3.4.1 字符串和转义字符
    字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。字符串既可用单引号括起来,也可用双引号括起来,这没有任何区别。如果字符串内容本身包含了单引号或双引号,此时就需要进行特殊处理。
     使用不同的引号将字符串括起来。
     对引号进行转义。使用转义字符Python允许使用反斜线(\)将字符串中的特殊字符进行转义。假如字符串既包含单引号,又包含双引号,此时必须使用转义字符。
    3.4.2 拼接字符串
    如果直接将两个字符串紧挨着写在一起,Python就会自动拼接它们。Python使用加号(+)作为字符串的拼接运算符。
    3.4.3 repr和字符串
    需要将字符串与数值进行拼接,而Python不允许直接拼接数值和字符串,程序必须先将数值转换成字符串。为了将数值转换成字符串,可以使用str()或repr()函数。

此外,repr()还有一个功能,它会以Python表达式的形式来表示值。

3.4.4 使用input和raw_input获取用户输入
input()函数用于向用户生成一条提示,然后获取用户输入的内容。由于input()函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input()函数总是返回一个字符串。

需要指出的是,Python 2.x提供了raw_input()函数,该raw_input()函数就相当于Python 3.x的input()函数。
3.4.5 长字符串
使用三个引号定义了长字符串,该辰字符串中既可包含单引号,也可包含双引号。当程序中有大段文本内容要定义成字符串时,优先推荐使用长字符串形式,因为这种形式非常强大,可以让字符串中包含任何内容,既可包含单引号,也可包含双引号。使用三个引号括起来的长字符串完全可以赋值给变量。

Python还允许使用转义字符(\)对换行符进行转义,转义之后的换行符不会“中断”字符串。Python不是格式自由的语言,因此Python程序的换行、缩进都有其规定的语法。所以,Python的表达式不允许随便换行。如果程序需要对Python表达式换行,同样需要使用转义字符(\)进行转义。

3.4.6 原始字符串
由于字符串中的反斜线都有特殊的作用,因此当宇符串中包含反斜线时,就需要对其进行转义。原始字符串以“r”开头,原始字符串不会把反斜线当成特殊字符。

如果原始字符串中包含引号,程序同样需要对引号进行转义(否则Python同样无法对字符串的引号精确配对),但此时用于转义的反斜线会变成字符串的一部分。

由于原始字符串中的反斜线会对引号进行转义,因此原始字符串的结尾处不能是反斜线一一否则字符串结尾处的引号就被转义了,这样就导致字符串不能正确结束。
3.4.7 字节串(bytes)
字符串(str)由多个字符组成,以字符为单位进行操作,字节串(bytes)由多个字节组成,以字节为单位进行操作。
如果希望将一个字符串转换成bytes对象,有如下三种方式:
 如果字符串内容都是ASCII字符,则可以通过直接在字符串之前添加b来构建字节串值
 调用bytes()函数(其实是bytes构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集。
 调用字符串本身encode()方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用UTF-8字符集。

在字节串中每个数据单元都是字节,也就是8位,其中每4位(相当于4位二进制数,最小值是0,最大值15)可以用一个十六进制数来表示,因此每字节需要两个十六进制数表示。如果程序获得了bytes对象,也可调用bytes对象的decode()方法将其解码成字符串。

你可能感兴趣的:(PYTHON小白:第二天)