目录

从Hello World说起

1.1 Number类型

1.2 List类型

1.3 Tuple类型

1.4 String类型

1.5 Set类型

1.6 Dict类型

1.7 Boolean类型


Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发,本篇对PYTHON的基本语法进行学习。

从Hello World说起

输出一行HELLO WORLD:

>>> print('HELLO,WORLD')

HELLO,WORLD

在Python中,每个值都有一种数据类型,但和一些强类型语言不同,开发者不需要直接声明变量的数据类型。Python会根据每个变量的初始赋值分析其数据类型,并在内部进行跟踪,在Python中,内置的数据类型主要包含以下几种:

  • Number,数值类型;
  • String,字符串;
  • List,列表,一个包含元素的序列;
  • Tuple,元组,和列表相似,但其是不可变的;
  • Set,一个包含元素的集合,其中的元素是无序的;
  • Dict,字典,由键值对构成;
  • Boolean,布尔类型,值为True或False;
  • Byte,字节类型,例如一个以字节流表示的jpg文件;

1.1 Number类型

以number中的int类型为例,可以使用type关键字获取某个数据的类型:

>>> print(type(1))

<class 'int'>

>>> a = 1 + 2 // 3 ## // 表示整除

>>> print(type(a))

<class 'int'>

int和float之间,一般会通过是否有小数点进行区分:

>>> a = 2 ** 4

>>> print(a)

16

>>> print(type(a))

<class 'int'>

>>> b = 4.0

>>> print(b)

4.0

>>> print(type(b))

<class 'float'>

须注意的是,将一个int与一个int类型相加,将会得到int,但将int与float相加,将得到float,这是因为Python会把int强制转换为float后再进行加法运算:

>>> c = a + b

>>> print(c)

20.0

>>> print(type(c))

<class 'float'>

可以使用内置关键字进行int与float之间的强制转换:

>>> int_num = 100

>>> float_num = 200.02

>>> print(float(int_num))

100.0

>>> print(int(float_num))

200

如下是算数运算的示例:

>>> a , b , c = 1 , 2 , 3.0

>>> print(a+b)

3

>>> print(a-b)

-1

>>> print(a*b)

2

>>> print(a/b)

0.5

>>> print(a//b)

0

>>> print(a**b)

1

>>> print(b%a)

0

1.2 List类型

List,列表是可迭代对象,对于列表而言,序列中的每一个元素都在一个固定的位置(索引)上,索引从0开始,列表中的元素可以是任何数据类型,Python中列表对应的表示形式是[]。

>>> li = [1,2,3,4]

>>> print(li[0])

1

>>> print(li[1])

2

>>> print(li[-1])

4

列表切片(splice)可以简单描述为从列表中提取一部分元素的操作,即通过指定两个索引值,获取列表一部分数据,返回值也是一个列表,从第一个索引开始,直到第二个索引结束(不包括第二个索引的元素):

>>> li = [i for i in range(20)]

>>> print(li)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>> print(li[11])

11

>>> print(li[0:5])

[0, 1, 2, 3, 4]

>>> print(li[15:-1])

[15, 16, 17, 18]

>>> print(li[:5])

[0, 1, 2, 3, 4]

>>> print(li[::-1])

[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> l2 = li[:]

>>> print(l2)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

除了对列表进行切片外,还可以对列表进行插入、删除操作:

>>> li = ['a']

>>> print(li)

['a']

>>> li = li + ['b']

>>> print(li)

['a', 'b']

>>> li.append('c')

>>> print(li)

['a', 'b', 'c']

>>> li.insert(0,'x')

>>> print(li)

['x', 'a', 'b', 'c']

>>> print(len(li))

4

>>> li.insert(len(li),'y')

>>> print(len(li))

5

>>> print(li)

['x', 'a', 'b', 'c', 'y']

>>> li.append(['d','e'])

>>> print(li)

['x', 'a', 'b', 'c', 'y', ['d', 'e']]

>>>

>>> li.extend(['f','g'])

>>> print(li)

['x', 'a', 'b', 'c', 'y', ['d', 'e'], 'f', 'g']

其中,extend接收一个列表,并把其元素分别添加到原有列表中,类似于扩展,append是把参数作为一个元素整体添加到原有列表中,insert会将单个元素插入到列表中,其第一个参数是列表中将插入的位置。

>>> print(li)

['x', 'a', 'b', 'c', 'y', ['d', 'e'], 'f', 'g']

>>> del li[0]

>>> print(li)

['a', 'b', 'c', 'y', ['d', 'e'], 'f', 'g']

>>> li.append('a')

>>> print(li)

['a', 'b', 'c', 'y', ['d', 'e'], 'f', 'g', 'a']

>>> li.remove('a')

>>> print(li)

['b', 'c', 'y', ['d', 'e'], 'f', 'g', 'a']

>>> li.pop()

'a'

>>> print(li)

['b', 'c', 'y', ['d', 'e'], 'f', 'g']

>>> li.pop(0)

'b'

>>> print(li)

['c', 'y', ['d', 'e'], 'f', 'g']

其中,remove接收一个参数,并删除列表中第一次出现的该值,pop不带参数,将删除列表中的最后一个元素,并返回所删除的值,如果带参数,则删除指定的索引值。

1.3 Tuple类型

Tuple,元组,与列表非常相似,最大区别在于:元组不可修改,定义之后就固定了;元组用()括起来,由于元组不可修改,故不能插入和删除元素;其它操作和列表List类型相似。

>>> t1 = (1,2,3,4,5)

>>> print(t1)

(1, 2, 3, 4, 5)

>>> print(t1[3])

4

>>> print(t1.index(5))

4

1.4 String类型

创建字符串时,需以用引号括起来,可以使用单引号或双引号,字符串也是可迭代对象,可通过下标访问。

>>> str1 = 'I love python'

>>> print(str1)

I love python

>>> print(str1[0:3])

I l

>>> str1 = str1 + 'haha'

>>> print(str1)

I love pythonhaha

>>> str1 = str1 + ' gggg'*2

>>> print(str1)

I love pythonhaha gggg gggg

>>>

>>> str = '{0} like {1}'.format('Alen','Python') ##格式化

>>> print(str)

Alen like Python

>>> str = '''Hello ,world ! ##三个引号可输入多行

... I like python,

... what about you ?

... '''

>>> print(str)

Hello ,world !

I like python,

what about you ?



>>> str = 'i like python, what do you like ? like what ?'

>>> print(str.capitalize())

I like python, what do you like ? like what ?

>>> print(str.lower())

i like python, what do you like ? like what ?

>>> print(str.split())

['i', 'like', 'python,', 'what', 'do', 'you', 'like', '?', 'like', 'what', '?']

>>> print(str.upper())

I LIKE PYTHON, WHAT DO YOU LIKE ? LIKE WHAT ?

>>> print(str.startswith('i'))

True

>>> print(str.count('like'))

3

>>> print(str.find('like'))

2

>>> print(str.splitlines())

['i like python, what do you like ? like what ?']

1.5 Set类型

Set,集合特点时无序且值唯一,可以使用花括号{}或set()创建集合,要创建一个空集合,须使用set()。

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}

>>> print(basket)

{'pear', 'orange', 'banana', 'apple'}

>>> s1 = set()

>>> print(s1)

set()

>>> s1.add(10)

>>> print(s1)

{10}

>>> s1.add(7)

>>> print(s1)

{10, 7}

>>> s1.add(7)

>>> print(s1)

{10, 7}



>>> s1 = {1,2,3}

>>> l1 = [4,5,6]

>>> s2 = set(l1)

>>> print(s1)

{1, 2, 3}

>>> print(s2)

{4, 5, 6}

>>> s1.update(s2)

>>> print(s1)

{1, 2, 3, 4, 5, 6}

>>> s1.discard(4)

>>> print(s1)

{1, 2, 3, 5, 6}

>>> s1.remove(5)

>>> print(s1)

{1, 2, 3, 6}

>>> s1.discard(20) ##删除一个不存在的元素时,不出错

>>> s1.remove(20) ##删除一个不存在的元素时,出错

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

KeyError: 20

>>> s1.clear()

>>> print(s1)

set()

1.6 Dict类型

Dict,字典是键值对的无序集合,使用{}创建。

>>> d1 = {'a':1,'b':2}

>>> d2 = dict([['apple','fruit'],['lion','animal']])

>>> d3 = dict(name='Pairs',status='alive',location='SZ')

>>> print(d1)

{'a': 1, 'b': 2}

>>> print(d2)

{'apple': 'fruit', 'lion': 'animal'}

>>> print(d3)

{'name': 'Pairs', 'status': 'alive', 'location': 'SZ'}

>>>

>>> print(d1['a'])

1

>>> print(d3.get('name'))

Pairs

>>>

>>> d1['c']=3

>>> print(d1)

{'a': 1, 'b': 2, 'c': 3}

>>> d3.update(name='Alen',tel='110')

>>> print(d3)

{'name': 'Alen', 'status': 'alive', 'location': 'SZ', 'tel': '110'}

>>> del d1['c']

>>> print(d1)

{'a': 1, 'b': 2}

>>> d1.pop('a')

1

>>> print(d1)

{'b': 2}

>>> print(d3.keys())

dict_keys(['name', 'status', 'location', 'tel'])

>>> print(d3.values())

dict_values(['Alen', 'alive', 'SZ', '110'])

1.7 Boolean类型

Boolean,布尔类型,值包含True或False。

>>> print(1>2)

False

>>> print(1<2)

True

>>> print('Love' in 'I love SZ')

False