正文 【Python基础】2. 变量、基本数据类型及其转换 拾年之璐 V管理员 /2020年 /962 阅读 0802 ## 变量、基本数据类型及其转换 [TOC] ### 1. 变量 #### 1.1 变量规则 在Python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。 + 变量名只能包含 `字母` 、 `数字` 和 `下划线` 。变量名可以 `字母` 或 `下划线` 打头,但不能以 `数字` 打头,例如,可将变量命名为 `message_1` ,但不能将其命名为 `1_message` 。 + 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名 `greeting_message` 可行,但变量名 `greeting message` 会引发错误。 + 不要将Python `关键字` 和 `函数名` 用作变量名,即不要使用Python保留用于特殊用途的单词,如 `print ` 。 + 变量名应既简短又具有描述性。例如, `name` 比 `n` 好, `student_name` 比 `s_n` 好, `name_length` 比 `length_of_persons_name` 好。 + 慎用小写字母 `l` 和大写字母 `O` ,因为它们可能被人错看成数字 `1` 和 `0` 。 + 要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着你编写的程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。 ### 2. 基本数据类型 #### 2.1 字符串 **字符串** 就是一系列字符。在Python中,用 `引号` 括起的都是字符串,其中的引号可以是 `单引号` ,也可以是 `双引号` 。 示例: ```python str1 = "双引号表示字符串" str2 = '单引号表示字符串' ``` 基于此,可以在 `双引号` 内包含 `单引号` 字符,也可以在 `单引号` 内包含 `双引号` 字符。 示例: ```python str1 = '这是一个“字符串”'str1 = '这是一个“字符串”'str1 = '这是一个“字符串”'str1 = '这是一个“字符串”'str1 = '这是一个“字符串”' str2 = "这也是一个‘字符串’" print(str1) print(str2) ``` 示例输出: ```python 这是一个“字符串” 这也是一个‘字符串’ ``` ##### 2.1.1 字符串拼接 Python使用加号(+)来合并字符串。 示例: ```python str1 = 'Hello' str2 = 'World' print(str1 + ' ' + str2) ``` 输出结果为:Hello World ##### 2.1.2 大小写转换方法 + **title()** 方法:将字符串的首字母转换成大写 + **upper()** 方法:将字符串的全部字母转换成大写 + **lower()** 方法:将字符串的全部字母转换成小写 示例: ```python str1 = 'hello' str2 = 'world' str3 = 'PYTHON' print(str1.title() + ' ' + str2.title()) print(str1.upper()) print(str3.lower()) ``` 示例输出: ``` Hello World HELLO python ``` ##### 2.1.3 删除空白方法 + **strip()** 方法:删除字符串开头和末尾的空白 + **lstrip()** 方法:删除字符串开头的空白 + **rstrip()** 方法:删除字符串末尾的空白 示例: ```python str1 = ' hello world ' print(str1.strip() + 'END') print(str1.lstrip() + 'END') print(str1.rstrip() + 'END') ``` 示例输出: ``` hello worldEND hello world END hello worldEND ``` #### 2.2 整数 Python的整数,可以进行四则运算。 示例: ``` >>> 9+9+6 24 >>> 9*9-6 75 >>> 9-9/6 7.5 ``` > 注:上述格式代码是在CMD命令行窗口中输入`python` 关键字后,输入算式。 在Python中,两个乘号`**` 表示乘方。 示例: ``` >>> 2**3 8 >>> 3**3 27 >>> 10**5 100000 ``` #### 2.3 浮点数 Python将带小数点的数字都称为浮点数。 示例: ``` >>> 0.1+0.1 0.2 >>> 0.2+0.2 0.4 >>> 2*0.2 0.4 ``` 从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字,Python通常都会按你期望的方式处理它们。 但也有特殊情况,有时结果包含的小数位数可能不确定。比如: 示例: ``` >>> 0.2+0.1 0.30000000000000004 >>> 3*0.1 0.30000000000000004 >>> 0.1 + 0.1 + 0.1 - 0.3 5.551115123125783e-17 >>> 0.1 + 0.1 + 0.1 - 0.2 0.10000000000000003 ``` 上面遇到的这种问题,所有的语言都存在。 这是为什么呢?原因如下: > 在十进制和二进制的转换上,计算机先要把十进制的数转化为二进制,然后再计算。 > 但是,在转化中,浮点数转化为二进制,就出问题了。例如: > 十进制的 0.1,转化为二进制是:0.0001100110011001100110011001100110011001100110011… > 也就是说,转化为二进制后,不会精确等于十进制的 0.1。 > 同时,计算机存储的位数是有限制的,所以,就出现上述现象了。 #### 2.4 字符串与数字的转换 + int(x [,base ]) 将x转换为一个整数 + long(x [,base ]) 将x转换为一个长整数 + float(x ) 将x转换到一个浮点数 + complex(real [,imag ]) 创建一个复数 + str(x ) 将对象 x 转换为字符串 + repr(x ) 将对象 x 转换为表达式字符串 + eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 + tuple(s ) 将序列 s 转换为一个元组 + list(s ) 将序列 s 转换为一个列表 + chr(x ) 将一个整数转换为一个字符 + unichr(x ) 将一个整数转换为Unicode字符 + ord(x ) 将一个字符转换为它的整数值 + hex(x ) 将一个整数转换为一个十六进制字符串 + oct(x ) 将一个整数转换为一个八进制字符串 示例: ```python str1 = "1024" str2 = '10.24' num1 = 24 print(int(str1) * 10) print(float(str2) * 10) print("I'm " + str(num1) + " years old.") ``` 示例输出: ``` 10240 102.4 I'm 24 years old. ``` 本文采用创作共用版权 CC BY-NC-SA 3.0 CN 许可协议,转载或复制请注明出处! -- 展开阅读全文 --