字符串就是在单引号、双引号和三引号之间的文字。单引号示例:print('welcome to hangzhou'),其中所有的空格和制表符都照原样保留。单引号与双引号的作用其实是一样的,但是当引号里包含单引号时,则该引号需使用双引号,例如:print("what’s your name?")。三引号可以指示一个多行的字符串,也可以在三引号中自由使用单引号和双引号,如下所示:
print(‘’'Mike:Hi,How are you?
LiMing:Fine,Thank you!and you?
Mike:I’m fine,too!‘’')
如果要在单引号字符串中使用单引号本身,在双引号字符串中使用双引号本身,则需要借助于转义符(\),如下所示:
print(‘whar’s your name?’)
#输出结果如下:whar’s your name?
注意:在一个字符串中,行末单独的斜杠号表示下一行继续,而不是开始写新的一行,另外可以使用双反斜杠(\)来表示反斜杠本身,而 \n 表示换行符。
如果想要指示某些不需要使用转义符进行特别处理的字符串,那么需要指定一个原始字符串。原始字符串通过给字符串加上前缀 r 或 R 的方式指定,比如需要原样输出 \n 而不是令其换行,则代码如下:
print(r"Newlines are indicated by \n")
#输出结果是Newlines are indicated by \n
字符串的截取格式如下所示:
字符串常量[start_index:end_index+1]
此处解释下为什么加 1:字符串的截取从 start_index 开始,到 end_index 结束,也就是大家常理解的左闭右开,如下所示:
str = 'Lingyi'
print(str[0]) #输出结果为L
print(str[1:4]) #输出结果为ing
print(str[-1]) #输出结果为i
尝试下面的代码:
num = 1
string = '1'
print(num+string)
此时,运行程序会报错,错误提示如下所示,为什么呢?
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
字符串(string)只是 Python 中的一种数据类型,下面的语句在赋值的时候右侧用了单引号,数据类型是字符串(string)。
string = ‘1’
下面语句的数据类型为整型(integer)。
num = 1
不同的数据类型之间是不能进行运算的,但是,不同数据类型可以相互转换,以上代码通过修改后就可以正常运行,修改后的代码如下:
num = 1
string = '1'
num2 = int(string)
print(num+num2)
注意,“+”号用在字符串中间是连接符,用在数值中间是运算符:int() 是将括号中的数值或者文本转换成整型数据类型。
运行后,即时窗口中打印的结果是 2,如图 15 所示。
四则基础运算如下:
a = 1
b = 2
c = a+b
print(c)
因为相加的双方是数值型,此时“+”号是运算符,运行结果如下:
3
相加的双方是字符型数据,此时“+”号是连接符:
a = 1
b = 2
c = 'a'+'b'
print(c)
运行结果如下:
ab
3、列表
Python 列表是任意对象的有序集合,列表写在中括号 [] 里,元素之间用逗号隔开。这里的任意对象,既可以是列表嵌套列表,也可以是字符串,如下所示:
list = [“Python”,12,[1,2,3],3.14,True]
#print(list)#运行结果为[‘Python’, 12, [1, 2, 3], 3.14, True]
每个 list(list 是笔者自定义的变量)中的元素从 0 开始计数,如下代码可以选取 list 中的第一个元素:
list = [1,2,3,4]
print(list[0])
#运行结果为1
列表删除操作可以使用 remove 方法,只需要在变量名字后面加个句号就可以轻松调用,PyCharm 有自动联想功能,选中目标方法或者函数,按【Tab】键即可快速键入,如图 16 所示:
以下代码用于删除第 3 个元素,并用 print 将结果打印出来。其中 remove 方法用于删除列表的元素:
list.remove(3)
#print(list)#运行结果是[1, 2, 4]
元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间则用逗号隔开,如下所示:
tuple = ['abc',76,'ly',898,5.2]
print(tuple[1:3])
#运行结果是[76,'ly']
集合
集合(set)是一个无序不重复元素的序列,可以使用大括号 {} 或者 set() 函数创建集合。需要注意的是,一个空集必须使用 set() 函数创建而不能使用大括号 {},因为大括号 {} 是用来创建空字典的,如下所示:
age = {18,19,18,20,21,20}
print(age)
#运行结果是{18, 19, 20, 21}
字典
字典是一种可变容器模型,且可存储任意类型对象,用 {} 标识。字典是一个无序的键(key)值(value)对的集合,格式如下所示:
dic = {key1 : value1, key2:value2}
接下来建立一个字典,代码如下:
information = {
'name':'liming',
'age':'24'
}
print(information)
#运行结果是{'name': 'liming', 'age': '24'}
其中 name 是一个 key(键),liming 是一个 value(值)。
字典增加数据时,可以使用下面的方法:
information['sex'] = 'boy'
print(information)
#运行结果是{'name': 'liming', 'age': '24', 'sex': 'boy'}
字典删除数据时,可以使用 del 函数,代码如下:
del information['age']
print(information)
#运行结果是{'name': 'liming', 'sex': 'boy'}
Python 语句与函数
1、条件语句
接下来进行登录验证操作,首先给变量 password 赋值,然后判断 password(密码)是否正确,正确就打印“login success!”(登录成功!),错误就打印“wrong password”(密码错误):
password = '12345'
if password == '12345':
print('login sucess!')
else
print('wrong password')
在 Python 中判断是否相等可以使用“==”两个等号(单个等号是赋值)。
条件语句的语法如下:
if 判断条件:
执行语句…
else:
执行语句…
循环语句
在 Python 中要注意缩进,条件语句根据缩进来判断执行语句的归属。
下面用 for 语句实现 1 至 9 的累加:
sum = 0;
for i in range(1,10,1):#不包含 10,实际为1-9
sum = i + sum
print(sum)
#运行结果是45
其中 range 表示范围,i 从 1(第 1 个参数)开始迭代,每次加 1(第 3 个参数),直到 i 变成了 10(第 2 个参数)结束,因此当 i=10 时不执行语句,for 循环是 9 次迭代。# 号代表注释,# 号后面的文本将不会执行。在 PyCharm 中,如果要注释代码,则可以选中代码后按组合键【Ctrl+/】。
for 的语法如下:
for 迭代变量 in 迭代次数:
执行语句…
如果是列表或者字典,就不用 range() 函数,直接用列表或者字典,此时 i 表示列表或者字典中的元素,代码如下:
list = {1,2,3,4}
for i in list:
print(i)
运行结果如下:
1
2
3
4
2、函数
在刚刚接触的函数中,print() 是将结果打印出来的函数,int() 是将字符串类型转换成数据类型的函数。类似这种函数,统称为内建函数,内建函数可以直接调用。
有内就有外,外建函数其实就是通常所讲的自定义函数。
自定义函数的语法如下:
def f(x):
定义过程
return f(x)
def(define 即定义)是创建函数的方法,下面用 def 创建方程:y=5x+2:
def y(x):
y = 5\*x + 2
return y
#下面调用自定义函数y
d = y(5)
print(d)
#运行结果是 27