此系列文章是我在学习Python时的学习笔记,记录在此方便自己复习/查看。笔记内容来自《Python编程从入门到实践》。
《Python编程从入门到实践》 第一部分 基础知识
第2章 变量和简单数据类型
字符串是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号或双引号。
例如:
"This is a string."
'This is also a string'
使用单引号(撇号)和双引号可以提供这种灵活性:
例如:
'I told my friend, "Python is my favorite language!"'
"One of Python's strengths is its diverse and supportive community."
代码如下:
name = "ada lovelace"
print(name.title())
print(name.upper())
pring(name.lower())
运行代码如下:
Ada Lovelace
ADA LOVELACE
ada lovelace
存储数据时,方法lower()很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再储存它们。
Python使用加号 (+) 来合并字符串。
代码如下:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
print("Hello, " + full_name.title() + "!")
运行代码如下:
ada lovelace
Hello, Ada Lovelace!
代码如下:
print("Python")
print("\tPython")
print("Languages:\n\tPython\n\tC\n\tJavaScript")
运行代码如下:
Python
Python
Languages:
Python
C
JavaScript
例如确保字符串末尾没有空白,可使用方法 rstrip(),这种删除只是暂时的。
代码如下:
favorite_language = 'python '
print(favorite_language)
print(favorite_language.rstrip())
print(favorite_language)
运行代码如下:
'python '
'python'
'python '
要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中:
favorite_language = 'python '
favorite_language = favorite_language.rstrip()
print(favorite_language)
运行代码如下:
'python'
还可以剔除字符串开头的空白,或同时剔除字符串两端的空白。为此,可分别使用方法 lstrip()和strip():
favorite_language = ' python '
favorite_language.rstrip() #删除字符串后面的(右边)空白
favorite_language.lstrip() #删除字符串前面的(左边)空白
favorite_language.strip() ##删除字符串两端的空白
运行代码如下:
' python'
'python '
'python'
在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。
>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5
在终端会话中,Python直接返回运算结果。Python使用两个乘号表示乘方运算:
>>> 3 ** 2
9
Python还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序:
>>> 2 + 3*4
14
>>> (2 + 3) * 4
20
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
但需要注意的是,结果包含的小数位数可能是不确定的:
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004
假如需要在消息中使用变量的值。例如可能会写:
age = 23
message = "Happy " + age + "rd Birthday!"
print(message)
你可能认为,上述代码会打印一条简单的生日祝福语:Happy 23rd birthday!。但如果你运行这些代码,将发现它们会引发错误:
TypeError: Can’t convert ‘int’ object to str implicitly
这是一个类型错误,意味着Python无法识别你使用的信息。在这个示例中,Python发现你使用了一个值为整数(int)的变量,但它不知道该如何解读这个值。Python知道,这个变
量表示的可能是数值23,也可能是字符2和3。像上面这样在字符串中使用整数时,需要显式地指出你希望Python将这个整数用作字符串。为此,可调用函数str(),它让Python将非字符串值表示为字符串:
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)
这样,Python就知道你要将数值23转换为字符串,进而在生日祝福消息中显示字符2和3:
Happy 23rd Birthday!
在Python 2中,将两个整数相除得到的结果稍有不同:
>>> python2.7
>>> 3 / 2
1
Python返回的结果为1,而不是1.5。在Python 2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。
在Python 2中,若要避免这种情况,务必确保至少有一个操作数为浮点数,这样结果也将为浮点数:
>>> 3 / 2
1
>>> 3.0 / 2
1.5
>>> 3 / 2.0
1.5
>>> 3.0 / 2.0
1.5
从Python 3转而用Python 2或从Python 2转而用Python 3时,这种除法行为常常会令人迷惑。
使用或编写同时使用浮点数和整数的代码时,一定要注意这种异常行为。
在Python中,注释用井号 (#) 标识。井号后面的内容都会被Python解释器忽略。
在C++中,注释使用 //,或者 /**/。
#python2.7
print "Hello Python 2.7 world!"
Hello Python 2.7 world!