主要根据廖雪峰老师的网站学习python3(https://www.liaoxuefeng.com)
win7安装python3.7
打开命令行程序,输入pathon,显示版本号,并出现>>>提示符表示安装成功,并且处于pathon的交互式环境。
输入exit()退出交互式环境。
![](https://img.haomeiwen.com/i12326663/85231b554833ce6f.png)
解释器:python是一种解释型语言。
当从官网下载python安装后,我们本机获得一个官网的解释器CPython
命令行模式和Python交互模式
命令行模式可以执行.py文件,用print()函数打印结果
也可以用python命令进入交互模式,交互模式每一行代码结果都打印出来
print()函数参数用逗号隔开,依次打印每一个字符串,遇到逗号输出一个空格。
输入用input()函数,例如name=input(‘please input your name:’)
![](https://img.haomeiwen.com/i12326663/5873a12e2a732f5d.png)
语法:
1.#注释
2.当语句以冒号:结尾时,缩进(用四个空格缩进)的语句视为代码块(类似{})
3.除法,有/和地板除(//)
地板除法 只取结果的整数部分 永远精确。
list和tuple是Python内置的有序集合
4.list
classmates = ['Michael','Bob','Tracy']
classmates [0]、classmates [-1]()表示倒数第一个值可以是-2,-3以此类推,-4越界
classmates .append('xxx'),在末尾添加一个元素
classmates .insert(1,'xxx')在1的位置上插入一个元素
classmates.pop() 删除一个末尾的元素 classmates.pop(i)删除第i个元素
5.tuple元素
tuple一旦初始化就不能修改
classmates = ('Michael','Bob','Tracy')
t = (1,)
表示只有一个元素,而不是只有“1”这个元素
tuple的元素只想永远不变,当tuple中包含list时,list的元素可变
6.条件判断
if...elif...else
把该判断对应的语句执行后,就忽略掉剩下的elif和else
if x:
print('True')
x非零数值、非空字符串、非空list等,判断为true
input()函数输入为str,通过int函数转换成int类型:
s = input('birth: ')
birth = int(s)
7.循环
A.for...in循环 针对list和tuple
names = ['Michael','Bob','Tracy']
for name in names:
print(name)
range()函数,可以生成一个整数序列,list() 可以将其转换成list
list(range(5)) => [0,1,2,3,4]
1到100的和:
sum = 0
for x in range(101):
sum = sum + x
print(sum)
B.while循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
break、continue类似其他语言,break提出循环、break跳出本次循环
ctrl+c退出死循环
8.dict:python内置字典,无序,速度快,占用内存多
类似java中的Map,利用键值对存储
d = {'Michael':95,'Bob':75,'Tracy':85}
d['Bob'] => 75
d['Adam'] =67
通过in判断,是否在dict中
'Thomas' in d
d['Adam'] d.get('Adam',-1) 获取最高
pop也会删除元素
dict的key必须是不可变对象。这个通过key计算位置的算法称为哈希算法(Hash)。
9.set 也是一组key,不存储value,无序不重复
s = set([1,2,3])
& | 求交集、并集操作
add(key)、remove(key)
可变对象和不可变对象
例如str和list
a = 'abc'
a.replace('a', 'A')
print(a)
结果还是‘abc’
a.replace('a', 'A') -> a = a.replace('a', 'A')
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。
网友评论