Why Python?
在决定考研之前,实际上已经开始有想法学习Python,只不过还没学几天就决定索性考个研,于是Python就暂时地中断了。1月份的时候又捡起来,快速过了一遍MOOC,没作深入研究。
现在有很大概率能读研,方向也很大可能是AI,Python便成了必要技能。
另一方面,因为C++也是必备的,但是更难,因此快速入门Python之后再啃C++吧。
那就开始吧!
注:由于我有C的基础,所以学习Python也是在和C比较着学,在这里着重记录的也就是与C的区别。
数据类型
这是与C有很大区别的点,也是突出Python简单的一个点。
使用变量之前无须声明。当然,也可以声明,声明了就是静态变量,没有声明就是动态变量。显然,动态变量比静态变量灵活很多。
数据类型与C基本相同,需要注意的是,Python中除法的结果是浮点数,整除的结果也是浮点数,而从浮点型向整形转换的方法是函数,而不是C中的强制类型转换。 比如9 / 3的结果是3.0,int(9 / 3)的结果是3。
I/O函数
input()
两个突出区别:
1、输入后的数据类型为字符串
2、函数参数中可以有提示符
a = input('Please enter a number: ')
b = a + 1 #报错,因为a是字符串类型
b = int(a) + 1 #输出结果a+1
print()
相比C,Python的打印函数用法多样:
>>>print('ABC' + 'CD')
ABCCD
>>>print('ABC', 'CD')
ABC CD
>>>print('100 + 200 =', 100 + 200)
100 + 200 = 300
另外,与变量结合输出的方法有两种:
1、与C大致相同的%方法
# shell中的用法
>>>'Hi, %s!' % ('0range')
'Hi, 0range!'
>>>'Age: %d, Name: %s' % (27, '0range')
'Age: 27, Name: 0range' #暴露年龄了……
# 函数用法
print('Hi, %s!' % ('0range'))
output:Hi, 0range!
2、与C不同的format方法
>>>'{}{}{}'.format('0range','不是一个','帅哥')
>>>'0range不是一个帅哥' '''当然这是不可能的
输出的肯定是'False'哈
手机上竟然显示不了这么长
只能换行了'''
print函数的format格式化方法还有更加复杂的用法,但是熟练之后又会显现出Python的独特优势。关于format的更多用法,后续将单独总结。
字符串编码
历史沿革:从开始特供美国人使用的ASCII码,到各国制定编码标准(比如我国的GB2312),再到统一的国际标准Unicode,再到在计算机中存储和传输更方便的utf-8。
python3中使用的便是Unicode编码,也就是说,python3在内存中使用的是Unicode编码,一个字符对应若干个字节,要想存储在磁盘上或者传输,就必须转换为字节流bytes。python中提供了几种转换方式,ord(),chr()……另外,以Unicode表示的字符串可以通过encode()方式转换为bytes,bytes也可以通过decode()转换为字符串。