Python心得基础篇【1】入门篇

  • python2和python3有什么区别

1.print

py2:print语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印

py3:print函数,函数就以为这必须要加上括号才能调用,如果接元组对象,可以接收多个位置参数,并可以打印

如果希望在 Python2 中 把 print 当函数使用,那么可以导入 future 模块 中的 print_function

1 # py2
2 >>> print("hello", "world")
3 ('hello', 'world')
4 # py3
5 >>> print("hello", "world")
6 hello world

2.输入语句

py2:raw_input

py3:input()

3.在使用super()的不同

py2:必须显示的在参数中写上基类

py:直接无参数调用即可

4.1/2的结果

py2:返回0

py3:返回0.5,没有了int和long的区别

5.编码

py2:默认编码ascii

py3:默认编码utf-8

而且为了在py2中使用中文,在头部引入coding声明,不推荐使用

6.字符串

py2:unicode类型表示字符串序列,str类型表示字节序列

py3::str类型表示字符串序列,byte类型表示字节序列

7.True和False

py2:True 和 False 在 Python2 中是两个全局变量,可以为其赋值或者进行别的操作,初始数值分别为1和0,虽然修改是违背了python设计的原则,但是确实可以更改

py3:修正了这个变量,让True或False不可变

8.迭代器

py2:当中许多返回列表的方法,如range,字典对象的 dict.keys()、dict.values() 方法, map、filter、zip;并且迭代器必须实现next方法

py3:将返回列表的方法改为了返回迭代器对象,内置了__next__,不用特意去实现next

9.nonlocal

py2:没有办法在嵌套函数中将变量声明为一个非局部变量,只能在函数中声明全局变量

py3:nonlocal方法实现了,示例如下:

def func():
 c = 1
    def foo():
        c = 12
    foo()
    print(c)
func()    #1
def func():
    c = 1
    def foo():
        nonlocal c
        c = 12
    foo()
    print(c)
func()   # 12
  • 在linux中配置python环境

在大多数linux系统中,需要执行一个命令安装Geany(文本编辑器)

$sudo apt-get install geany

 

  • 变量和简单数据类型

变量名的使用:只能包含字母、数字和下划线,且变量名可以以下划线或字母打头,但不可以以数字打头;

变量名不能包含空格;

不要使用python已有的函数名和关键字。

字符串就是一系列字符,在python中用引号引起的都是字符串。

python用(+)号来合并字符串(拼接)。

使用函数str()来避免类型错误。

 

  • 列表

索引、切片,索引从0开始,在不指定任何索引的情况下提取切片,如friend_food = my_food[:],就创建了这个列表的副本

bike = ['treck','redline']
print(bike[0])

 上述代码反映了访问列表元素的方法,python只返回该元素,而不会返回包括方括号和引号。

 if 循环主要用于判断

for循环用于循环每一个元素

while循环用于不断地循环,直到指定的条件不满足

enumrate用法

list1 = ["", "", "一个", "测试"]
for index, item in enumerate(list1):
    print index, item
>>>
0 这
12 一个
3 测试

建议行长不超过80字符,注释行长不超过72字符

  • if语句

每条if语句的核心都是一条值为True或False的表达式,这种表达式被称为条件测试。

大小写不同,if语句会认为是不同的。

可省略else代码块

if在将列表名用在条件表达式中时,python将在列表至少包含一个元素时返回True。

  • set集合

set是一个无序且不重复的元素集合

  • collection

1、计数器(counter)

Counter是对字典类型的补充,用于追踪值的出现次数。

ps:具备字典的所有功能 + 自己的功能

2、有序字典(orderedDict )

orderdDict是对字典类型的补充,他记住了字典元素添加的顺序

3、默认字典(defaultdict)

4、可命名元组(namedtuple) 

根据nametuple可以创建一个包含tuple所有功能以及其他功能的类型

5、双向队列(deque)

一个线程安全的双向队列

 

  • 字典

字典是一系列键值对,每个键都与一个值关联,你可以使用键来访问与之关联的值,与键关联的可以是数字、字符串、列表乃至字典,可将任何python对象用作字典中的值。

添加键值对,修改键的值,删除键值对del(永久删除)

遍历所有键值对

user = {}
for key,value in user.items():
    print('\nkey:'+key)
    print('\nvalue:'+value)

注意,即使遍历字典时,键值的返回顺序也和存储顺序不同

嵌套

  • 用户输入和while循环

使用标志

python中任何循环都可以使用break循环

用while循环来处理列表和字典

while+列表:代表循环不断进行,只要列表中有元素

删除列表中特定元素:

1 pet = [cat,dog,cat]
2 while 'cat' in pet:
3     pet.remove('cat')
4 print(pet)

 

posted @ 2018-01-24 21:35  麻爪棒棒鸡  阅读(225)  评论(0编辑  收藏  举报