经过一周多的学习,对python语言已经有了基本的了解和认识,但仅仅将知识学习一遍是不够的,所以我又从头看了一遍,仔细回味,发现自己对其中知识点的了解的不是很详尽,没有理解就无法开发,唯一的解决办法就是吃透它。当然,作为一个初学者,所谓的吃透不一定是完全的掌握,而是知道它的意思和用法,能够初步简单的运用,比如在一堆代码中,能够知道其意思,在代码中的作用等。下面就让我来总结下:
(1)python的安装和界面
本人使用的是Windows64位系统,所以安装起来很简单,自行百度,使用的是3.6x版本,百度网盘下载地址:https://pan.baidu.com/s/1pMrrIOj,密码:ee2a。在开发中要分清命令行模式和python交互模式的区别,不然在学习过程中可能会因为不必要的错误浪费时间。
(2)python代码编写规范
如果安装了开发工具,就能很清楚的感受到python语言的语法规范了。使用缩进来组织代码块;大小写敏感等,所以在开发过程中,最好养成良好的开发习惯,这样才能更好更快的开发,避免出错。
(3)python数据类型、变量、常量
数据类型无非就是整数、浮点数、字符串、布尔值等,当然后面还有列表、字典什么的,和java其他没多大区别,只是在写法上有点出入,准确的说是表达更加简洁了。在这里注意空值,用None表示,None!=0,和0是有区别的,这点要注意。当然,在开发中,常量、变量同样不可或缺,有点开发基础的都应该有所了解的,通过一个简单的例子来说明一下变量:
a = 'ABC'
b = a
a = 'XYZ'
print(b)
上面代码的输出是‘ABC’,分析一下:
执行a = 'ABC'
,解释器创建了字符串'ABC'
和变量a
,并把a
指向'ABC'
:
执行b = a
,解释器创建了变量b
,并把b
指向a
指向的字符串'ABC'
:
执行a = 'XYZ'
,解释器创建了字符串'XYZ',并把a
的指向改为'XYZ'
,但b
并没有更改:
所以,最后打印变量b
的结果自然是'ABC'
了。
(4)字符串和编码、格式化
计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理,1字节=8Bit,ASCII、Unicode和UTF-8的关系如下:
字符 | ASCII | Unicode | UTF-8 |
---|---|---|---|
A | 01000001 | 00000000 01000001 | 01000001 |
中 | x | 01001110 00101101 | 11100100 10111000 10101101 |
很多网页的源码上会有类似<meta charset="UTF-8" />
的信息,表示该网页正是用的UTF-8编码。Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
%
运算符就是用来格式化字符串的。在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?
,括号可以省略:
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
(5)list、tuple、dict、set
这几个在开发中很常用,所以必须清楚它们的具体用法。
1、list是有序集合,能随时添加和删除数据,可变集合;
2、通过索引访问数据,从0开始,既能正向访问亦能反向访问,即正向从0开始访问第一个元素,反向从-1开始访问最后一个元素;
3、用 [ ] 显示;
4、其方法很多,如 append、insert、pop;
5、里面元素的数据类型也可以不同
>>> AList = ['Ada','Bob',123,'Daddy','Emmy'] >>> AList[0] >>> 'Ada' >>> AList[-1] >>> 'Emmy'
注意确保不要越界,会报IndexError错误。
1、tuple,另一种有序列表叫元组,和list相似,但一旦初始化就不能修改;
2、通过索引访问数据,从0开始,既能正向访问亦能反向访问,即正向从0开始访问第一个元素,反向从-1开始访问最后一个元素;
3、用()显示,当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来;
4、无 append、insert、pop等方法,不能赋值成另外的元素;
5、特性是代码安全;
6、只有1个元素的tuple定义时必须加一个逗号,来消除歧义,t(1,);
7、tuple元素中包含list时,list可变,但tuple本身未变;
>>> t = ('a','b',['A','B']) >>> t[0] >>> 'a' >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t >>> ('a','b',['X','Y'])
注意确保不要越界,会报IndexError错误。
1、dict全称dictionary,字典,也称为map,使用键-值(key-value)存储,具有极快的查找速度;
2、dict的key必须是不可变对象;
3、 dict内部存放的顺序和key放入的顺序是没有关系的;
4、 方法 get(key)获取对应value,pop(key)删除元素;
>>> d = ['Ada':98,'Bob':78,'Cily':100] >>> d['Ada'] >>> 98
1、set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key;
2、 创建一个set,需要提供一个list作为输入集合;
3、不可以放入可变对象;
4、方法add(key),remove(key);
>>> s = set([1,2,2,3,1,5]) >>> s >>> {1,2,3,5}
(6)条件判断和循环
和java语法类似,也是if-else,while,for的使用:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
注意,这里if语句的特点:从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,如下打印的是 teenager:
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
这里的循环有两种方式,一种是for...in循环,一种是while循环,很简单的,基本和java语法一致,如下:
# for...in循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
# while循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
range()函数,可以生成一个整数序列,再通过list()
函数可以转换为list,如下:
>>> list(range(5))
[0, 1, 2, 3, 4]
以上是学习python语言时所必须掌握和理解的,也是前期的知识点,不多但需要充分的理解和运用,只有把基础知识打的够牢固,后面的增加训练如函数、进程等,才能保证自己学起来不吃力。