目录
- 缩进与冒号
- 变量赋值
- 输入与输出
- 判断语句
- 循环语句
- 列表
- 元组
- 字典
- 集合
缩进与冒号
说到 Python,不得不提到 Python 独有的语法特点 - 缩进和冒号。
在 Python 中不需要像其他编程语言,如 Java 和 C++ 等等,使用 " ; " 来表示一行语句的结束,或是使用 " { } " 用来划分代码块。
在 Python 中,缩进是一种基本语法,用来区分代码之间的层次关系;冒号也是一种基本语法,一般用在 if...else...,for...in... 和 while 语句中,用来划分代码块,可参考本文下面关于这两种语法的讲解。
在 Python 中,同等层次的缩进代表同等层次下的代码,以 while 语法举例,之后会有关于 while 语法的讲解,这里仅用作讲解 [ 缩进 ] 和 [ 冒号 ] 的使用方式。
sum = 0
num = 1
while num < 10:
sum += num
num += 1
print (sum)
运行结果
45
- 上述代码用以计算 1 ~ 9 的和,其中 " : " 用来表示 while 代码块包含的内容,缩进用来区分代码的层次,同一层次下的代码使用不同层次的缩进会导致代码紊乱。
变量赋值
Python 的另一大特点,在于变量的赋值和创建不需要声明变量类型。
- Python 语法要求:变量在使用前都必须被赋值,且支持多个变量同行赋值,例如:
a = 1
b, c , str = 2, 3, "string"
- 赋值结果:a = 1,b = 2,c = 3,str = "string",其中 a、b 和 c 为整数类型,str 为字符串类型。
输入与输出
name = input("What's your name?")
print ('My name is %s.' %name)
age = 18
print ("I'm %d years old." %age)
运行结果
What's your name?cc
My name is cc.
I'm 18 years old.
输入函数 input,用来将输入的内容赋值给变量 name,其中 " ( ) " 中的内容显示在界面上。
输出函数 print,用来输出 " ( ) " 中的内容。
%name 和 %age 用来代表变量的内容,并用 %s 和 %d 字符串加以替代,其中 %s 用作替代字符串类型,%d 用来替代十进制整数。
判断语句
level = 5
p = True
if level > 10 and p:
print('Success')
if level < 0 or p is not True:
print('False')
elif level < 5:
print('Normal')
elif level < 10:
print('Hard')
elif level is 10:
print('Extreme')
运行结果
Hard
- 注意 if...else... 语句与其他编程语言的差异:冒号与缩进的使用,elif 的使用,and 与 or 的特殊用法。
循环语句
sum = 0
num = 1
while num < 10:
sum += num
num += 1
print (sum)
运行结果
45
- 注意 while 语句与其他编程语言的差异:冒号与缩进的使用。
for char in 'Python': # 遍历字符串 'Python' 中的每个字符
print ( '字符 :', char )
sports = ['football', 'basketball', 'tennis']
for sport in sports: # 遍历列表中的项
print ( '运动项目 :', sport )
sports = ['football', 'basketball', 'tennis']
for index in range(len(sports)): # 遍历列表中的项
print ( '运动项目 :', sports[index] )
运行结果
字符 : P
字符 : y
字符 : t
字符 : h
字符 : o
字符 : n
运动项目 : football
运动项目 : basketball
运动项目 : tennis
运动项目 : football
运动项目 : basketball
运动项目 : tennis
- 和其他编程语言相比,Python 的 for 循环语法更为灵活和多样。
列表 [ list ]
lists = [ 'a', 'b' ]
print ( len(lists) )
lists.append( 'd' )
print (lists)
lists.pop()
print (lists)
lists.insert( 1, 't' )
print (lists)
lists.insert( 1, 't' )
print (lists)
lists += [1, 2, 3]
print (lists)
lists *= 2
print (lists)
print (2 in lists)
del lists[2]
print (lists)
del lists
运行结果
2
['a', 'b', 'd']
['a', 'b']
['a', 't', 'b']
['a', 't', 't', 'b']
['a', 't', 't', 'b', 1, 2, 3]
['a', 't', 't', 'b', 1, 2, 3, 'a', 't', 't', 'b', 1, 2, 3]
True
['a', 't', 'b', 1, 2, 3, 'a', 't', 't', 'b', 1, 2, 3]
- 在 Python 中,列表类似于数组,具有增删改查等基本功能。
元组 ( tuple )
tup1 = ( 1, 2, 3, 4 )
print (tup1[1])
tup2 = tup1 + ( 5, 6, 7 )
print (tup2)
del tup1, tup2
运行结果
2
(1, 2, 3, 4, 5, 6, 7)
- 元组与列表相似,但元组一旦被确定后,便不能被修改。
字典 { dictionary : value }
dict = {'a': 1, 'b': 2, 'c': 3}
print (dict['a'])
dict['a'] = 4
print (dict)
del dict['a']
print (dict)
del dict
运行结果
1
{'a': 4, 'b': 2, 'c': 3}
{'b': 2, 'c': 3}
- 字典的每个键值 key 对应一个 value,且存储的 key 均不相同,具备增删改查等功能,可存储任意类型对象。
集合 { set }
a = set('asdfgasdfghj')
print (a)
b = { 'a', 'b', 'c', 'a', 'b', 'c', 'd' }
print (b)
c = set(('asd', 'zxc', 'qwe', 'asd', 'zxc', 'qaz'))
print (c)
print (a - b) # 包含在集合a中且不包含在集合b中的元素
print (a | b) # 在集合a或b中包含的元素
print (a & b) # 在集合a和b中都包含的元素
print (a ^ b) # 不同时包含于集合a和b的元素
b.add ( 'f' )
print (b)
b.update ({1,'123'}, ['qwe','asd'])
print (b)
b.remove(1)
print (b)
b.discard('123')
print (b)
b.pop()
print (b)
print (len(b))
print ('a' in b)
b.clear()
print (b)
运行结果
{'j', 'a', 'g', 'd', 'f', 's', 'h'}
{'b', 'd', 'a', 'c'}
{'qwe', 'asd', 'zxc', 'qaz'}
{'j', 'g', 'f', 's', 'h'}
{'j', 'a', 'g', 'd', 'f', 's', 'b', 'c', 'h'}
{'d', 'a'}
{'j', 'g', 'f', 'b', 's', 'c', 'h'}
{'a', 'd', 'f', 'b', 'c'}
{'qwe', 1, 'a', 'asd', 'd', '123', 'f', 'b', 'c'}
{'qwe', 'a', 'asd', 'd', '123', 'f', 'b', 'c'}
{'qwe', 'a', 'asd', 'd', 'f', 'b', 'c'}
{'a', 'asd', 'd', 'f', 'b', 'c'}
6
True
set()
- 集合的元素互不相同,且无序排列,具备增删改查等基本功能。