推荐一段时间闲的蛋疼,总觉得再堕落下去不太好,便捡起了之前一直想学而没有学的python,以此记录一下学习笔记,同时亦是督促和复习。
学习51cto上的《2016最新Python开发基础课程-2.0版本》的视频版本,之所以看视频是因为视频讲解感觉会比看书清晰一些,不过详细还要找各种资料补充。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、python的版本
年表就不放了,python现在有两个大版本,2.0和3.0。3.0是2.0的升级版,简化了一些2.0不必要的内容,但是因为语法和2.0在有些地方有差异,所以不向下兼容。导致从2.0到3.0升级十分困难。
2.0的最新版本是2.7,官方支持到2020年。
二、变量
1、解释器
脚本第一行大家都知道是要指定调用的解释器,python有两种写法
#!/usr/bin/python
#!/usr/bin/env python
第一种写法就是一般指定python,第二种写法例如python是从2.0升级到3.0,位置就会从/usr/bin到/usr/local/bin,这样用第一种写法就会路径错误找不到解释器。而第二种写法会从环境设置中寻找python目录,更加安全一些。
2、变量
变量名只能是字母、数字和下划线的任意组合,变量的第一个字不能为数字,关键字不能声明为变量。
name=input("aaa")
name=raw_input(“aaa”)
name=int(input("aaa"))
第一种写法是3.0的屏幕输入,第二种是2.7的屏幕输入写法。
第三种是降字符串转化为数字的写法。
关于变量可以用一下几种显示方式:
name =input("name:")
age=input("age:")
job=input("job:")
print("Inofmation of []:" + name + "\nName:[]" + name + "\nAge:[]" + age + "\nJob[]" + job ) #显示变量 加号每次会重新开辟内存空间,更站内存
print("Informationg of %s:\nname:%s\nage:%s\njob:%s" %(name,name,age,job) ) #有几个%(s是字符串,d是数字,f是小数点)写几个变量
msg='''
Inofmation of %s
name%s
age%s
job%s
'''%(name,name,age,job) #三引号可以在其中显示段落,和打印的相同,同时段手三引号表示范围内的注视,单引号和双引号效果相同
3、if判断
a="2"
if a=="1":
print("111")
elif a=="2":
print("222")
else:
print("000")
if判断和其他的用法没太大区别,需要注意的是强制段落缩进,python是通过段落缩进判断if结束。
4、循环
4.1 while循环
while True:真循环,无限循环,判断真是否为真。注意大小写。
while a=b:判断a是否等于b,满足条件继续循环,不满足则跳出循环。如果变量未赋值则报错,需要提前赋值。
n=-1
luck=13
guess_count=0
# while luck != n and guess_count < 3:
while guess_count < 3:
n=int(input("输入数字:"))
#print(n)
#print(luck)
if luck == n:
print("ok")
break
elif n > luck:
print("大了")
elif n < luck:
print("小了")
guess_count +=1
else:
print("当上面的条件不满足循环结束,就会打印这列,如果循环没有被正常退出,便不执行")
PS:在python3.0中可以直接输入中文,2.7则不可以直接输入,需要编码处理。
4.2、for循环
for i in range(3):
在range中直接输入循环的次数。
三、数据类型
1、数字
数字分为三种类型,Int整数,Float浮点,Long长整型。
长整型就是长的整型,在3.0中整型数字过长会自动转化为长整型,别用特别在意。
浮点就是小数点,占8个字节,其中52位表示底位,11位表示指数位,剩下1位表示符号。
Type(a)
这个命令可以查看数字类型。
2、字符串
name=a
print(“i am %s”)% name
%s表示字符串,%d表示整数,%f表示小数。
字符串常用的功能有移除空白,分割,长度,索引,切片。
2.1、移除空白
name =input(" name: ").strip()
strip括号内可以定制去掉的内容,默认为空白。
2.2、列表
列表可以储存多个信息,用于单独调用列表中的某个元素,索引值从0开始。
dir()可以查看命令,其中双下划线为私有命令。
Append追加,count统计,extend拓展,index索引,insert插入,pop删除一个,remove删除指定一个,reverse反转,sort排序
2.2.1、Append追加
默认将元素添加到最后一项
2.2.2、index索引
查找列表内某元素的索引值
2.2.3、count统计
统计列表内某元素的数量
2.2.4、insert插入
在指定索引位置插入指定元素
2.2.5、pop删除
删除最后一个元素
2.2.6、remove
删除指定元素
2.2.7、reverse反转
反转索引值
2.2.8、sort排序
按照数字,特殊字符,数字开头,字母的顺序排序
2.2.9、循环
提取某元素重复次数进行相应次数循环的删除
2.3、切片
分割列表,最后切取索引值的前一位,顾首不顾尾
间隔切取
反向切取
字符串扩展,将b放入a
字符串每个字母拆开单独当做元素放入
判断,如果4在列表a中,就打印ddd
3、元祖
name_list=(“1”,“2”,“3”)
将列表的[]变为(),只读的列表,只能查找统计切片,可以通过命令在元祖和列表间转换。
lits(a)
tuple(a)
4、布尔值
1为真,0为假。true为真,false为假。
&与运算,两个都是1才为1
|或运算,一个为1便为1
^非运算,不同为1
四、文件操作
(不要说我偷懒直接用截图...)
首先,3.0没有file,改成了open。其次,其实我这段学的满混乱的,感觉没有使用起来看很难记住....等多练习使用之后再补上吧。
f = open("test.log","w")
f.write("111\n") #创建新文件,会覆盖旧文件,如果不是w是a则是追加
f.write("111\n")
f.close()
f = open("test.log","r")
for line in f:
print(line,)
f.close()