一、数据类型
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. 【Bootstrap系列】详解Bootstrap-table

    本篇文章将与大家分享bootstrap-table插件,借助于它实现基本的增删改查,导入导出,分页,父子表等. 至于其他技术,如冻结表头,列排列,行拖动,列拖动等,会在后续文章中与大家分享. 一    ...

  2. Apollo 6 — ConfigService 获取配置接口

    大纲 看本文之前,建议看看 apollo 的官方文档,特别是数据库设计文档. 主流程分析 2.1 聊聊细节 2.2 loadConfig() 加载配置 2.3 auditReleases() 方法记录 ...

  3. [转]ERROR: http://rancherserver/v1 is not accessible

    本文转自:http://securityer.lofter.com/post/1d0f3ee7_10c465cc 安装rancher agent时出现以下报错 [root@localhost ~]# ...

  4. C#集合。

    集合命名空间: using system.collections. 非泛型集合 using system.collections.Generic.  泛型集合 为什么要用集合: 1.数组一旦声明长度就 ...

  5. FastReport.Net

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. MyBatis:CRUD功能

    在前面已经自动生成了mapper和pojo,接下来我们实现mybatis的CRUD功能,先新建service.controller层的方法. 这里的sid是一个开源的id生成类,写完后,我们还需要在启 ...

  7. python多线程-共享全局变量

    目录 多线程-共享全局变量 多线程-共享全局变量 列表当作实参传递到线程中 总结 多线程-共享全局变量问题 多线程开发可能遇到的问题 测试1 测试2 多线程-共享全局变量 多线程-共享全局变量 imp ...

  8. Docker 系列四(自定义仓库).

    一.Docker hub 交互 Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker hub 中直接下载镜像来完成.接下来,来看一下怎么与 Docker ...

  9. Laravel篇二之本地版本库关联github

    以往的工作中都是使用svn作为版本控制,对git分布式的有些陌生,本篇主要记录的本地存储myWeb-laravel的git版本库与github建立关联. 1.首先进入本地myWeb-laravel,执 ...

  10. ReactDom

    今天工作中使用了这个,感觉很好用啊! 首先: 这个ReactDom是干嘛用的? 答:   react-dom 包提供了 DOM 特定的方法,可以在你的应用程序的顶层使用,如果你需要的话,也可以作为 R ...