一、数据类型
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 = {
'张三':'',
'李四':'',
'王五':'',
}
  • 获取字典中key的值
print(phone['张三'])      #如果key不存在,会报错,key用中括号装
print(phone.get('老黄')) #如果key不存在,返回None,key用小括号装 #输出:13075632152
# None
  • 赋值
phone['老黄'] = ''   #新增
phone['张三'] = '' #修改
print(phone) #输出:{'王五': '13420321523', '老黄': '13678623153', '张三': '12300055555', '李四': '15732015632'}
#因为字典是无序的,所以每次输出的排列顺序都可能不同
  • 删除
phone.pop('张三')   #第一种方法
del phone['李四'] #第二种方法
phone.popitem() #随机删除某一个
  • 遍历
for key in phone:
print(key,phone[key]) #输出:
# 王五 13420321523
# 张三 13075632152
# 李四 15732015632
  • 多级嵌套
phone = {
'人事部':{'老张':'','老李':''},
'财务部':{'小丽':'','小映':''},
'技术部':{'老罗':''}
} 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('\n')) #去掉行尾的'\n' while 1:
line = f.readline() #readline()每次只读取一行
print(line.strip('\n'))
if not line:
break f.close() #关闭文件

写文件:

f =open('d:/test.txt','a')
f.write('hello,boy!\n')
f.close()

python3基础知识梳理的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. Anliven - 基础知识梳理汇总 - 软件测试

    基础知识梳理 - 软件测试 - 概念 基础知识梳理 - 软件测试 - 分类 基础知识梳理 - 软件测试 - 流程 基础知识梳理 - 软件测试 - 用例 基础知识梳理 - 软件测试 - 方法 基础知识梳 ...

  7. [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...

  8. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  9. C#基础知识梳理索引

    C#基础知识梳理索引 一 引子 之前曾写了一篇随笔<.NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标> 三个月过去了,目标使更多的编程初学者,轻松高效地掌握C#开发的基础,重 ...

随机推荐

  1. Perl回调函数和闭包

    在Perl中,子程序的引用常用来做回调函数(callback).闭包(closure),特别是匿名子程序. 回调函数(callback) 关于什么是回调函数,见一文搞懂:词法作用域.动态作用域.回调函 ...

  2. Spring Cloud Finchley版中Consul多实例注册的问题处理

    由于Spring Cloud对Etcd的支持一直没能从孵化器中出来,所以目前来说大多用户还在使用Eureka和Consul,之前又因为Eureka 2.0不在开源的消息,外加一些博眼球的标题党媒体使得 ...

  3. 被遗忘的C结构体打包技术

    今天看到的一篇文章,记录一下:https://github.com/ludx/The-Lost-Art-of-C-Structure-Packing 失传的C结构体打包技艺 作者:Eric S. Ra ...

  4. C#线程同步--限量使用

    问题抽象:当某一资源同一时刻允许一定数量的线程使用的时候,需要有个机制来阻塞多余的线程,直到资源再次变得可用.线程同步方案:Semaphore.SemaphoreSlim.CountdownEvent ...

  5. Linux学习笔记之基本指令

    1.ll 注:详细展示当前文件夹下的所有文件及目录  ,与 ls -al 有异曲同工的作用 2.free -m/-h 注:-m:显示当前的内存信息,-m表示以MB为单位显示:-h:以人类能读懂的形式显 ...

  6. Oracle高效分页查询(转)

    page --没有order by的查询 -- 嵌套子查询,两次筛选(推荐使用) --SELECT * -- FROM (SELECT ROWNUM AS rowno, t.* -- FROM DON ...

  7. [android] 请求码和结果码的作用

    当一个界面中要要开启多个带有返回值的activity时,这个时候,就需要用到请求码和结果码了 调用startActivityForResult(intent,requestCode)方法,开启acti ...

  8. 详解-制作根文件系统,并使用yaffs,jffs,nfs挂载系统(2)

    1.安装mkyaffsimage, mkyaffs2image命令(用来制作yaffs文件系统) 第一个命令针对Flash小页512B,第二个针对Flash大页2KB首先下载压缩文件 yaffs_so ...

  9. 【Java每日一题】20170315

    20170314问题解析请点击今日问题下方的“[Java每日一题]20170315”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...

  10. 【Java每日一题】20170306

    20170303问题解析请点击今日问题下方的“[Java每日一题]20170306”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...