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 基础的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  4. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  7. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  8. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

  9. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

随机推荐

  1. C#Redis 事务操作

    一.理论 还是抄前辈的理论知识. 和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制.在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基 ...

  2. VS2012 扩展和更新里 插件状态 为禁用 的解决办法!

    在vs2012 里安装完插件,重启VS,结果 插件没有加载,查看 扩展和更新,里面显示禁用,如图: 解决方法: 点击界面上 “启用每用户扩展的加载” 蓝色文字,弹出如下界面: 选中 以管理员运行时加载 ...

  3. 使用并发工具实现 RPC 调用流量控制

    前言 RPC 服务中,每个服务的容量都是有限的,即资源有限,只能承受住给定的网络请求,所以,在设计 RPC 框架的时候,一定要考虑流量控制这个问题.而 Java 中,实现流量控制有很多中方式,今天说 ...

  4. Docker基础-搭建本地私有仓库

    1.使用registry镜像创建私有仓库 安装Docker后,可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境: docker run -d -p 5000:5000 regist ...

  5. 在JAVA中封装JSONUtil工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  6. 胡同门牌号-2015决赛Java语言A组第一题

    标题:胡同门牌号 小明家住在一条胡同里.胡同里的门牌号都是连续的正整数,由于历史原因,最小的号码并不是从1开始排的.有一天小明突然发现了有趣的事情:如果除去小明家不算,胡同里的其它门牌号加起来,刚好是 ...

  7. 图解SVN的branch合并到trunk的过程

    SVN branch合并到主线的整个过程相对来说还是比较繁琐的,下面一个图揭示了一个大概的过程: 1. 将branch上的代码update到本地. 2.将branch本地的代码commit到branc ...

  8. Java面试题阶段汇总

    初级面试题   Java面试题-基础篇一 Java面试题-基础篇二 Java面试题-集合框架篇三 Java面试题-基础篇四 Java面试题-基础篇五 Java面试题-javaweb篇六 Java面试题 ...

  9. css翻译名词术语

    原文 本书译法 其它译法(未采用) CSS - 层叠样式表.级联样式表.样式单 cascade 层叠(机制) 级联 fallback 回退(机制.措施.方案) 后备.回落.降级 selector 选择 ...

  10. InfoQ观察:Java EE的未来

    原创 2017-03-06 Charles Humble 聊聊架构 作者|Charles Humble编辑|薛命灯 作为InfoQ下一年编辑关注点审核工作的一部分,我们挑选了Java作为深入探讨的主题 ...