Python基础知识、基本概念、下载python和pycharm、列表、元组、字典等等
先看后赞,养成习惯。点赞收藏,人生辉煌!
目录
- 1、Python基础知识
- 1.1 基本概念
- 1.2 下载python和pycharm
- 1.3 格式化输出
- 1.4 键盘输入
- 1.5 运算符和表达式
- 2、判断语句和循环语句
- 2.1 判断语句
- 2.2 循环语句
- 2.3 import 与from import
- 2.4 break、continue、pass
- 3、字符串、列表、元组、字典
- 3.1字符串
- 3.2List(列表)
- 3.2.1 列表常用操作
- 3.3 元组
- 3.4 字典
- 3.5 集合
- 3.6 小结
- 4、购物作业
1、Python基础知识
1.1 基本概念
Python是一门解释型、面向对象的高级编程语言
Python是免费开源的
、支持交互式
、可跨平台移植的脚本语言
(解释性语言)
优点
开源、易于维护
可移植
易于使用、简单优雅
广泛的标准库、功能强大
可扩展、可嵌入
缺点
运行速度慢
代码不能加密
Python应用场景
Web开发:Djiango、TurboGear、web2py等框架
科学计算:NumPy、SciPy、Matplotlib可以让python程序员编写科学计算程序
服务器软件:python对于各种网络协议的支持很完善,因此被经常用于编写服务器软件、网络爬虫
游戏:很多游戏使用C++编写图像显示等高性能模块,而使用python或者Lua编写游戏的逻辑、服务器
桌面软件:wxPython、PyQt、PySide、PyGTK是python快速开发桌面应用程序的利器
自动化脚本:大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了python,可以在终端下直接运行python
Python应用方向
数据分析: python是数据分析的主流语言之一
科学计算: 绘制高质量的2G和3G图像
人工智能:
网络爬虫:
常规软件开发:
WEB开发:
1.2 下载python和pycharm
下载python链接
https://www.python.org/downloads/
下载pycharm链接
https://www.jetbrains.com/pycharm/
标识符和关键字
‘False’, ‘None’, ‘True’, ‘peg_parser’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’
1.3 格式化输出
print('hello',end='')后面直接跟着输出
print('word',end='\t')相当于tab键之后再跟着输出
print('python',end='\n')换行输出
age = 18print('我的年纪是:%d岁'%age)age = 11str='中国'print('我的年龄是%d,我的国籍是%s'%(age,str))print('aaa','bb','ccc')print('www','baidu','com',sep='.')print('hello',end='')print('word',end='\t')print('python',end='\n')print('end')print("\n") #换行输入
1.4 键盘输入
Password = input(“请输入密码”)
Print(‘你刚刚输入的密码是’,password)
type(password):是字符串类型
如果要输入其他类型则强制转化:
Password = int(input(“请输入密码”))
Print(‘你刚刚输入的密码是’,password)
type(password):是int类型
1.5 运算符和表达式
运算符号 | 作用 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
\ | 除法 |
% | 取模 |
** | 幂 |
\\ | 取整数 |
比较运算符…
赋值运算符…
2、判断语句和循环语句
2.1 判断语句
练习题:输入一个成绩,判断考试等级
score = int(input("输入成绩..."))
if score >= 90 and score <= 100:print('本次考试等级为A')
elif score >= 80 and score <90:print('本次考试等级为B')
elif score >= 70 and score < 80:print('本次考试等级为C')
elif score >= 60 and score <70:print('本次考试等级为D')
else:print('本次等级为E')
2.2 循环语句
for i in range(-10,-100,-30):#-10为起点,-100为终点,-30为步长print(i)
a = ['aa','bb','cc','dd']
for i in range(len(a)):print(i,a[i])
练习题:1-100 求和。
#1-100求和
sum = 0
for i in range(1,101):sum = sum +i
print(sum)
练习题:while求1-100的和
i = 1
sum = 0
while i <101:sum = sum +iprint('这是第%d次就和且和是%d'%(i,sum))i+=1
i = 1
sum = 0
while i <101:sum = sum +ii += 1
print(sum)
练习题:九九乘法表for做法
# 九九乘法表for
for i in range(1, 10):for ii in range(1,i+1):print('%d*%d=%d'%(i,ii,i*ii),end = ' ')print('\t')
练习题:九九乘法表while做法
# 九九乘法表while
i = 0
while i <= 9:for ii in range(1,i+1):print('%d*%d=%d'%(i,ii,i*ii),end = ' ')i += 1print('\t')
2.3 import 与from import
在python用import 和form…import来导入相应的模块。
在整个模块(somemodule)导入,格式为import somemodule
从某个模块中导入某个函数,格式为:form somemodule import somefunction
从某个模块中导入多个格式: form somemodule import firstfunc,secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为from somemodule import \*
2.4 break、continue、pass
1、Break语句可以跳出for和while语句;
2、Continue语句跳过当前循环,直接进行下一轮循环;
3、Pass是空语句,一般是占位语句,不做任何事情。
3、字符串、列表、元组、字典
3.1字符串
- Python中的字符串可以使用单引号、双引号、三引号(三个单引号或三个双引号)括起来,使用反斜杠\转义特殊字符
- Python3源码文件默认以UTF-8编码,所有字符串都是unicode字符串
- 支持字符串拼接、截取等多种运算
word = '字符串'
sentence = "这是一个句子"
paragraph = """这是一个段落可以由多行组成
"""
print(word)
print(sentence)
print(paragraph)
什么时候使用单引号什么时候使用双引号?
当字符串用双引号括起来时,中间的’不用转义就能输出
当字符串用单引号括起来时,中间的’需要用\转义输出
str = "chengdu"
print(str)
print(str[0])
print(str[1:7:2])#[起始位置:结束位置:步进值]print(str[:5])
print(str[5:])print(str+',你好')#字符串连接,使用加号print(str*3)#连续打印多次
print('hello\nchengdu')#使用\实现转义字符的功能
print(r'hello\nchengdu')#hello\nchengdu 当字符串前面加r时,直接显示原始字符串,不需要转义
3.2List(列表)
python的核心数据类型
-
1.列表可以完成大多数集合类的数据结构实现。列表中元素的类型 可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)
2.列表写在[ ]之间,用逗号分隔开的元素列表
3.列表索引值以0为开始值,-1为从末尾的开始位置
4.列表可以使用+操作进行拼接,使用*表示重复
str = "chengdu"
print(str)
print(str[0])
print(str[1:7:2])#[起始位置:结束位置:步进值]print(str[:5])
print(str[5:])print(str+',你好')#字符串连接,使用加号print(str*3)#连续打印多次
print('hello\nchengdu')#使用\实现转义字符的功能
print(r'hello\nchengdu')#hello\nchengdu 当字符串前面加r时,直接显示原始字符串,不需要转义
amelist = []#定义一个空的列表
namelist = ["校长","小王","小刘"]
print(namelist[0])#校长
print(namelist[1])#小王
print(namelist[2])#小刘testlist = [1,'测试'] #列表可以存储混合类型
print(testlist[0]) #1
print(type(testlist[0])) #<class 'int'>
print(testlist[1])#测试
print(type(testlist[1]))#<class 'str'>
#for循环遍历
for name in namelist:print(name)
''' 校长小王小刘'''
#while循环遍历
i = 0
while i < len(namelist):print(namelist[i])#i += 1
''' 校长小王小刘'''
3.2.1 列表常用操作
namelist = []#定义一个空的列表
namelist = ["校长","小王","小刘"]
# 增加:append
print('----增加前名单列表的数据----')
for name in namelist:print(name)
nametemp = input("亲输入添加的学生姓名")
namelist.append(nametemp)#在末尾追加一个元素print('----增加后名单列表的数据----')
for name in namelist:print(name)#增:extend
a = [1,2]
b = [3,4]
a.append(b)#将列表当做一个元素,加入到a列表中
print(a)#[1, 2, [3, 4]]a.extend(b)#将b列表中的每个元素,逐一追加到a列表
print(a)#增 insert
a = [0,1,2]
a.insert(1,3)
print(a) #[0, 3, 1, 2]#删 del pop remove
moveName = ["加勒比海盗","骇客帝国","第一滴血","指环王","速度与激情"]print('----删除前,电影列表的数据----')
for name in moveName:print(name)del moveName[2]#在指定位置删除一个元素
moveName.pop()
print('----删除后,电影列表的数据----')
for name in moveName:print(name)#pop
moveName = ["加勒比海盗","骇客帝国","第一滴血","指环王","速度与激情"]print('----pop前,电影列表的数据----')
for name in moveName:print(name)moveName.pop()#弹出末尾最后一个元素,相当于删除最后一个元素
print('----pop后,电影列表的数据----')
for name in moveName:print(name)# remove
moveName = ["加勒比海盗","骇客帝国","指环王","第一滴血","指环王","速度与激情"]print('----remove前,电影列表的数据----')
for name in moveName:print(name)moveName.remove("指环王")#直接删除指定内容的元素,要是有重复的,只删除第一个
print('----remove后,电影列表的数据----')
for name in moveName:print(name)#改:
print('----增加前,名单列表的数据----')
for name in namelist:print(name)namelist[1] = "小红"print('----增加后,名单列表的数据----')
for name in namelist:print(name)# 查 in ,not in
findname = input("请输入你要查找的学生姓名:")
if findname in namelist:print("在学员中找到了相同的名字")
else:print("没有找到此学员的名字")mylist = ["a","b","c","a","b"]
print(mylist.index("a",1,4))#可以查找指定下标范围的元素,并返回找到对应数据的下标
print(mylist.index("a",1,3))#范围区间左闭右开[1,3),取左不取右print(mylist.count("a"))#2,count()统计某个元素出现的次数
print(mylist.count("b"))#2
print(mylist.count("c"))#1#排序和反转
a = [1,4,2,3]
print(a)#[1, 4, 2, 3]
a.reverse()#将列表所有元素反转
print(a)#[3, 2, 4, 1]
a.sort()#升序
print(a)#[1, 2, 3, 4]
a.sort(reverse=True)#降序
print(a)#[4, 3, 2, 1]# schoolNames = [[],[],[]]#有三个元素的空列表,每个元素都是一个空列表
schoolNames = [["北郊大学","清华大学"],["南开大学","天津大学","天津师范大学"],["山东大学","中国海洋大学"]]
print(schoolNames[0])#['北郊大学', '清华大学']
print(schoolNames[0][0])#北郊大学
把A-H八位老师随机分到三个办公室。
import random
offices = [[],[],[]]
names = ["A","B","C","D","E","F","G","H"]
for name in names:index = random.randint(0,2)#左闭右闭offices[index].append(name)i = 1
for office in offices:print("办公室%d的人数为%d人"%(i,len(office)))i += 1for name in office:print("%s"%name,end = "\t")print("\n")print("-"*20)
随机分配结果
3.3 元组
python的核心数据类型
-
1、tuple 与list类似,不同之处在于tuple的元素不能修改。tuple写在小括号里面,元素之间用逗号隔开。
2、元组的元素不可变,但可以包含可变对象,如list。
注意:定义一个职业1个元素的tuple,必须加逗号。
注意:定义一个职业1个元素的tuple,必须加逗号
练习
# 元组
tup1 = ()#创建空的元组
tup2 = (50)
tup3 = (50,)
tup4 = (50,60,70)
print(type(tup1)) #<class 'tuple'>
print(type(tup2)) #<class 'int'>
print(type(tup3))#<class 'tuple'>
print(type(tup4))#<class 'tuple'>'''tup1 = ("abc","def",2000,2020)
print(tup1[0])#abc
print(tup1[-1])#2020 访问最后一个元素
print(tup1[1:5])#('def', 2000, 2020) 左闭右开,进行切片
print(tup1[1:3])#('def', 2000)#增(连接了)
tup1 = (12,34,56)
tup2 = ("abc","xyz")
tup = tup1+tup2#(12, 34, 56, 'abc', 'xyz')
print(tup)
#删
tup1 =(12,34,56)
print(tup1)
del tup1 # 删除了整个元组变量
print("删除后......")
print(tup1)
#改
tup1 = (12,34,56)
tup1[0] = 100 # 报错不允许修改
#查
tup1 = ("abc","def",2000,2020)
print(tup1[0])#abc
print(tup1[-1])#2020 访问最后一个元素
print(tup1[1:5])#('def', 2000, 2020) 左闭右开,进行切片
print(tup1[1:3])#('def', 2000)
3.4 字典
python的核心数据类型
python的核心数据类型
-
字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
键(key)必须使用不可变类型
同一个字典中,键(key)必须是唯一的
练习
# 字典
# 字典的定义
info = {"name":"吴彦祖","age":18}
# 字典的访问
print(info["name"]) #吴彦祖
print(info["age"]) #18
#访问了不存在的键
#print(info["gender"]) #KeyError: 'gender'
#直接访问会报错print(info.get("gender")) #None 使用get方法没有找到对应的键,默认返回None
print(info.get("gender","m")) #没找到时候可以设定默认值
print(info.get("age","m")) #找到的话输出原值info = {"name":"吴彦祖","age":18}
#增newID = input("请输入新的学号")
info["id"] = newID
print(info["id"])
#删 del 、 clear
print(info)
print("删除前:%s"%info["name"])
del info["name"] #删除了指定键值对
print("删除后:%s"%info["name"]) #KeyError: 'name' 删除了指定键值对print("删除前:%s"%info)
del info #删除了字典
print("删除后:%s"%info) #NameError: name 'info' is not defined 删除了整个字典,删除后再次访问就会报错#【clear】 清空
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info)#删除前:{'name': '吴彦祖', 'age': 18}
info.clear()
print("清空后:%s"%info)#清空后:{}
#改
info = {"name":"吴彦祖","age":18}
info["age"] = 20
print(info)#{'name': '吴彦祖', 'age': 20}
#查(遍历)
info = {"id":1,"name":"吴彦祖","age":18}
print(info.keys()) #dict_keys(['id', 'name', 'age']) 得到所有的键
print(info.values()) #dict_values([1, '吴彦祖', 18]) 得到所有的值
print(info.items()) #ddict_items([('id', 1), ('name', '吴彦祖'), ('age', 18)]) 每个键值对是一个元组#遍历所有的键
info = {"id":1,"name":"吴彦祖","age":18}
for key in info.keys():print(key)'''
'''
id
name
age
'''
#遍历所有的值
for value in info.values():print(value)
'''
1
吴彦祖
18'''
#遍历所有的值
for key,value in info.items():print('key = %s,value = %s'%(key,value))
'''key = id, value = 1key = name, value = 吴彦祖key = age, value = 18'''#使用枚举函数,同时拿到列表中的下标和元素内容
mylist = ['a','b','c','d']
for i,x in enumerate(mylist):print(i,x) # a b c d
'''
0 a
1 b
2 c
3 d
'''
3.5 集合
python的核心数据类型
set(集合)
1、set和dict类似,也是一组key的集合,但不储存value。由于key不能重复,所以,在set中,没有重复的key
2、set是无序的,重复元素在set中自动被过滤
注意:set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集(&)、并集(|)、差集(-)等操作。
3.6 小结
4、购物作业
一、问题:
现有商品列表如下:
1、products = [[“iphone”,6888],[“MacPro”,14800],[“小米6”,2499],[“Coffee”,31],[“Book”,60], [“Nike”,699]],需打印出以下格式:
2、根据上面的products列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,终用户输入q退出时,打印购买的商品列表。
代码:
products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("------ 商品列表 --------")i = 0
for name in products:print(i,end='\t')i += 1for n in name:print(n,end='\t')print()
print('='*30)#使用枚举函数,同时拿到列表中的下标和元素内容
'''products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
for i,product in enumerate(products):print(i,product)
'''# 2、根据上面的procucts 列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,
# 就把对应的商品添加到购物车里,最终用户输入q退出时,打印购买的商品列表
flag = True
shopping = []
while flag:count = 0SelectProduct = input('亲输入您想购买的商品编号?')if SelectProduct.isdigit():SelectProduct = int(SelectProduct)if SelectProduct >= 0 and SelectProduct <= 5:shopping.append(products[SelectProduct])print('你已经添加了%d商品到购物车'%SelectProduct)else:print('你输入的商品不存在请重新输入')elif SelectProduct == 'q' and 'Q':if len(shopping) > 0:print('='*30)print('您已经购买以下商品')print('商品', end='\t')print('价格$')for shop in shopping:for n in shop:print(n,end='\t')count += shop[1]print()print('总额',end='\t')print(count)print('您一共消费多少%d元'%count)flag = Falseelse:print("输入有误!!!!请输入0-5号商品")
Python基础知识、基本概念、下载python和pycharm、列表、元组、字典等等相关推荐
- Python基础知识及概念
Python基础知识及概念 1. 注释 单行注释 #这是一个单行注释 · 在程序开发时,同样可以使用 # ...
- python基础教程第二版下载-Python基础教程(第2版)
本书包括Python程序设计的方方面面,首先从 Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表.元组.字符串.字典以及各种语句.然后循序渐进地介绍了一些相对高级的主题,包 ...
- Python基础知识(二)基本数据结构list列表和dict字典
介绍 list和dict,顾名思义,就是列表和字典,这是python中非常基础的数据结构,也是非常重要且用途最广的数据结构 列表list就是一串糖葫芦 list是python的一种内置数据结构,想象成 ...
- python基础知识思维导图-python基础知识思维导图1
python的发展史 - 1989年,Guido(龟叔),为ABC语言写插件,Monty Python喜剧团: - 1990年,发布python第一个版本: - 2001年,2.x: (pyt ...
- 计算机二级python基础知识总结-计算机二级python 知识点篇(程序的控制结构)...
计算机二级python 知识点篇(程序的控制结构) 程序的基本结构 程序由三种基本结构组成: 顺序结构. 分支结构和循环结构 分支结构 单分支结构 if and 表示多个条件"与" ...
- Python基础知识学习05--数值,字符串,列表
##数据类型 ###数值 数值的声明 数组 '''声明一个数组,注意:在l的后面不要随意加空格符号''' l=[1,2,3] '''声明一个多钟类型嵌套的数组,这也是Python的一个特性''' l2 ...
- Python复习系列:Python基础知识(三)
Python基础知识(三) Python基础知识(三) (一)循环结构和选择结构 1. 条件表达式 2. 选择结构 2.1 单分支选择结构 2.2 双分支选择结构 2.3 多分支选择结构 2.4 选择 ...
- python基础知识下载_python基础知识(实用)
文档来源为 : 从网络收集整理 .word 版本可编辑 . 欢迎下载支持 . 1 Python 基础知识 目录 Python 基础知识 ................................ ...
- python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))
Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...
最新文章
- mybatis delete返回值_从零开始学习在IntelliJ IDEA 中使用mybatis
- Android Fragment 解析(下)
- 带有支付功能的产品如何进行测试
- STM32L0开发——ADC多通道采集,IDE和IAR开发注意事项
- wxWidgets:wxValidator概述
- 中序遍历的模板(以及变形更新中。。。)
- 轻松生成小程序分享海报
- 设计图书馆oracle触发器,Oracle触发器开发与设计
- mysql数据库安全怎么设置密码_关于mysql的数据库的安全问题
- iis swagger 部署_AspNet Core Api Restful +Swagger 发布IIS 实现微服务之旅 (二)
- jQuery操作input值总结
- [Matlab科学计算] 有限元法求二阶常微分方程
- 怎么解除计算机管理员的身份,怎么取消管理员权限(怎么取消管理员取得所有权)...
- Assembler如何把跳转汇编变成机器码的(一)
- Android学习之仿QQ讨论组和微信群聊头像
- 我是如何零基础开始能写爬虫的?
- 运筹学基础知识学习计划
- 一、R语言简介【R与统计】
- 周末在家干什么?aiwi体感游戏让你轻松度假
- 《控制工程基础》习题集