一、.pyc是什么
该文件就是Python解释器编译之后产生的字节码,只有python可以读。
手动执行不生成.pyc
执行代码有导入别的.py文件,执行后会生成.py同名的.pyc文件:
在python2.0中:
执行.py文件后,会生成一个.pyc和一个__pycache__文件夹。
在python3.0中:
执行.py文件后,生成的.pyc文件放在了__pycache__文件夹下边,
二、常用数据类型
1.数字
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)(python3.0没有了)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
2.布尔值
真或假;1或0
判断是否是真:当真的时候返回时True,当假的时候返回是False
3.字符串
"hello world"
三、字符串格式化输出
常见几种写法:
name = ‘abc‘ print ("I am %s" %name) #输出:I am abc #注意:%s代表字符串;%d代表整数;%f代表浮点数 |
name = ‘abc‘ print ("I am" + name +"and your ?") #输出:I am abc and your? #注意:%s代表字符串;%d代表整数;%f代表浮点数 |
name = ‘abc‘ age = 22 job = IT msg = ‘‘‘ imformation is ----------- Name:%s Age:%d Job:%s -----end--- ‘‘‘ %(name,age,job) print (msg) #输出: imformation is ----------- Name:abc Age:22 Job:IT -----end--- #注意:%s代表字符串;%d代表整数;%f代表浮点数 |
四、列表的语法和使用(其他语言中叫做数组)
创建列表:
name = [‘a‘,‘b‘,‘c‘,‘d‘] 或 name = list([‘a‘,‘b‘]) |
1.列表name_list中的a和b都叫做元素;
2.a和b在列表中都有一个下标,下标默认从0开始;
3.列表的切片:
1.管头不管尾: print(name[0:2]) 输出:[‘a‘, ‘b‘] 2.取最后一个值:name[-1] 3.取最后五位:name[-2:] 4.取前边五位:name[:2] 5.如果切片后还要再切片,在后边加[]; 取name的前三位,再取后两位,输出:[‘b‘, ‘c‘] name[:3][-2:] |
4.修改列表:
name[1] = "abc" #中括号里边直接写列表的下标,等号后边是修改后的值;
5.插入字符串:
name.insert(1,‘bb‘) #1为插入的列表下标位置,bb为插入的内容,一次只能插入一个;
6.追加:
name.append(‘cc‘) #
7.删除:
name.remove(‘cc‘) #一次只能删除一个
8.del删除列表内容:
del name[0:2] #删除列表的前两个元素
9.del删除列表:
del name
10.每隔开两个元素打印一个(默认)
写法一:print(name[0::2]) #其中的2代表步长,默认步长为1;
写法二:print(name[0:-1:2]) #这样是不会打印最后一个
11.判断a在不在列表中
print(‘a‘ in name)
12.统计列表中有几个a
print(name.count(‘a‘))
13.把列表中的a改成aaa
aa = name.index(‘a‘) #先查找a的位置,赋值给变量aa
name[aa]= ‘aaa‘ #修改a为aaa
print(name) #打印name列表
14.清空列表
print(name.clear())
15.把下列表合到大列表中
name1.extend(name2)
16.反转列表
name.reverse()
17.列表排序
name.sort()
18.列表的浅复制(也称列表的软链接,第一层的列表完全复制,其他层次的列表不copy)
name1 = name.copy() #复制name列表到name1,
19.列表的深复制(完整复制所有层次的列表内容)
import copy #导入name模块
name2 = copy.deepcopy(name) #完全复制name列表到name2
print name
20.查看列表元素索引
name.index(‘a‘) #查找a在列表中的位置,也就是下标
五、字符串常用操作
1.移除空格:
a.strip()
2.分割:
a.split()
3.索引:
索引一:
a.index()
索引二:
msg = "hello,{name},{age}"
msg2 = msg.format(name="yang",age=21)
print(msg2)
输出:
hello,yang,21
索引三:
msg = "hello,{0},{1}"
print(msg.format(‘yang‘,20))
输出:
hello,yang,20
4.长度:
print(len(msg2))
5.切片:
name = "abcde"
print(name[0:3]) #输出前三个字符串
输出:
abc
6.输出居中对齐:
print(name.center(20,‘-‘))
-------abcde--------
7.判断字符串有无空格
print (‘‘ in name)
8.首字母大写
print (name.capitalize())
9.判断字符串是否包含特殊字符。可以包含数字和字母,返回True,如果有其他的返回False;
print (name.isalnum())
10.判断是否以a结尾的,是返回True,否则返回False
name.endswith(‘a‘)
11.判断是否以a开始的,是返回True,否则返回False
name.startswith(‘a‘)
12.把字符串全部转成大写
name.upper()
13.把字符串全部转成小写
name.lower()
六、数据运算
1.数据运算符
2.比较运算符
3.赋值运算符
4.逻辑运算符
5.成员运算
6.身份运算
7.二进制运算
七、死循环(while loop)
#当代码循环100次退出,并打印退出。 count = 0 #设定标志位,次数为0 while True: #设定永远为真 print("输出",count) #如果为真,输出次数是多少 count +=1 #每循环一次,次数加1 if count == 100: #如果次数=100,执行以下语句 print("退出") #打印退出 break #退出整个循环 |
八、字典
1.创建字典(字典可以嵌套字典、列表、元祖、等)
name= {1:‘a‘,2:‘b‘,3:‘c‘}
字典用{}表示;每个值都有一个key对应一个value;
每对值用,隔开;key值是唯一的;没有下标,没有顺序;
2.字典的功能
.clear 清空
.POP 删除
.copy 复制
.get 获取
.item 把字典变成一个元祖,数据太多情况下不要操作此功能。
.values 打印所有的values
.keys 打印所有的key