Python能做什么
Python具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比java和C#.net更彻底。 作为一种通用语言,Python几乎可以用在任何领域和场合,角色几乎是无限的。 Python在软件质量控制、提升开发效率、可移植性、组件集成、丰富库支持等各个方面均处于先进地位。同样学习编程语言,当然要选择学习业内目前最先进、最热门、将来应用最广泛、最有前途和前景的编程语言。甚至有人预言, Python会成为继C++和Java之后的第三个主流编程语言。
博客中所用的python版本为3.6.5的IDLE
1.学习Python首先要了解它的注释怎么写!
在python中,它的注释风格不同于C/C++中的注释,并不是使用//或者/**/来注释代码的。而是使用其特有的注释风格:
- 单行注释
C/C++:
//int a;
/*int b;*/
Python:
#a = 3
- 多行注释
python中的多行注释使用三引号注释法,三引号可是单引号也可以是双引号
C/C++:
/*int a;
int b;*/
Python:
'''
a = 3
b = 9
'''
or
"""
a = 8
b = 9
"""
2.Python中的数据类型
python中的数据类型:
- 数
- 字符串
- 列表
- 元组
- 集合
- 字典
1.数
python不拘泥于数的类型,使用变量初始化赋值的时候不用想C/C++中那样int a=3,而是直接让a = 3,此时a的类型为int ,如果修改a=1.2,那么这时a的类型为float
使用type()可以查看数据类型
2.字符串
python中,可以使用单引号和双引号来表示字符串,还可以只用下标来对字符串中的字符进行访问。还可以使用[pos1:pos2]来对字符串进行切分,pos1是起始位置,pos2是终止位置。
字符串的连接还可以使用+号
>>> a = "hello "
>>> b = "world"
>>> a+b
'hello world'
3.列表
python中的列表使用[]来表示,列表有点像C++中的vector但是列表比vector更加强大。因为列表中可以轻易的存放不同类型的数据。例如:
- 列表的排序(归并排序)
sort()方法可以对列表进行排序,如果想要降序,那么可以先用sort()排序,在使用reverse()逆序列表。
- 列表的增加
1.append()方法,在列表后面追加,只有一个参数,一次增加一个元素
2.extend()方法,在列表后面追加,只有一个参数,但是可以使用另一个列表来扩展这个列表
3.insert(pos,value)方法,在某个位置插入
- 列表的删除
1.remove()参数必须知道元素是什么
2.del del是一个语句,使用方法:del 列表名[i]
3.pop()返回值是删除的元素 如果不加参数就是尾删,加了参数是指定元素删除
- 列表的拷贝
1.可以使用列表切分来拷贝
2.使用=来拷贝
4.元组
python中定义一个元组可以使用()来定义。
a = (1,2,3,4,5)
此时a的类型为一个元组
元组和列表的区别:列表可以对列表中的元素进行修改,而元组不可以对元组中的元素进行修改。
5.字典
python中定义一个字典使用{}来定义,字典中存储的是一个一个的键值对。
其形式为:{key:value, key:value,…}
下面给大家介绍几种创建字典的方法:
- {k:v,k:v,…}
>>> a={"a":97,"b":98,"c":99}
>>> a
{'a': 97, 'b': 98, 'c': 99}
- dict(((k,v),(k,v),(k,v)…))
>>> a = dict((("a",97),("b",98),("c",99)))
>>> a
{'a': 97, 'b': 98, 'c': 99}
- dict(k=v,k=v,…) k如果为字符串,此时是不能加引号的
>>> a = dict(a=97,b=98,c=99)
>>> a
{'a': 97, 'b': 98, 'c': 99}
- 先使用list切分,后使用zip
>>> a = ["a","b","c"]
>>> b = [97,98,99]
>>> c = zip(a,b)
>>> c
<zip object at 0x112754e08>
>>> dict(c)
{'a': 97, 'b': 98, 'c': 99}
or
>>> a
['a', 97, 'b', 98, 'c', 99]
>>> b = dict(zip((a[::2]),a[1::2]))
>>> b
{'a': 97, 'b': 98, 'c': 99}
字典的初始化方法
fromkeys(keys,v) #其中v只有一个值
在字典中查找key是否存在
- 使用get方法
如果key存在,返回key所对应的value,不存在返回get的第二个参数
>>> a
{'a': 97, 'b': 98, 'c': 99}
>>> a.get("a","meiyou")
97
>>> a.get("f","meiyou")
'meiyou'
2.使用in
形式为:key in dict,存在返回true,不存在返回false
>>> a
{'a': 97, 'b': 98, 'c': 99}
>>> "a" in a
True
>>> "f" in a
False
字典的拷贝
a = b 浅拷贝
copy方法 深拷贝
>>> a
{'a': 97, 'b': 98, 'c': 99}
>>> b = a
>>> b
{'a': 97, 'b': 98, 'c': 99}
>>> c = a.copy()
>>> c
{'a': 97, 'b': 98, 'c': 99}
>>> a["a"] = 0
>>> a
{'a': 0, 'b': 98, 'c': 99}
>>> b
{'a': 0, 'b': 98, 'c': 99}
>>> c
{'a': 97, 'b': 98, 'c': 99}
>>> id(a)
4369408864
>>> id(b)
4369408864
>>> id(c)
4604154864
使用一个字典更新另一个字典
- 使用update()方法
>>> a
{'a': 0, 'b': 98, 'c': 99}
>>> b = {"d":100,"e":101}
>>> b
{'d': 100, 'e': 101}
>>> a.update(b)
>>> a
{'a': 0, 'b': 98, 'c': 99, 'd': 100, 'e': 101}
6.集合
python中集合的创建使用set()
集合这个数据类型最好的用处之一是:可以去重
>>> a = [1,1,1,2,2,2,3,3,3,4,4,5,5,5,5,5]
>>> a
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5]
>>> set(a)
{1, 2, 3, 4, 5}
集合不能够使用索引,也就是[]加下标,因为python中的集合是无序的。
>>> b
{1, 2, 3, 4, 5}
>>> type(b)
<class 'set'>
>>> b[1]
Traceback (most recent call last):
File "<pyshell#79>", line 1, in <module>
b[1]
TypeError: 'set' object does not support indexing
不可变集合
使用frozenset()创建的集合为不可变集合
>>> b = frozenset(a)
>>> b
frozenset({1, 2, 3, 4, 5})
查看和判断一个元素的类型
- 查看类型 使用type()
>>> b
{1, 2, 3, 4, 5}
>>> type(b)
<class 'set'>
2.判断类型 使用isinstance(xx,xx)
>>> type(a)
<class 'list'>
>>> isinstance(a,list)
True
>>> isinstance(a,int)
False
列表,元组,字符串的共同点
- 都可以通过索引(下标)得到一个元素
- 默认索引值总是从0开始
- 可以通过分片([:])的方法得到一个范围内的元素的集合
- 有很多共同的操作符