python3基础知识梳理

一、数据类型
1、数字
  • int(整型)
  • long(长整型)
  • float(浮点型)
  • complex(复数)
2、布尔值
  •  True或False
3、字符串
 
二、变量
变量命名规则:
  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 变量名不能为关键字(例如:and,or,continue,break,in,else,print 等)
 
三、字符串拼接
1、使用加号(+)
name = "Tom"
age = 25
print(name + "s age is " + str(age))

#输出:Toms age is 25  

2、字符串格式化

name = "Tom"
age = 25
print("%s's age is %d" % (name,age) )

#输出:Toms age is 25

 ps:在python中,使用+号连接字符串,每出现一个+号,就要重新在内存中申请一块空间,有多少个+号,就要申请多少块空间。一般不建设使用+号连接字符串。

四、列表和元组

1、列表(list)

  • 创建列表
str_list = ['Tom','Lucy','Mary']
或者
str_list = list(['Tom','Lucy','Mary'])
  •  索引(访问列表中某一个值)
str_list[0]
  • 追加(增加元素到末尾)
str_list.append('lilei')
print(str_list)

#输出:['Tom', 'Lucy', 'Mary', 'lilei']
  • 插入(在指定位置加入元素)
str_list.insert(1,'lilei')
print(str_list)

#输出:['Tom', 'lilei', 'Lucy', 'Mary']
  •  删除(删除指定元素)
str_list.remove('Lucy')
print(str_list)

#输出:['Tom', 'Mary']
  •  切片
str_list = [3,4,5,6,7,8,9]
new_1 = str_list[1:3]    #从索引1开始取,取到索引3
new_2 = str_list[0:6:2]  #从索引0开始取,每两位一取,到第6位为止
new_3 = str_list[-2:]    # 取后面2个数
new_4 = str_list[:3]     # 取前面3个数
new_5 = str_list[::3]    #所有数,每3个取一个

print(new_1,new_2,new_3,new_4,new_5)

#输出:[4, 5] [3, 5, 7] [8, 9] [3, 4, 5] [3, 6, 9]

2、元组(tuple)

  • 创建元组
age = (18,25,33)
或者
age = tuple((18,25,33))

 除了不能修改、增加、删除元素,其它操作元组和列表几乎一样。

 五、字典

使用key-value的存储方式

  • 创建字典
phone = {
    '张三':'13075632152',
    '李四':'15732015632',
    '王五':'13420321523',
}
  •  获取字典中key的值
print(phone['张三'])      #如果key不存在,会报错,key用中括号装
print(phone.get('老黄'))  #如果key不存在,返回None,key用小括号装

#输出:13075632152
#     None 
  •  赋值
phone['老黄'] = '13678623153'   #新增
phone['张三'] = '12300055555'   #修改
print(phone)

#输出:{'王五': '13420321523', '老黄': '13678623153', '张三': '12300055555', '李四': '15732015632'}
#因为字典是无序的,所以每次输出的排列顺序都可能不同
  •  删除
phone.pop('张三')   #第一种方法
del phone['李四']   #第二种方法
phone.popitem()    #随机删除某一个
  • 遍历
for key in phone:
    print(key,phone[key])

#输出:
# 王五 13420321523
# 张三 13075632152
# 李四 15732015632
  • 多级嵌套
phone = {
    '人事部':{'老张':'13700112233','老李':'13432023152'},
    '财务部':{'小丽':'13230555666','小映':'13723688888'},
    '技术部':{'老罗':'13866666333'}
}

print(phone['人事部']['老李'])

#输出:13432023152

六、if语句

1、if...else

age = 16
if age <18:
    print('你还未成年呢')
else:
    print('你已经成年了')

2、if...elif....else

score = 85
if score > 0 and score< 60:
    print('你的成绩不及格')
elif score >= 60 and score <80:
    print('你的成绩及格了')
elif score>=80 and score<90:
    print('你的成绩良好')
else:
    print('你的成绩优秀')

七、while循环

i=0
num=0
while i<=100:
    num+=i
    i+=1
print('1-100累加等于%d'%num)

 八、for...in循环

num = []
for i in range(10):
    num.append(i)
print(num)

#输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

九、用户交互(input)

import getpass
username = input("username:")
password = getpass.getpass("password:")
print(username)
print(password)

 十、文件基本操作

 打开文件:f = open('文件路径','模式')    或者   with open('文件路径','模式') as f:

模式:

  • r:以只读方式打开文件
  • w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • w+:打开一个文件用于读写。(文件一打开就清空了,还能读到东西吗?)
  • a+:打开一个文件用于读写。

 读文件:

 read()  readlines()  readline() 的用法

f = open('d:/test.txt','r')  #以只读方式打开文件

print(f.read())  #read()一次读取文件的全部内容

for line in f.readlines():   #readlines()读取整个文件,并按行存进列表
    print(line.strip('
'))  #去掉行尾的'
'

while 1:
    line = f.readline()   #readline()每次只读取一行
    print(line.strip('
'))
    if not line:
        break

f.close()   #关闭文件

写文件:

f =open('d:/test.txt','a')
f.write('hello,boy!
')  
f.close()
原文地址:https://www.cnblogs.com/zhenwei66/p/6559729.html