[Python_2] Python 基础
0. 说明
Python 基础笔记,使用的版本为 Python 3.6.2
Python 的变量、字符串操作、list、元组、字典、循环、range、类型转换、运算等操作。
1. 引号的使用
字符串使用单、双引号输出,'''或"""三引号也可以,后者通常用于多行文档原生输出。
# 双引号
print("hello world") # 单引号
print('hello world') # (2.x ,号结尾不换行打印)(3.x end=""结尾不换行打印)
print("hello world" , end="")
2. Python 脚本中文乱码的解决之道
在 Python 脚本头部添加 UTF-8 字符集声明
#-*- coding:utf-8 -*-
Linux 下的脚本需要在头部添加解释器如下,使用 which is python 查看 Python 的位置。
#!/usr/bin/python
3. 变量
Python 变量不用声明,开袋即食。
# 无需定义变量
x = 10
print(x)
4. 代码块
Python 的代码块以缩进四个字符表示
# 缩进作为代码段
if True:
print(1)
print(2)
else:
print(0)
5. 手动换行
手动换行为 \
# 相当于 1+2+3
x = 1 + \
2 + \
3
print(x)
6. 注释
单行注释 & 多行注释
# 单行注释 """
多行注释
多行注释
"""
7. 字符串操作
s = "hello world" # 输出指定位置的字符
print(s[0])
# ll,前包后不包
print(s[2:4])
# llo world
print(s[2:])
# hell
print(s[:4])
# hello worl
print(s[:-1])
# hello world
print(s[:]) #重复几遍操作 hello worldhello world
print(s * 2) # 滤除两边的空格,等价于trim
print(" hello world ".strip(" "))
# 滤除左边的指定字符
print(" hello world ".lstrip(" \r\t\n"))
# 滤除右边的字符
print(" hello world ".rstrip("\r\n;")) # 字符串转换函数
print(str(100))
7. 格式化操作
# 字符串格式化操作
info = "name is %s and age is %d"%("tom" , 12)
print(info)
# 如果变量多次出现,可以使用format方式
info = "name is {x} , welcome for {x}".format(x="tom")
print(info)
8. 变量定义
# 变量必须初始化
a= 100 # 错误,没有赋值
b # 同时定义多个变量并赋值
a , b , c = 1 , 2 ,3
9. 数据类型
# int
a = 100 # float
a = 100.0 # python3 没有长整形 # 复数
a = 1 + 1j
a = 0 + 1j
print(pow(a, 2))
print(a * a) # 字符串
a = "hello world"
print(a)
10. List
List表示列表或数组,可以重复,有序,等同于 Java 中的 List 集合,List 内容可以修改。
# []是列表
l = [1,2,3]
print(l)
print(l[0])
print(l[1:])
print(l[:-1])
print(l[-2:]) # 追加元素
l.append(4)
print(l) # 判断是否包含指定元素
print(l.__contains__(5)) # 重复操作
print(l * 2) # 修改元素
l[0] = 100
print(l)
in 操作
"""
in 操作表示在集合中是否存在
"""
list = [1, 2, 3]
print(2 in list)
11. 循环
"""
循环,end="" 不换行打印
"""
list = [1, 2, 3, 4, 5, 6]
for e in list:
print(e, end="") """
for 循环实现 99 乘法表格
"""
rows = [1, 2, 3, 4, 5, 6, 7, 8, 9]
cols = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for r in rows:
for c in cols:
if c <= r:
print("%d x %d = %d\t" % (c, r, (c * r)), end="")
print() """
while 循环实现 99 乘法表格
"""
i = 1
while (i < 10):
j = 1
while (j <= i):
print("%d x %d = %d\t" % (j, i, (i * j)), end="")
j += 1
print()
i += 1
12. range 对象
range 是范围对象,指定起始(包括)、结束(不包括)和步长。注意 range 在 Python3 和 Python2 是不同的.
"""
range 快速构造数字序列,[)区间
Python3 的 range 返回值为一个可迭代的对象,可以用list() 将其转换为 list
结果如下:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 10, 2)
range(10, 1, -1)
"""
r1 = range(1, 10) # 步长1,必须是整数
r2 = range(1, 10, 2) # 步长2
r3 = range(10, 1, -1) # 步长-1
print(list(r1))
print(r2)
print(r3)
13. 元组
元组类似于数据表中的一条记录,每个组员有不同的类型,内容不能修改,使用()表示。
"""
元组,使用()表示,元组不可变
"""
t = (1, "tom", 12)
# t[0] = 100 错误,元素不能修改
print(t, end="")
print(t[0:-1], end="")
print()
for e in t:
print(e)
14. 字典
字典等同于 Java 中的 map,使用 KV 方式存储。通过 Key 查找 Value。使用 {} 构造。
"""
字典,类似于 Java 的 map,以 KV 对表示
"""
d = {1: "tom1", 2: "tom2", 3: "tom3", 4: "tom4"}
d[1]
d[1] = 100
# 包含k操作
print(3 in d)
# 删除元素
d.pop(1)
print(d) # 遍历字典,迭代所有的key
for e in d.keys():
print(e)
# 遍历字典,迭代所有的value
for e in d.values():
print(e)
# 迭代所有的元组,字典看作是元组的集合。
for e in d.items():
print(str(e[0]) + ":" + e[1])
# 反解析字典每个元素的内容到kv中
for (k, v) in d.items():
print(str(k) + ":::::" + v)
15. 类型转换
"""
类型转换
""" # 转换成字符串 str(x)
print(str(100) + str(2)) # 转换成整数 int("100")
print(int("") + 2) # 转换成float类型
print(float("3.1415926"))
print(float(10)) # 将字符串解析成数学表达式进行计算
express = "1 + 2 - 3 * 4 / 2"
print(eval(express)) # set()不重复集合
s = set([1, 1, 1, 2, 2, 3])
print(s) # 列表、元组、字典转成字符串
print(str([1, 2, 2, 3, 4, 5]))
print(str((1, 23, 45)))
print(str({1: "tom1", 2: "tom2"}))
16. 运算
# -*-coding:utf-8-*- """"
运算符
"""
# 整除
print(1 / 2)
# 取余
print(1 % 2) # 幂函数,2^3
print(2 ** 3) # 浮点数除法
print(1.0 / 2)
# 整除
print(1.0 // 2) # 进制变换
print(hex(97)) # 转换成16进制
print(oct(97)) # 转换8进制
print(chr(97)) # 转换成字符 """"
位运算
"""
print(1 & 2)
print(1 | 2)
print(1 ^ 2) # 异或
print(~1) # 取反
print(1 << 1)
# 有符号右移
print(-1 >> 1) """
逻辑运算
"""
print(1 < 2 and 2 > 3)
print(1 < 2 or 2 > 3)
print(not 1 < 2) """
身份运算
"""
a = [1, 2, 3, 4, 5]
b = a[0:3]
# 判断是否是同一对象
print(a is b)
# 判断内容是否相同
print(a == b) """
条件运算
"""
age = 15
if age < 18:
print("少年")
elif age > 60:
print("老年")
else:
print("中年")
[Python_2] Python 基础的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
随机推荐
- MySQL和Mariadb二进制日志binlog详解
Mariadb/mysql提供了4中不同的日志,分别是错误日志(error.log).普通日志(general log).慢日志(slow log)以及二进制日志(binlog).错误日志记录了系统启 ...
- angular $q promise详解
前言 通过本文,你大概能清楚angular promise是个啥,$q又是个啥,以及怎么用它.这里咱们先灌输下promise的思想. 下面写的全是废话,一些看着高逼格其实没什么大作用的概念,想知道$q ...
- vue-cli 使用better-scroll
better-scroll api文档https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/ 一:安装better-scroll 插件 cn ...
- Java SDK夯住(Hang)问题排查
夯住(Hang)是指程序仍在运行,卡在某个方法调用上,没有返回也没有异常抛出:卡住时间从几秒到几小时不等. Java程序发生Hang时,应该首先使用 jstack 把java进程的堆栈信息保存下来 , ...
- Array.prototype.map()和Array.prototypefilter()
ES5 => 筛选功能 Array.prototypefilter(): 代码: var words = ['spray', 'limit', 'elite', 'exuberant', 'd ...
- 深入出不来nodejs源码-内置模块引入初探
重新审视了一下上一篇的内容,配合源码发现有些地方说的不太对,或者不太严谨. 主要是关于内置模块引入的问题,当时我是这样描述的: 需要关注的只要那个RegisterBuiltinModules方法,从名 ...
- 使用pl/sql的文本导入器时如何设置主键自增长
在使用文本导入器批量导入数据时,如果需要设置主键自增长,可以先创建一个序列: create sequence SEQ_Userinf start with 1 increment by 1nomaxv ...
- C++ vector 排序
C++ vector 排序 C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结 ...
- LINQ to Objects系列(3)深入理解Lambda表达式
Lambda表达式是学好LINQ很重要的一个知识点,后面的LINQ查询中会大量地使用到Lambda表达式.这篇文章从以下几点进行总结. 1,Lambda表达式的前世今生 2,Lambda表达式的实际运 ...
- 【 js 基础 】【 源码学习 】源码设计 (更新了backbone分析)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析 第二部分:unders ...