一、数据

1.1 变量

数据用变量来存放,并用等号对变量赋值。

例:nameStr = "OREO"

其中 nameStr 是变量名称,"OREO" 是变量值。

注:

1.定义变量名称时可以使用"数据意义+数据类型’的方式,方便理解变量中存放的数据含义和数据类型;

2.Python中数字不能作为变量名称的开头;

3.Python是大小写敏感的。

1.2 数据类型

1.2.1 字符串(String)

nameStr = "OREO" #使用单引号创建字符串

adjStr = "好吃" #使用双引号创建字符串

print("用+将字符串合并:", nameStr+adjStr) #用加号(+)可以合并字符串

用+将字符串合并: OREO好吃

#用%s格式化字符串,%s 表示字符串中要填入的内容,%后是对应要填入的值

str1 = "%s%s又%s。"%("OREO","好吃","好玩")

print(str1)

OREO好吃又好玩。

1.2.2 数字(Number)

(1)整型

#OREO已经108岁了

age = 108

(2)浮点型

#衬衫的价格是9磅15便士

money = 9.15

1.2.3 容器

容器可以存放多个数据,方便储存、查找和使用。

-定义容器

-容器的操作:增加、删除、查询、修改。

(1)列表(List)

#定义列表:饼干名称

nameList = ["奥利奥","达能","好吃点","雀巢"]

#列表长度

nameLen = len(nameList)

print("列表长度:饼干数目",nameLen)

列表长度:饼干数目 4

#容器操作:增加

nameList.append("莱家")

print("增加一个元素:",nameList)

增加一个元素: ["奥利奥", "达能", "好吃点", "雀巢", "莱家"]

#容器操作:删除

del nameList[1]

print("删除第二个元素:",nameList)

删除第二个元素: ["奥利奥", "好吃点", "雀巢", "莱家"]

#容器操作:查询

name2 = nameList[1]

print("查询列表的第二元素:",name2)

查询列表的第二元素: 好吃点

#容器操作:修改

print("修改之前的第三个元素是:",nameList[2])

nameList[2] = "Tipo"

print("修改之后的第三个元素是:",nameList[2])

修改之前的第三个元素是: 雀巢

修改之后的第三个元素是: Tipo

(2)元祖(Tuple)

与列表类似,但是不可修改,只能查询。

#定义元祖:饮料名称

beverageTuple = ("Fanta","Pepsi","Coca","Mirinda","Sprite")

#元祖长度

beverageLen = len(beverageTuple)

#容器操作:查询

print("第四个元素的值:",beverageTuple[3])

第四个元素的值: Mirinda

(3)集合(Sets)

没有重复元素的容器。

#定义集合:冰淇淋

icecreamSets = {"梦龙","中街","哈根达斯","八喜","芭斯罗缤","中街"}

print(icecreamSets)

{"梦龙", "哈根达斯", "中街", "芭斯罗缤", "八喜"}

#容器操作:增加

icecreamSets.update(["马迭尔","冰工厂"])

print(icecreamSets)

{"梦龙", "哈根达斯", "中街", "冰工厂", "芭斯罗缤", "八喜", "马迭尔"}

#容器操作:删除

icecreamSets.discard("中街")

print(icecreamSets)

{"梦龙", "哈根达斯", "冰工厂", "芭斯罗缤", "八喜", "马迭尔"}

#容器操作:查找

MLBool = "梦龙" in icecreamSets

print(MLBool)

True

#容器操作:修改

#step1:删除

icecreamSets.discard("梦龙")

#step2:添加

icecreamSets.update(["和路雪"])#update必须添加列表形式

print(icecreamSets)

{"哈根达斯", "和路雪", "冰工厂", "芭斯罗缤", "八喜", "马迭尔"}

(4)字典(Dictionary)

存储映射关系的容器。

#定义字典:编号和速食面点

conveniencemealDic = {"001":["汤达人",2.7,"好吃"],

"002":["日清",3.5,"非常好吃"],

"003":["康师傅",1.5,"好吃"]}

print(conveniencemealDic)

{"001": ["汤达人", 2.7, "好吃"], "002": ["日清", 3.5, "非常好吃"], "003": ["康师傅", 1.5, "好吃"]}

#容器操作:增加

conveniencemealDic["004"]=["辛拉面",3,"好吃"]

print(conveniencemealDic)

{"001": ["汤达人", 2.7, "好吃"], "002": ["日清", 3.5, "非常好吃"], "003": ["康师傅", 1.5, "好吃"], "004": ["辛拉面", 3, "好吃"]}

#容器操作:删除

del conveniencemealDic["004"]

print(conveniencemealDic)

{"001": ["汤达人", 2.7, "好吃"], "002": ["日清", 3.5, "非常好吃"], "003": ["康师傅", 1.5, "好吃"]}

#容器操作:查询

valueList1 = conveniencemealDic["001"]

print(valueList1)

["汤达人", 2.7, "好吃"]

#容器操作:修改

print("修改之前,速食面点:",conveniencemealDic["001"])

conveniencemealDic["001"] = ["汤达人",2.7,"非常好吃"]

print("修改之后,速食面点:",conveniencemealDic["001"])

修改之前,速食面点: ["汤达人", 2.7, "好吃"]

修改之后,速食面点: ["汤达人", 2.7, "非常好吃"]

1.2.4 布尔

用于条件判断,描述条件发生的判断标准(True/False)。

1.2.5 None

表示空值,不等于0。

数据类型中不可修改的是:字符串、数字和元祖

二、条件判断

2.1 边界条件

2.1.1 值比较

#饮用水价格

priceNum = 3

if priceNum > 5:

print("太贵了")

else:

print("可以买")

可以买

2.1.2 逻辑比较

if "梦龙" in icecreamSets:

print("梦龙是冰淇淋")

else:

print("梦龙不是冰淇淋")

梦龙不是冰淇淋

2.2 多个条件判断

price = float(input("请输入水的价格:")) #设定输入数字的类型

if price <= 0:

print("天下没有免费的水")

elif price <= 2:

print("便宜没好货")

elif price <= 5:

print("物美价廉")

else:

print("太贵了")

请输入水的价格:3.5

物美价廉

三、循环(for循环)

可以批量处理数据,把容器中的每个数据按照特定标准进行重复处理。

#重复性工作

print("第一天吃梦龙")

print("第二天吃和路雪")

print("第三天吃冰工厂")

第一天吃梦龙

第二天吃和路雪

第三天吃冰工厂

#容器

eatList = ["第一天吃梦龙","第二天吃和路雪","第三天吃冰工厂"]

#循环

for i in eatList:

print(i)

第一天吃梦龙

第二天吃和路雪

第三天吃冰工厂

#定义字典

beverageDic = {"芬达":"Fanta","百事":"pepsi","美年达":"MIRINDA"}

#统一大小写

for key,value in beverageDic.items():

newValue = value.upper()

beverageDic[key] = newValue

print(beverageDic)

{"芬达": "FANTA", "百事": "PEPSI", "美年达": "MIRINDA"}

3.1 continue(用于跳出当前循环)

for key,value in beverageDic.items():

if(key == "芬达"): #跳过芬达,不执行print语句

continue

print("饮料名称:", key, "英文名称:",value)

饮料名称: 百事 英文名称: PEPSI

饮料名称: 美年达 英文名称: MIRINDA

3.2 break(用于退出当前循环)

for key,value in beverageDic.items():

if(key == "百事"):

print("查找",key,"英文名称:",value)

break

print("饮料名称:", key, "英文名称:",value)

饮料名称: 芬达 英文名称: FANTA

查找 百事 英文名称: PEPSI

四、函数

4.1 自定义函数

#定义函数

#函数功能:求平方

def square(x,y): #定义 函数名称(参数1,参数2,...)

z = x**y #输入:x,y的值 -函数体

return z #输出:z -x的y次方

4.2 使用函数

#参数按照定义函数时定义的顺序传递

a = 2

b = 4

c = square(a,b)

print("2的4次方等于",c)

#参数按照名称传递

d = 3

e = 2

f = square(y = e, x = d)

print("3的2次方等于",f)

2的4次方等于 16

3的2次方等于 9

4.3 函数参数:不可变数据类型

当参数为不可变数据类型(字符串,数字和元祖),传递的只是该数据类型的值,应用函数后,原数据不变。

def haha(a):

a = a+2

return a

b = 1

print("调用函数前 b=",b)

haha(b)

print("调用函数后 b=",b)

调用函数前 b= 1

调用函数后 b= 1

4.4 函数参数:可变数据类型

当参数为可变数据类型,传递的是该变量的引用地址,调用函数后,原始数据被改变。

def changeList(inputList):

inputList.append("乌龙奶茶")

milkteaList = ["珍珠奶茶","炭烧奶茶"]

print("应用函数前:",milkteaList)

changeList(inputList=milkteaList)

print("应用函数后:",milkteaList)

应用函数前: ["珍珠奶茶", "炭烧奶茶"]

应用函数后: ["珍珠奶茶", "炭烧奶茶", "乌龙奶茶"]

4.5 变量作用域

Python 中作用域有两种:全局作用域和局部作用域。定义在函数内部的变量运用在一个局部作用域,只能在函数内部访问,定义在函数外的变量运用于全局作用域。

def test():

aStr = "名侦探柯南"

print(aStr) #aStr 只能在函数内部访问

---------------------------------------------------------------------------

NameError Traceback (most recent call last)

in ()

2 aStr = "名侦探柯南"

3

----> 4 print(aStr) #aStr 只能在函数内部访问

NameError: name "aStr" is not defined

五、模块

5.1 模块的定义

将不同的函数分别放置到不同的文件中,在Python中一个文件名后缀为.py的文件就被成为模块,每个模块有特定的功能,将模块引入程序中就可以使用了。

5.2 使用模块

5.2.1 使用Python中的内置模块

#Step1: 引入模块

import sys

#Step2: 使用模块中的函数、属性

pathList = sys.path

5.2.2 使用第三方包

按目录来组织模块--包。

#使用第三方模块

import pandas as pd

#模块引入语法

#import 包名称 -全部引入

#import 包名称 as 别名

#from 包名称 import 函数名 -只引入制定部分

from collections import deque

六、数据结构 (集合模块,collections)

6.1 双向链表(queue):

6.1.1 队列

队列类似于线,有首尾,从尾部入队,从首部出队

#定义队列:模拟排队取票,共有5个等位

queue = deque(["001","002","003","004","005"])

#入队:在队尾插入元素

queue.append("006")

print(queue)

deque(["001", "002", "003", "004", "005", "006"])

#出队:在队列首部删除元素

queue.popleft()

print(queue)

deque(["002", "003", "004", "005", "006"])

6.1.2 栈

栈类似于木桶,新加入的元素位于木桶最上部是入栈,出栈是将最上面的元素取出

#定义栈:浏览我个人知乎主页的顺序(后退网页类似于出栈)

stack = deque(["知乎动态","知乎问答","知乎文章"])

#入栈:在栈顶加入元素

stack.appendleft("知乎专栏")

print(stack)

deque(["知乎专栏", "知乎动态", "知乎问答", "知乎文章"])

#出栈:移除栈顶元素

stack.pop()

print(stack)

deque(["知乎专栏", "知乎动态", "知乎问答"])

6.2 排序字典(OrderedDict)

6.3 计数器(Counter)

from collections import Counter

cDict = Counter("asdfghjkqwertyasdf")

cDict

Counter({"a": 2,

"d": 2,

"e": 1,

"f": 2,

"g": 1,

"h": 1,

"j": 1,

"k": 1,

"q": 1,

"r": 1,

"s": 2,

"t": 1,

"w": 1,

"y": 1})

cDict.most_common(5)

[("a", 2), ("s", 2), ("d", 2), ("f", 2), ("g", 1)]

python怎样缩进语法边界-Python的基础语法相关推荐

  1. python使用缩进作为语法边界-python二级备考 day2

    1. python 语言概述 python 蟒蛇 拥有者 PSF (Python Software Foundation) 非盈利组织,致力于保护python语言 开放.开源.发展 Guido 198 ...

  2. python赋值语句的一般格式为_Python 基础语法

    Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程 ...

  3. 0基础学Python第四天:Python3的基础语法

    文章目录 目录 文章目录 前言 一.Python3基础语法 二.编码 三.标识符 四.Python保留字 五.注释 六.行和缩进 七.多行语句 八.数字类型 九:字符串 十.空行 十一.同一行显示多条 ...

  4. python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型

    (点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...

  5. python爬贴吧回复内容_Python 基础语法+简单地爬取百度贴吧内容

    Python笔记 1.Python3和Pycharm2018的安装 2.Python3基础语法 2.1.1.数据类型 2.1.1.1.数据类型:数字(整数和浮点数) 整数:int类型 浮点数:floa ...

  6. 【轻松学】Python面向对象编程——类的设计、基础语法、继承、多态、类属性和类方法、单例设计

    文章目录 1. 类的设计 大驼峰命名法 1.1 类名的确定 1.2 属性和方法的确定 练习 1.1 练习 1.2 2. 面相对象基础语法 2.1 定义简单的类(只包含方法) 2.1.1 定义只包含方法 ...

  7. Python从入门到PY交易,基础语法,散记(二)

    类的继承: 类本身进一步细分成子类的过程,称为继承,比如鸟类是属于动物类,鸟类是动物类的子类 子类拥有父类的所有属性 1.继承的基本格式 class 类名(父类名): 属性 方法 : 方法体 2.范例 ...

  8. python使用缩进来体现-python使用缩进来体现代码之间的逻辑关系吗?

    对,python使用缩进来体现代码之间的逻辑关系,对缩进的要求非常严格.Python语言通过缩进来组织代码块,这是Python的强制要求.在代码前放置空格来缩进语句即可创建语句块,语句块中的每行必须是 ...

  9. python3基础语法-Python3的一些基础语法介绍和理解

    作者:心叶 时间:2018-04-23 22:18 此处长期维护一些对帮助快速使用python3的一些基础语法,方便日常算法练习使用. 控制语法 break 语句可以跳出 for 和 while 的循 ...

  10. mysql特有语法_MySQL详细的基础语法

    常用函数 IFNULL,ISNULLMySQL详细基础语法 SELECT IFNULL(null, 1); ifnull1.png SELECT IFNULL(0, 1); ifnull2.png S ...

最新文章

  1. MongoDB学习之路(三)
  2. javaweb利用servlet与struts2实现可点击刷新的基础图片验证码
  3. STM32、Cortex-M3和ARMv8-M之间的关联
  4. 数据库中的索引原理阅读
  5. 苹果一半员工未接受4年制大学教育 库克却对此感到骄傲
  6. 腾讯优图 ncnn AI 框架宣布加入 ONNX 开放生态系统
  7. emule学习与分析一 概述
  8. Effective JAVA 创建和销毁对象 遇到多参构造器考虑使用构建器
  9. Python 上传文件到阿里云OSS
  10. python拦截广告弹窗_电脑总是有弹窗广告,真的烦人,一招教你解决!
  11. IMDB Top 250电影推荐
  12. 形式化方法 | Proof Engineering for Predicate Logic——Coq tatics 在谓词逻辑证明中的应用
  13. Kindle接入HomeAssistant:实现锁屏壁纸显示HA内设备信息并在HA内获取Kindle电量
  14. 计算机组成原理大题速成,计算机组成原理大题
  15. C#引用interop.taskscheduler.dll
  16. BFU C.yi的书包 01背包【水题】
  17. 苹果下一代iPhone曝光
  18. python中的无穷大
  19. ubuntu上安装RobotFramework+ride
  20. 安装Linux系统时卡在命令行了,从硬盘安装Linux和从Grub命令行启动操作系统

热门文章

  1. 团队项目:过山车游戏的设想
  2. No such file or dirctionary:/ufeff.....关于ufeff错误的解决办法
  3. github 公钥 私钥_windows下如何使用Git将本地项目上传到GitHub
  4. CentOS 6.8 安装JDK8
  5. ReportLab for PDF
  6. Impala之加载HBase数据
  7. FlashFXP列表参数错误解决方法
  8. 使用思科asa防火墙deny QQ农场
  9. VScode配置CMD本地运行环境(2.0)
  10. Redis 常用配置参数