python如何定义名称_Python的基础语法

一、数据

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)]

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python函数中,参数可以通过以下方式定义: 1. 位置参数:这是最常见的参数类型。它们按照定义的顺序传递给函数。例如: ```python def greet(name, message): print(f"{message}, {name}!") greet("John", "Hello") # Output: Hello, John! ``` 2. 关键字参数:使用关键字指定参数的名称,这样它们可以以任意顺序传递给函数。例如: ```python def greet(name, message): print(f"{message}, {name}!") greet(message="Hello", name="John") # Output: Hello, John! ``` 3. 默认参数:这些参数具有默认值,如果没有传递,则使用默认值。例如: ```python def greet(name, message="Hello"): print(f"{message}, {name}!") greet("John") # Output: Hello, John! greet("John", "Hi") # Output: Hi, John! ``` 4. 可变参数:这些参数允许你传递任意数量的参数。它们有两种形式:*args和**kwargs。*args表示一个元组,**kwargs表示一个字典。例如: ```python def greet(*names): for name in names: print(f"Hello, {name}!") greet("John", "Mary", "Tom") # Output: # Hello, John! # Hello, Mary! # Hello, Tom! def greet(**names): for key, value in names.items(): print(f"{key}: {value}") greet(name1="John", name2="Mary", name3="Tom") # Output: # name1: John # name2: Mary # name3: Tom ``` 在定义函数时,可以混合使用这些参数类型。例如: ```python def greet(name, message="Hello", *args, **kwargs): print(f"{message}, {name}!") for arg in args: print(f"Hi, {arg}!") for key, value in kwargs.items(): print(f"{key}: {value}") greet("John") # Output: Hello, John! greet("John", "Hi", "Mary", "Tom", age=30, city="New York") # Output: # Hi, Mary! # Hi, Tom! # age: 30 # city: New York ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值