先看后赞,养成习惯。点赞收藏,人生辉煌!

目录

  • 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、列表、元组、字典等等相关推荐

  1. Python基础知识及概念

                                        Python基础知识及概念 1.     注释 单行注释 #这是一个单行注释  ·       在程序开发时,同样可以使用 #  ...

  2. python基础教程第二版下载-Python基础教程(第2版)

    本书包括Python程序设计的方方面面,首先从 Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表.元组.字符串.字典以及各种语句.然后循序渐进地介绍了一些相对高级的主题,包 ...

  3. Python基础知识(二)基本数据结构list列表和dict字典

    介绍 list和dict,顾名思义,就是列表和字典,这是python中非常基础的数据结构,也是非常重要且用途最广的数据结构 列表list就是一串糖葫芦 list是python的一种内置数据结构,想象成 ...

  4. python基础知识思维导图-python基础知识思维导图1

    python的发展史 - 1989年,Guido(龟叔),为ABC语言写插件,Monty Python喜剧团: - 1990年,发布python第一个版本: - 2001年,2.x:     (pyt ...

  5. 计算机二级python基础知识总结-计算机二级python 知识点篇(程序的控制结构)...

    计算机二级python 知识点篇(程序的控制结构) 程序的基本结构 程序由三种基本结构组成: 顺序结构. 分支结构和循环结构 分支结构 单分支结构 if and 表示多个条件"与" ...

  6. Python基础知识学习05--数值,字符串,列表

    ##数据类型 ###数值 数值的声明 数组 '''声明一个数组,注意:在l的后面不要随意加空格符号''' l=[1,2,3] '''声明一个多钟类型嵌套的数组,这也是Python的一个特性''' l2 ...

  7. Python复习系列:Python基础知识(三)

    Python基础知识(三) Python基础知识(三) (一)循环结构和选择结构 1. 条件表达式 2. 选择结构 2.1 单分支选择结构 2.2 双分支选择结构 2.3 多分支选择结构 2.4 选择 ...

  8. python基础知识下载_python基础知识(实用)

    文档来源为 : 从网络收集整理 .word 版本可编辑 . 欢迎下载支持 . 1 Python 基础知识 目录 Python 基础知识 ................................ ...

  9. python基础知识及数据分析工具安装及简单使用(Numpy/Scipy/Matplotlib/Pandas/StatsModels/Scikit-Learn/Keras/Gensim))

    Python介绍. Unix & Linux & Window & Mac 平台安装更新 Python3 及VSCode下Python环境配置配置 python基础知识及数据分 ...

最新文章

  1. mybatis delete返回值_从零开始学习在IntelliJ IDEA 中使用mybatis
  2. Android Fragment 解析(下)
  3. 带有支付功能的产品如何进行测试
  4. STM32L0开发——ADC多通道采集,IDE和IAR开发注意事项
  5. wxWidgets:wxValidator概述
  6. 中序遍历的模板(以及变形更新中。。。)
  7. 轻松生成小程序分享海报
  8. 设计图书馆oracle触发器,Oracle触发器开发与设计
  9. mysql数据库安全怎么设置密码_关于mysql的数据库的安全问题
  10. iis swagger 部署_AspNet Core Api Restful +Swagger 发布IIS 实现微服务之旅 (二)
  11. jQuery操作input值总结
  12. [Matlab科学计算] 有限元法求二阶常微分方程
  13. 怎么解除计算机管理员的身份,怎么取消管理员权限(怎么取消管理员取得所有权)...
  14. Assembler如何把跳转汇编变成机器码的(一)
  15. Android学习之仿QQ讨论组和微信群聊头像
  16. 我是如何零基础开始能写爬虫的?
  17. 运筹学基础知识学习计划
  18. 一、R语言简介【R与统计】
  19. 周末在家干什么?aiwi体感游戏让你轻松度假
  20. 《控制工程基础》习题集

热门文章

  1. 串口通讯常用方法及CRC校验
  2. 学生成绩管理系统(C语言实现)大作业不会?快来看看吧!
  3. 红外线测温仪解决方案开发
  4. RSA加密算法简单介绍以及python实现
  5. div中加入内容会下沉
  6. 【ztree系列】节点的增删改
  7. (完美解决)java 集成解决引入百度智能云bos包,出现log4j打印日志过多问题【com.baidubce:api-explorer-sdk】
  8. 还在犹豫学不学编程技术?未来十年AI将改变世界,犹豫将错失高薪就业机会!
  9. DRM系列(13)之writeback_job介绍
  10. 经典算法学习——层序遍历二叉树