1. 变量
学习一门语言第一个程序就是打印”Hello world!“,来看看python如何输出:
message = "Hello world!"
print(message)
在Spyder中执行结果如图所示:
成功输出了 Hello world!。
添加了一个名为message的变量,它存储了一个值,也就是字符串”Hello world!”
拓展一下这个程序:
message = "Hello world!"
print(message)
message = "Hello Python world!"
print(message)
现在运行这个程序,将看到两行输出:
在程序中可随时修改变量的值,而Python将始终记录变量的最新值。
1.1 变量的命名和使用
首先是必须强制记住的几条规则:
变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字大头。
变量名不能包含空格,但可以使用下划线来分隔其中的单词。
不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。
用以下两行代码可以查看所有Python关键字: import keyword print(keyword.kwlist) 最后的输出结果为: ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 另外可以使用iskeyword函数来查看某个单词是否为关键字,例如: import keyword print(keyword.iskeyword('False')) print(keyword.iskeyword('false')) 最后的输出结果位: True False
接下来的两条是建议,最好也遵守:
- 变量名应既简短又具有描述性。例如:name比n好,student_name比s_n好,name_length比length_of_persons_name好。
- 慎用小写字母1和大写字母O,因为它们可能被人错看成数字1和0 。
2 字符串
上面我们打印的“Hello world!”和”Hello Python world!“都是字符串,字符串就是一系列的字符。Python中,用配对的引号括起来的都是字符串,其中引号可以是单引号也可以是双引号:
"This is a string."
'This is also a string.'
2.1 使用方法修改字符串的大小写
2.1.1 修改单词第一个字母为大写
# 修改单词首字母为大写
name = "ada lovelace"
name = name.title()
print(name)
其输出结果为:
Ada Lovelace
2.1.2 修改所有字母为大写字母或小写字母
name = "Ada Lovelace"
print(name.lower())
print(name.upper())
输出结果为:
ada lovelace
ADA LOVELACE
2.2 合并(拼接)字符串
Python使用加号来合并字符串
# 字符串拼接
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)
输出结果为:
ada lovelace
- 注意:加号只能拼接字符串的变量,如下执行为错误方式:
first_name = "ada"
last_name = "lovelace"
full_name = first_name + 5 + last_name
print(full_name)
编译时会报如下错误:
TypeError: must be str, not int
我们可以使用str()函数来转换类型,如下:
full_name = first_name + str(5) + last_name
2.3 使用制表符或换行符来添加空白
‘\t‘ 表示制表符,’\n‘表示换行符。
print("Language:\n\tPython\n\tC\n\tJavaScript")
运行结果为:
Language:
Python
C
JavaScript
2.4 删除空白
将用到以下几个函数:
- rstrip(),删除字符串末尾的空格
- lstrip(),删除字符串开头的空格
- strip(),删除字符串开头和末尾的空格
# 删除字符串中的空格
string = " Hello Python world "
print(string.rstrip())
print(string.lstrip())
print(string.strip())
运行结果为:
Hello Python world
Hello Python world
Hello Python world
- 注意:输出结果第二行末尾有一个空格
3. 数字
3.1 整数
在Python中,可对整数执行加、减、乘、除运算,用两个乘号表示乘方运算。
# 整数运算
print(2 + 3)
print(3 - 2)
print(2 * 3)
print(3 / 2)
print(3 ** 2)
运行结果为:
5
1
6
1.5
9
3.2 浮点数
Python将带有小数点的数字都称为浮点数。
# 浮点数运算
print(0.1 + 0.1)
print(0.2 + 0.2)
print(2 * 0.1)
运行结果为:
0.2
0.4
0.2
需要注意的是,结果包含的小数位数可能是不确定的,例如:
print(0.1 + 0.2)
print(3 * 0.1)
运行结果为:
0.30000000000000004
0.30000000000000004
这是所有语言都存在的问题,不必担心。
4. 注释
用井号(#)标识单行注释。井号后面的内容会被Python解释器忽略。
用三引号(”’ ”’或”“” “”“)来标识多行注释。
# -*- coding: utf-8 -*-
# 单行注释
'''
多行注释
多行注释
多行注释
'''
"""
Created on Sun Jul 23 12:23:51 2017
@author: Fatcat
"""
5. Python之禅
只需要一行代码就能看到Python之禅
import this
运行结果为:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
6. 所有代码
# -*- coding: utf-8 -*-
"""
Created on Sun Jul 23 12:23:51 2017
@author: Fatcat
"""
import keyword
import this
# 打印关键字
print(keyword.kwlist)
# 判断是否为关键字
print(keyword.iskeyword('False'))
print(keyword.iskeyword('false'))
# 打印字符串
message = "Hello world!"
print(message)
message = "Hello Python world!"
print(message)
# 字符串大小写操作
name = "ada lovelace"
name = name.title()
print(name)
print(name.lower())
print(name.upper())
# 字符串拼接
first_name = "ada"
last_name = "lovelace"
full_name = first_name +" " + last_name
print(full_name)
full_name = first_name + str(5) + last_name
print(full_name)
# 制表符和换行符
print("Language:\n\tPython\n\tC\n\tJavaScript")
# 删除字符串中的空格
string = " Hello Python world "
print(string.rstrip())
print(string.lstrip())
print(string.strip())
# 整数运算
print(2 + 3)
print(3 - 2)
print(2 * 3)
print(3 / 2)
print(3 ** 2)
# 浮点数运算
print(0.1 + 0.1)
print(0.2 + 0.2)
print(2 * 0.1)
print(0.1 + 0.2)
print(3 * 0.1)