一、.pyc是什么
1
2
3
4
5
6
7
8
|
该文件就是Python解释器编译之后产生的字节码,只有python可以读。
手动执行不生成.pyc
执行代码有导入别的.py文件,执行后会生成.py同名的.pyc文件:
在python2.
0
中:
执行.py文件后,会生成一个.pyc和一个__pycache__文件夹。
在python3.
0
中:
执行.py文件后,生成的.pyc文件放在了__pycache__文件夹下边,
|
二、常用数据类型
1.数字
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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
2
|
真或假;
1
或
0
判断是否是真:当真的时候返回时
True
,当假的时候返回是
False
|
3.字符串
1
|
"hello world"
|
三、字符串格式化输出
常见几种写法:
|
|
|
四、列表的语法和使用(其他语言中叫做数组)
创建列表:
1
2
3
|
name
=
[
'a'
,
'b'
,
'c'
,
'd'
]
或
name
=
list
([
'a'
,
'b'
])
|
1.列表name_list中的a和b都叫做元素;
2.a和b在列表中都有一个下标,下标默认从0开始;
3.列表的切片:
1
2
3
4
5
6
7
8
9
|
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.索引:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
索引一:
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.切片:
1
2
3
4
|
name
=
"abcde"
print
(name[
0
:
3
])
#输出前三个字符串
输出:
abc
|
6.输出居中对齐:
1
2
|
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