一、数据

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 之 面向对象基础(定义类、创建对象,名称空间)

    第七章面向对象 1.面向过程编程核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问题流 ...

  2. python标识符的特点_Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别...

    Python语言基础 1.Python语法特点 注释: 单行注释:# #注释 单行注释分为两种情况, 例:第一种 #用于计算bim数值 bim=weight/(height*height) 第二种: ...

  3. python怎么定义名称_Python模块的定义,模块的导入,__name__用法实例分析

    本文实例讲述了Python模块的定义,模块的导入,__name__用法.分享给大家供大家参考,具体如下: 相关内容: 什么是模块 模块的导入 模块的导入 自模块的导入 同级目录导入 不同级目录导入 目 ...

  4. python快速入门【一】-----基础语法

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  5. python的基本语法、数据类型、运算符及基本操作_Python教程基础语法、变量基本使用和算术运算符...

    变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 · 变量定义 · 变量的类型 · 变量的命名 01. 变量定义 · 在 Python 中,每个变量 在使用前都必须赋值,变量 赋 ...

  6. python中matrix是什么意思_Python的基础语法

    Python的基础语法 在对Python有了基础的认识之后,下面来了解一下Python的基础语法,看看它和C语言.java之间的基础语法差异. 一.变量.表达式和语句 Python中的语句也称作命令, ...

  7. python如何定义类_Python 面向对象

    Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...

  8. python中定义字符串_Python中的字符串String

    Python中除了数字(Numbers)(int,float,complex)之外,另外一种重要的类型就是字符串. 字符串是字符序列,可以由任何字符构成. 在Python语言中,字符串可以放在单引号( ...

  9. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

最新文章

  1. Confd+Consul 配置文件动态生成
  2. python商业爬虫教程_廖雪峰老师的Python商业爬虫课程 Python网络爬虫实战教程 体会不一样的Python爬虫课程...
  3. oracle安装参数,Oracle安装内核参数设置
  4. [导入]做了一个页面静态化小软件,和大家分享,up有分
  5. 走近人脸识别:时代趋势下的弄潮儿
  6. 二分类预测用的几个预测结果精确度计算方法
  7. bean json转kotlin_Android kotlin插件神器Json直接生成javaBean
  8. css 控制溢出文本显示省略号效果
  9. php企业黄页源码,PHPCMS 企业黄页模块 v9 GBK 正式版
  10. 云原生高可用技术体系构建
  11. Python核心编程-第2章-网络编程(1)
  12. 51单片机io位与 c语言,【51单片机】普通I/O口模拟SPI口C语言程序
  13. android欢迎界面的功能,Android 启动 ( 欢迎 ) 页面实现
  14. LinearLayout布局问题
  15. 易班自动答题脚本_一款功能强大的答题小程序,更智能的在线考试系统,出好试卷,随机出题的微信小程序...
  16. 2016年度中国会计师事务所排名前十
  17. linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享
  18. 网络安全之密码安全基础
  19. shadowgun的飘扬旗帜shader
  20. 使用photoView完成照片查看器(本地图片)

热门文章

  1. 【Linux kernel/cpufreq】framework ----初识
  2. 完美解决:Property ‘XXX‘ does not exist on type ‘Window‘
  3. [高通SDM450][Android9.0]屏蔽安全模式
  4. 突破生产力结界,华为平板M5的因与革
  5. 5G上行,真是让人操碎了心!
  6. 为了帮学弟学妹找免费编程资源,真是操碎了心!
  7. 什么是SVN,Linux环境如何安装最新版Svn服务(yum安装1.14.1)
  8. 我们团队为什么要使用php和java的混搭架构
  9. TIM学习文档20-- 权限管理
  10. 北斗导航 | 周跳处理(cycle-slips)方法(matlab工具)