python简单上手

一、基本数据类型:

  • int
  • long
  • bool
  • float
    与Java中非常接近.可以近似认为一致.bool的值是True和False,或者0(False),非0就是True.

二、操作符

与Java和C中十分类似, +(加), -(减), (乘), /(除), %(求余), *(指数运算), = (赋值).以及减便运算,如 +=, -=, *=和/= 等.
赋值运算与其他语言一致.
逻辑操作 >< <= >= != ==与其他语言一样.
不一样的有not逻辑非,and逻辑与和or逻辑或.

三、注释与文档

一行当中,从#开始地方就是注释.不会影响下一行.
“”引号放在文件的开头,函数的开头或者一个类的开头,就是文档注释,与Java中的/* … /作用和目的是一样的.

1、折行

如果一行太长了,写不下了,就需要在下一行接着写,这时可以使用\来告诉Python,下一行继续.

Python是一个语句放在一行,行尾可以选择性的加上;但如果想在一行放多个语句,就需要用;来分隔语句:
a = 1; b = 2; c = 3;
虽然这在语法上可行,但不是一个好习惯,绝大多数的编程规范都是要一行写一个语句.

四、数组、集合

1、List和Tuple

这就是Java或C中的数组.它是一个容器,能用来顺序的,以整数索引方式检索, 存储一组对象. List[] 来表示,如 [1, 2, 3] 就是一个List;而 Tuple() 来表示,如 (3, 4, 5) 就是一个 Tuple .
它们的区别在于List是可变的;而Tuple是不可变的.也就是说不可以增,删和改.
索引方式除了与Java一样的以一个整数下标方式外,还可以指定开始,结束和步长,和使用负索引来分割List:
通用语法格式是: list[start: end: step]

list[index] --- 返回第(index+1)个元素,受C语言影响,下标亦是从0开始  
list[start:end] --- 返回从start开始,到end-1,也就是list[start], list[start+1].....list[end-1]  
list[start:end:step] --- 与上面类似,只不过每隔step取一个  
list[:end]  ---- 缺省的开端是0  
list[start:] ---- 缺省的结尾是len(list),或者-1  
负数索引更是方便,它与正数的对应关系为:  
正数索引   0    1      2      3
数组元素  [1]   [3]    [5]    [7]
负数索引  -4    -3      -2    -1

实例:

>>> a = [1, 3, 5, 7];  
>>> a[0]  
1  
>>> a[3]  
7  
>>> a[-1]  
7  
>>> a[-2]  
5  
>>> a[0:3]  
[1, 3, 5]  
>>> a[1:3:2]  
[3]  
>>> a[0:3:2]  
[1, 5]  
>>> a[0:-1:2]  
[1, 5]  
>>>

list增删查改:

//list是一个可变的有序表,所以,可以往list中追加元素到末尾:
list.append('Adam')
//也可以把元素插入到指定的位置,比如索引号为1的位置:
list.insert(1, 'Jack')
//要删除list末尾的元素,用pop()方法:
list.pop()
//要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
list.pop(i)

list里面的元素的数据类型也可以不同
list里面也可以包含list

2、tuple

tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

classmates = ('Michael', 'Bob', 'Tracy')

现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。

tuple里面如果包含有一个list,则这个list里面的元素可以被改变;

扫描二维码关注公众号,回复: 2805067 查看本文章

3、dict

dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
例:

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
>>> d['Michael'] = 90
>>> d['Michael']
90
  • 多次对一个key放入value,后面的值会把前面的值冲掉
  • 如果key不存在,dict就会报错
    要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:
>>> 'Thomas' in d
False

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
  • 要删除一个key,用pop(key)方法,对应的value也会从dict中删除

4、set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

重复元素在set中自动被过滤:

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果

>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}

通过remove(key)方法可以删除元素:

>>> s.remove(4)
>>> s
{1, 2, 3}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

列表生成式(强大):
举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):

>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

但如果要生成[1x1, 2x2, 3x3, …, 10x10]怎么做?方法一是循环:

>>> L = []
>>> for x in range(1, 11):
...    L.append(x * x)
...
>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:

>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。

for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:

>>> [x * x for x in range(1, 11) if x % 2 == 0]
[4, 16, 36, 64, 100]

五、字符串String

字符串就是一个字符的数组,List的操作都可以对String直接使用.

1、字串格式化符%

这是一个类似C语言printf和Java中的String.format()的操作符,它能格式化字串,整数,浮点等类型:语句是:
formats % (var1, var2,….)
它返回的是一个String.

>>> "Int %d, Float %d, String '%s'" % (5, 2.3, 'hello')  
"Int 5, Float 2, String 'hello'"  
>>> 

六、分支语句

格式为:

if expression:  
      blocks;  
elif expression2:  
      blocks;  
else:  
      blocks; 

七、循环

1、for循环:

格式:

for x in list:
break;

例:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)
//或者
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(x)

2、while循环

格式:

while expression:
      blocks

八、函数

ython内置了很多有用的函数,我们可以直接调用。

要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:

http://docs.python.org/3/library/functions.html#abs

也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。

1、定义函数

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

def function_name(args):
      function_body;

调用函数的方式function_name(formal_args):

>>> def power(x):  
... return x*x;  
...   
>>> power(4)  
16  
>>>
  • Python中函数也是一个对象,可以赋值,可以拷贝,可以像普通变量那样使用.
    函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算绝对值的函数!

另外就是匿名函数,或者叫做lambda函数,它没有名字,只有参数和表达式:
lambda args: expression

>>> d = lambda x: x*x;  
>>> d(2)  
4

如果想定义一个什么事也不做的空函数,可以用pass语句:

def nop():
pass

九、定义类

用class关键字定义类:

class ClassName(object):
    ...

在类中:__init__()可以被当成构造器,不过不像其他语言中的构造器,++它并不创建实例——它仅仅是你的对象创建后执行的第一个方法++。它的目的是执行一些该对象的必要的初始化工作。

ps:不定期更新。

猜你喜欢

转载自blog.csdn.net/zzzypp/article/details/64919969