Python缺点
第一,运行速度慢,因为Python是解释型语言,代码在执行时会一行一行的翻译成COU能理解的机器码,翻译过程非常耗时,而C语言是运行前直接编译成CPU能执行的机器码,这样就快很多
第二,代码不能加密,解释型的语言发布的话,必须是把源码发布出去
输入与输出
print()输出字符串
print('hello, world')
print()也可以输出多个字符串,用逗号隔开
>>> print('hello world','he is a student','oh my god')
hello world he is a student oh my god
遇到逗号就会输出空格,也可以输出整数
print(20)
输入
input(),用户输入字符串,存放到一个变量里
name = input()
空值是用None表示的,布尔值用True和false表示,Python中,变量本身的类型不固定,称之为动态语言,静态语言在定义变量是必须指定变量的类型,类型不匹配还会报错。通常用全部大写的变量名表示常量,“//”表示地板除,结果永远是整数,只取整数的部分,普通的除法“/”,结果永远是浮点数(Python的整数没有大小的限制,浮点数也一样)
列表
len()方法才是获取列表元素个数,当索引超出了范围时,会报IndexError错误。利用-1做索引,可以直接拿到最后一个元素
>>> students = ['Jim','Bob','Lily','Lucy']
>>> print(students[-1])
Lucy
可以依次类推-2,-3...
追加元素append(),插入元素insert(index, 'value'),删除末尾的元素,用pop()方法,删除指定位置的元素,pop(index),列表练的元素数据类型可以不相同,也可以是另一个列表
元组
它是一个有序的列表,一旦初始化就不能修改,只有一个元素的时候,必须加一个逗号
>>> troup = (1,)
条件判断
if <条件判断 1>: <执行 1>
elif <条件判断 2>: <执行 2>
elif <条件判断 3>: <执行 3>
else:
<执行 4>
注意不要忘记冒号。条件判断无需小括号
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
字典dict
key-value存储,具有极快的查找速度
>>> dic = {'Lily':10,'Lucy':20,'Bill':30}
>>> print(dic['Lucy'])
20
避免key不存在的错误,通过in判断
>>> 'Lucy' in dic
True
还可以通过get方法,key不存在可以返回None,或者自己指定的value
>>> dic.get('Lily')
10
特点
查找和插入的速度极快,不会随着key的增加而增加,但是需要占用大量的内存,内存浪费多。所以,字典是用空间来换取时间的一种方案,字典的key必须是不可变对象。
集合Set
Set与dict类似,也是一组key的集合,但不存储value,所以在set中,没有重复的key。
>>> s = set([1,3,3,5,5])
>>> print(s)
{1, 3, 5}
重复元素在set中自动被过滤,通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果。remove(key)方法可以删除元素。set可以看成数学意义上的无序和无重复元素的集合,所以可以做数学意义上的交集并集操作
>>> s1 = set([1,2,3])
>>> s2 = set([2,3,4])
>>> print(s1 & s2)
{2, 3}
>>> print(s1 | s2)
{1, 2, 3, 4}