学习资源:
1.直接运行py文件
Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:
#!/usr/bin/env python3
print('hello, world')
然后,通过命令给hello.py以执行权限:
$ chmod a+x hello.py
2.输入input()方法
>>> name=input()
路飞
>>> name
'路飞'
>>> print(name)
路飞
3.动态变量
>>>a ='ABC'
Python解释器干了两件事情:
1.在内存中创建了一个'ABC'的字符串;
2.在内存中创建了一个名为a的变量,并把它指向'ABC'。
这个时候,若
>>>b=a
>>>print(b)
ABC #结果
4.字符编码
5.编码格式
开头加上这样的话,告诉linux系统是什么编码格式、这是一个python可执行文件
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:
list和tuple6.格式化的字符串
>>>'age:%s. Gender:%s'%(25,True)
'age:25. Gender:True'
7.list和tuple
>>>list = ['a',13,True]
>>>list
['a',13,True]
classmates = ('Michael','Bob','Tracy')
注:tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
8.循环
#!/usr/bin/env python3.5
# _*_ coding: utf-8 _*_
names = ['a','a','b']
for name in names:
print(name)
dss@dss:~/python_workspace/test$ ss.py
a
a
b
for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。
9.range()函数
>>>list(range(5))
[0, 1, 2, 3, 4]
10.break & continue
#!/usr/bin/env python3.5
# _*_ coding: utf-8 _*_
n=1
while n<= 100:
if n > 10:
break
print(n)
n = n+1
print('End')
n =0
while n <10:
n = n +1
if n %2 == 0:# 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
11.dict
>>> names = {'a' : 10,'b': 20,'c': 30}
>>> names ['a']
10
>>> names ['c'] = 0
>>> names ['c']
0
>>> names['c'] = 1
>>> names['c']
1
dict的key必须是不可变对象
12.set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
>>> s = set([1,2,3])
>>> s
{1, 2, 3}
>>> s = set([1,2,2,2,3,3])
>>> s
{1, 2, 3}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.remove(4)
>>> s
{1, 2, 3}
>>> a ='abc'
>>> b = a.replace('a','A')
>>> b
'Abc'
>>> a
'abc'
当我们调用a.replace('a','A')时,实际上调用方法replace是作用在字符串对象'abc'上的,而这个方法虽然名字叫replace,但却没有改变字符串'abc'的内容。相反,replace方法创建了一个新字符串'Abc'并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串'abc',但变量b却指向新字符串'Abc'了.