序言
本文作为三天入门Python的第一篇,先来个序言:
为什么写这样的文章,Python作为当下一个热门流行的语言,以及其在深度学习框架中的广泛应用,已经严重影响到了我的学习与工作,尤其是一个想要入门AI算法研究的开发者。
三天入门Python有些夸张,但是,如果你已经是一个掌握了C/C++/Java/C#等多种语言的开发者,那么,完全有这个可能,下面就开始我们的学习旅程吧。
首先,我们强调两句话:
1,无论学习任何语言,入门第一件事一定是基本语法;
2,无论是哪一种语言,基本语法都大同小异;
有了这两句话,我们就开始真正的学习。
正文:
1,Python的缩进
Python通过代码缩进量来保持对应语句逻辑的一致性,不一致的缩进会导致代码运行的错误。
例如,如下代码正确:
if a > b:
a = b
else:
b = a
如下代码错误:
if a > b:
a = b
else: # 此处缩进量错误,导致代码运行出错
b = a
2,Python的注释
Python中单行注释采用#号表示,如1中的注释代码所示;
Python中多行注释使用''' XXXX '''表示,前后各三个引号;
如下面代码所示:
'''
该程序段功能是:
简单的说明多行注释方法而已
'''
if a > b:
a = b
else: #此处用法为单行注释
b = a
3,Python键盘输入使用input()函数
例如:
>>>
>>> name = input('Please input your name:')
Please input your name:Bob
>>> name
'Bob'
>>>
4,Python显示结果使用print()
在C语言中,显示使用printf(),而Python中是print();
例如:
>>> print('Hello world!')
Hello world!
>>>
5,Python算数运算
Python中的基本算数运算与C、C++、C#、Java等语言基本一样,只有一个例外:
2**3表示的是2的三次方,此处**表示次方运算
6,Python中的字符串可以使用单引号',双引号'',三个单引号''',三个双引号"""表示;
例如:'abc' "abc" '''abc''' """abc"""
7,Python的整形表示
0o24和0O24一致,都表示一个八进制整数;
0x3F和0X3F一致,都表示一个十六进制整数;
0b101和0B101一致,都表示一个二进制整数;
8,Python中的类型转换
a = str(X) 将X转为字符串赋值给a
a = int(X) 将X转为整形赋值给a
a = float(X) 将X转为浮点型赋值给a
这里没有double类型
9,Python中的中文字符串encode和decode
encode:将字符串转为byte类型
decode:将byte类型数据转为字符串
例如:
>>>
>>> astr = "Hello world!"
>>> astr_utf8_bts = astr.encode() #编码为utf8格式
>>> astr_tmp = astr_utf8_bts.decode() #解码为字符串
>>> print(astr)
Hello world! #原始字符串
>>> print(astr_utf8_bts)
b'Hello world!' #encode后的byte类型字符串
>>> print(astr_tmp)
Hello world! #decode后的字符串
>>>
10,列表list
①list为中括号表示[]
构建一个空列表:alist = list()
构建一个非空列表: alist = [1,2,'a'] #此处列表中数字和字符串类型均可
②列表访问与运算
print(alist[0] ) #直接访问列表中的第一个元素, 输出为: 1
alist[0] = alist[1] + 2 #列表中的赋值与运算 输出为: 4
alist = [1,2] + [3,4] #列表相加运算 输出为: [1,2,3,4]
alist = [1,2] *2 #此处*号表示重复2次 输出为: [1,2,1,2]
③列表有一些常用的操作:追加apend()、索引index()、插入insert()、删除末尾元素 pop()、删除remove()、从小到大排序sort()、反转reverse()
11,元祖tuple
tuple使用()表示;
①构建空元祖tuple(),元祖用逗号,表示;
②元祖赋值与运算
>>>
>>> a = tuple() #构建空元祖
>>> a
()
>>> a = 2,3 #创建一个非空元祖
>>> a
(2, 3)
>>> a[1] #访问元祖元素
3
>>> a[1] = 2 #无法给元祖赋值,所以出错(元祖一旦创建,内容无法更改)
Traceback (most recent call last):
File "", line 1, in
a[1] = 2 #无法给元祖赋值,所以出错(元祖一旦创建,内容无法更改)
TypeError: 'tuple' object does not support item assignment
>>>
12,字典dict
字典dict使用大括号{}表示
①创建空字典dict();
②字典访问与赋值
>>>
>>> a = dict() #创建空字典
>>> a
{}
>>> a = {'key0':0, 'key1':1, 'key2':2} #创建非空字典
>>> a
{'key1': 1, 'key2': 2, 'key0': 0}
>>> a['key0'] #访问字典内容
0
>>> a[1] #此方式无法访问
Traceback (most recent call last):
File "", line 1, in
a[1] #此方式无法访问
KeyError: 1
>>>
③字典常用操作
>>>
>>> a.get('key1') #获取字典中key1对应的value
1
>>> a.keys() #获取字典中所有的key
dict_keys(['key1', 'key2', 'key0'])
>>> a.values() #获取字典中所有的value
dict_values([1, 2, 0])
>>> a.update({'key2':3}) #将字典中key2对应的value修改为3
>>> a
{'key1': 1, 'key2': 3, 'key0': 0}
>>> a.pop('key0') #删除key0键值对并返回
0
>>> a
{'key1': 1, 'key2': 3}
>>>
第一种形式:
>>> if(x < 0):
print(True)
else: #if语句括号可有可无,但是冒号:必须要有
print(False)
第二种形式:
>>> if(x < 0):
print('1')
elif (x == 0): #多条件分支需要用elif表示,而不是else if
print('2')
else:
print('3')
15,for语句
>>>
>>> for i in [1,2,3,4,5] : #此处无括号,与C区别开来,冒号:不可省略
print(i)
1
2
3
4
5
>>>
>>> adct = {'a': 1, 'b':2, 'c':3, 'd':4}
>>> for key, value in adct.items():
print(key) #循环访问字典
a
b
c
d
>>> for key in adct.keys():
print(key) #循环访问字典所有key
a
b
c
d
>>> for value in adct.values():
print(value) #循环访问字典value
1
2
3
4
>>>
>>> for i in range(4): #range()函数使用 range(start, stop, step):从start开始到end结束,增量为step
print(i)
0
1
2
3
此处相当于C中的:
for(int i = start; i < stop; i += step)
{
printf(i);
}
16,while语句
格式如下:
i = 0
while i < 100: #此处冒号不可省略
print(i)
i++;
else: #此处注意缩进
print('Done')
以上16点内容,就是Python的基本语法,差不多含盖了大部分入门者经常用的内容,本人用了三个小时学完的,一天时间应该是够用的!