汇总来自 (凤城老人的头条主页 - 今日头条(www.toutiao.com)《青少年Python编程系列》。

一、input()输入的内容是字符串类型

a = input("输入边长:")
a = float(a)  #inpuut输入为字符串,此处转化成浮点数字
s = a * a
print("正方形面积s=",s) #输出语句可以同时输出多个内容,中间以逗号隔开,每个变量类型可以不同。不同的内容之间以空格隔开。

二、内置函数

1、print函数:正常情况下,print按行输出内容;如果在print函数里面加两种“小尾巴”,就可以改变它的结尾符和分隔符。

print("Hello", end=' ')
print("你好")
print(1, 2, 3, 4, 5, sep=';')

结果:

Hello 你好
1;2;3;4;5

2、pow()函数

作用与**运算符相同,用于计算幂运算,里面需要写两个参数,分别为底和幂。

3、round()函数

作用是对一个浮点数进行四舍五入,里面有两个参数,第一个参数是浮点数,第二个参数是精确的小数位数,不写默认精确到整数位。

4、eval()函数

作用是将字符串的内容作为Python的代码执行。如下代码段中,a被赋值为2,字符串的内容是a+3,变成代码后就是2+3,输出结果为5。以下代码为2、3、4函数的样例:

a = 3 ** 4
b = pow(3, 4)
print(a, b)   #两者结果一样
print(round(3.7))  # 4
print(round(120.6192, 2)) # 120.62
a = 2
print(eval("a+3"))
#print(eval("Hello")) #这段代码执行后会报错:字符串中的Hello被转换成了代码执行,变成了一个标识符,但是这个变量没有被定义,因此程序报错。
a = eval(input("请输入边长:"))
s = a * a
print("正方形的面积:", s)

eval()函数有如下妙用,还是以计算正方形面积的代码为例。前面的代码中,我们不知道正方形的边长是整数还是浮点数,所以转换成浮点数了。如果运行代码时边长输入的整数,最后输出的结果还是浮点数。如果用eval()函数就可以优化这个代码。

三、字符串的使用

1、单引号或者双引号书写的字符串都是单行字符串。字符串在Python中还可以使用三个单引号或者三个双引号开头,三个单引号或者三个双引号结尾,写成多行字符串。

poem1 = '''远上寒山石径斜,
白云生处有人家。
停车坐爱枫林晚,
霜叶红于二月花。'''
poem2 = """日照香炉生紫烟,
遥看瀑布挂前川。
飞流直下三千尺,
疑是银河落九天。
"""
print(poem1, poem2, sep='\n')

多行注释的时候曾经用过三个单引号。如果不把它赋值给任何变量,它就是多行注释;如果把它赋值给一个变量,它就变成多行字符串了。

2、字符串索引

字符串中每个字符都有对应的位置编号,通过索引可以获取访问字符串中的单个字符。索引分为正向索引和反向索引,正向索引编号从0开始,反向索引编号使用负数表示,从-1开始。

索引

P

Y

T

H

O

N

正向

0

1

2

3

4

5

反向

-6

-5

-4

-3

-2

-1

如果我们要获取字母'N',可以使用正向索引,写作lang[5];也可以使用反向索引,写作lang[-1]。

易错点:正向索引起始值为0,不是1。

3、字符串切片

我们经常需要截取字符串中的某些部分,切片就是截取字符串中某些部分的方法
切片的格式
str[start:end:step]
start:起始索引,取值的时候包括该索引,省略代表从0开始
end : 结束索引,取值的时候不包括该索引,省略代表到结尾
step:步长,每多少个字符取一个字符,省略代表1,负数代表反向切片

s = "123456789"
print(s[1:5]) # 2345 从索引为1到索引为5(不包括5)
print(s[:7]) # 1234567 起始索引省略为0,到索引7(不包括7)
print(s[1:6:2]) # 246 起始索引为1,结束索引为6(不包括6),步长为2
print(s[-5:-3]) # 56 起始索引为反向索引-5,结束索引为反向索引-3(不包括-3)
print(s[::-1]) # 987654321 起始索引和结束索引为空,为从头到尾,步长-1为反向

4、成员运算符

成员运算符使用关键字in。我们可以使用in或not in判断字符串中是否包含字符串。

s = "Hello Python!"
print("h" in s) # True  字符串中有h,in的判断结果为True
print("h" not in s) # False  字符串中有h,not in的判断结果为False
print("ab" in s) # False  字符串中没有ab, in的判断结果为False
print("ab" not in s) # True  字符串中没有ab, not in的判断结果为True

5、len()函数

len()函数可以获取字符串的长度,即字符串中有多少个字符。

6、count()函数

使用count()方法可以获取字符串中的子字符串的数量。

str.count(sub_str, beg=0, end=len(str))

count()方法里面至少要有一个参数,是子字符串。后面两个参数是可选项,分别是起始位置和结束位置。

s = "This is a sausage"
print(s.count('s'))
# 结果为4,字符串中有4个字母‘s’

7、find()方法和index()方法

使用find()方法可以获取字符串中子字符串首次出现位置的索引值,如果子字符串不存在则返回-1。使用index()方法同样可以获取字符串中子字符串首次出现位置的索引值,如果子字符串不存在程序报错

str.find(sub_str, beg=0, end=len(str))
str.index(sub_str, beg=0, end=len(str))

find()方法和index()方法里面至少有一个参数,是子字符串。后面两个参数是可选项,分别是起始位置和结束位置。我们看一下具体的使用。

s = "This is a sausage"
print(s.find('s'))
print(s.index('s'))
# find()和index()结果都为3,第四个字符是s,索引号为3
print(s.find('s', 4))
print(s.index('s', 4))
# 结果为6。从索引为4的字符串开始往后找,第一个s出现在is上,索引号为6
print(s.find('z', 4))
# 结果为-1。字符串中没有字母z,返回-1。
print(s.index('z', 4))
# 程序报错

8、upper()方法和lower()方法

upper()方法可以将字符串全部转换为大写字母,lower()方法可以将字符串全部转换为小写字母。

str.upper()
str.lower()

9、replace()方法

replace()方法可以将字符串中的子字符串替换为新的子字符串。

str.replace(old, new [, max])

replace()方法中至少有两个参数,分别是旧字符串和新字符串。第三个参数为可选项,可设置最多替换的个数,如不填写则替换全部。

s = "This is a sausage"
print(s.replace('sausage', 'pizza'))
# 结果为:This is a pizza。sausage被替换成pizza。s2 = "SOS SOS SOS SOS SOS"
print(s2.replace('SOS', 'HELP', 2))
# 结果为:HELP HELP SOS SOS SOS。最后一个参数2,规定了最多替换2个。

10、strip()方法

strip()方法用于移除字符串头尾两端的指定字符或字符串,默认为空格和换行符。

注意:只删除头尾两端的,不会删除中间的。

四、列表

列表(list)是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作包括对元素的的查找,插入,和删除。

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。字符、字符串、数值等不同数据类型的数据可以保存到同一个列表中。

列表和字符串操作有很多相似,原文中介绍很详细。这里重点引用以下内容。

1、字符串拆分成列表

有一定规律的字符串,可以使用指定的分隔符,将字符串拆分成列表。使用的是字符串的split()方法,使用方法如下:

str.split(sep, num)

split()方法里面有两个参数,第一个参数为分隔符,默认值为所有空字符(包括空格、换行、制表符等),第二个参数为分隔次数,默认值为-1,即分隔所有。我们看看具体的例子:

s = '西瓜,苹果,梨子,桃子,芒果'
list1 = s.split(',')
print(list1)
# ['西瓜', '苹果', '梨子', '桃子', '芒果']
list2 = s.split(',', 2)
print(list2)
# ['西瓜', '苹果', '梨子,桃子,芒果']

第一个split()中只输入了分隔符,没有输入次数,所有的逗号都是分隔符。

第二个split()中指定了分隔2次,从第3个逗号开始不再是分隔符。

s = 'I like swimming.\nDo you like swimming?'
list1 = s.split()
print(list1)
# ['I', 'like', 'swimming.', 'Do', 'you', 'like', 'swimming?']

这个例子中split()中没有写任何参数,空格和换行都是分隔符。

2、列表结合成字符串

字符串的join()方法,可以使用指定的分隔符,将列表结合成一个字符串。使用方法如下:

sep.join(list)

我们看一下具体的使用方法:

list1 = ['苹果', '西瓜', '梨子', '橘子', '芒果']
s1 = ' '.join(list1)
print(s1)
# 苹果 西瓜 梨子 橘子 芒果
s2 = ';'.join(list1)
print(s2)
# 苹果;西瓜;梨子;橘子;芒果

3、列表的复制

3.1 可变数据类型和不可变数据类型

我们先来做一个实验:

a = [1, 2, 3, 4]
b = a
a.append(5)
print(a)
print(b)

看上面的代码以后,我们思考一下,得到的结果与实际的结果是不是一致。

实践证明,我们修改列表a的值以后,列表b的值也跟着变了,这就要引入一个新的知识叫做可变数据类型。列表是一种可变数据类型,列表的变量名称是指向对象的一个标签。 变量名称指向了一个内存地址,再赋值一个变量,只不过是使用了另外一个变量指向了同一个位置,而不是在内存的另一个位置重新建立一个列表

可变数据类型:变量在内存中创建后,内存中的数据可以被修改。(list)

不可变数据类型:变量在内存中创建后,内存中的数据不可以被修改。如果被修改,会在其他区域重新建立。 (int, float, bool)

3.2 列表复制到方法
通过刚才的例子,我们看出列表是无法通过一个新的变量赋值的方式来复制的。那我们怎样从内存中开辟一个新的空间,复制一个新的列表出来呢?我们需要用到切片:

new = old[:]

通过这个方法我们修改一下原来的代码,再看看效果:

a = [1, 2, 3, 4]
b = a[:]
a.append(5)
print(a)
print(b)

 五、元组(Tuple)

Python元组和Python列表数据类似,都是线性表。唯一不同的是:Python元组赋值后所存储的数据不能被程序修改,可以将元组看作是只能读取数据不能修改数据的列表。

Python元组是不可变数据类型,Python列表是可变数据类型。

元组类型除了无法修改,别的跟列表没什么区别,那我们为什么需要元组类型呢?元组类型一般用来存放元素个数和位置确定的一堆数据,比如学生有学号、性别、出生年月,保存后几乎不可能修改。我们可以定义元组保存。在Python中,元组处理的速度要比列表快。

六、字典类型和集合类型

字典(dictionary,函数名称dict)是另一种可变容器模型,且可存储任意类型对象。如字符串、数字、元组等其他容器模型。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中:

d = {key1: value1, key2: value2 }

字典,从字面我们就想到了字典。我们回忆一下我们查字典,不管采用哪种查字典的方法,最后对应的 我们想要找的那个字。还有就是超市里的价签,都是有对应性的。字典和他们一样都有对应性。

集合(set)是由不重复元素组成的无序容器。基本用法包括成员检测、消除重复元素。集合对象支持合集、交集、差集、对称差分等数学运算。

集合的创建使用花括号或者set函数。(空集合只能用set函数创建

集合类型主要用于计算交集、并集、差集、对称差集(由于集合的知识需要高中数学中才会学习,这里不讲集合的运算符)。但是利用集合元素不能重复的特性,我们可以对列表进行去除重复值的操作,这也是去除列表中重复值最方便的方法。

青少年Python编程相关推荐

  1. 青少年python编程课哪家好,青少年Python编程课反馈与分享

    青少年Python编程课自2018年推出以来,经过了一年多的课堂实践,我现针对家长对于课程更多细节的反应和最近一段时间上课的心得,写了这篇文章和大家分享. 首先,青少年Python编程课的材料从何而来 ...

  2. 青少年python编程入门书-青少年Python编程入门——图解Python

    商品详情 书名:青少年Python编程入门--图解Python 定价:69.8 ISBN:9787121395543 作者:傅骞 版次:第1版 出版时间:2020-09 内容提要: 本书介绍pytho ...

  3. 青少年python编程入门书籍_新书推荐 | 《青少年Python编程入门——图解Python》

    原标题:新书推荐 | <青少年Python编程入门--图解Python> 随着信息时代的到来,在编程教育中进行计算思维培养正在成为信息技术教育关注的重点.<普通高中信息技术课程标准( ...

  4. python青少儿编程教程-青少年PYTHON编程入门

    * 快速入门 图文并茂,理论与实践相结合,引导读者快速入门 * 轻松上手 有趣的文字描述,细致的流程讲解,帮助读者学习程序轻松上手 * 熟练应用 精炼的章节回顾,经典的自我评价,帮助读者提高学习成效 ...

  5. 青少年python编程课_青少年之Python编程课程安排第一季

    第一章    开启Python之旅 1.你将了解什么是Python 2.在电脑上安装并简单使用Python 3.开始通过Python与计算机进行交流(编程) 第二章    变量 1.什么是变量 2.变 ...

  6. python编程输入标准-青少年Python编程能力标准等级模拟考试

    41.豆豆的爸爸和妈妈要带豆豆出国,要去英国旅游,但是需要兑换一些英国的钞票,豆豆妈妈是一个比较认真的人,一定要算的很仔细,豆豆决定替妈妈用pyth豆豆的爸爸和妈妈要带豆豆出国,要去英国旅游,但是需要 ...

  7. 青少年python编程竞赛加分_《笨方法学Python》加分题17

    题目 通过前学习的文件操作把一个文件中的内容拷贝到另一个文件中,并使用 os.path.exists 在拷贝前判断被拷贝的文件是否已经存在,之后由用户判断是否继续完成拷贝. 新知识 os.path.e ...

  8. 青少年python编程比赛试题答案_中国大学moocPython编程基础试题及答案

    参考答案如下 新时期的思想解放,中国是从( )开始的 定时\\\\/计数器若工作在循环定时或循环计数场合,大学为了能够自动完成计数初值的加载,应选用( ). 公安机关依法对违反行政法律规范的人,编程 ...

  9. 初学python100例-案例22 输出三角形图案 青少年python编程 少儿编程案例讲解

    目录 python输出三角形图案 一.题目要求 二.输入输出 三.解题思路

  10. 初学python100例-案例9 python间隔1秒输出结果 青少年python编程 少儿编程案例讲解

    目录 python间隔1秒输出 一.题目要求 二.程序分析 1.python日期和时间

最新文章

  1. 低压差降压稳压电路设计
  2. 利用OpenCV的Grabcut()函数实现图像的前景与背景的分割-并对Grabcut()作详细介绍
  3. hdu4845 状态压缩BFS
  4. 如何开始学习以太坊及区块链
  5. 2.1.2 进程的状态与转换
  6. spring boot注释_使用Spring Boot和注释支持配置Spring JMS应用程序
  7. [转]asp.net导出数据到Excel的三种方法
  8. 微服务“新秀”之Service Mesh
  9. cdev结构 and MKDEV
  10. Java、JS、C++ 依然强势,Go、Kotlin 等新语言为何不能破局?
  11. LeetCode--Restore IP Addresses
  12. vs2010专业版下载链接
  13. 网页登录《记住我》功能实现原理
  14. Android通过来电号码识别姓名。
  15. 【AI框架】MMDetection3D 使用指南
  16. uni-appの发展和应用
  17. 设计实现抽象数据类型“有理数”
  18. 【人工智能项目】深度学习实现白葡萄酒品质预测
  19. 计算机无法安装蓝牙设备,笔记本蓝牙无法添加设备解决方法
  20. 西北乱跑娃 --- python图像基本操作

热门文章

  1. python爬虫爬取巨潮资讯网的pdf文件
  2. 【PHP】\r \r\n \t是什么
  3. 快速在服务器上搭建Halo个人博客
  4. win10 应用商店无法联网(0x80072EFD)
  5. 互联网知识更新快,该如何学习
  6. 软件测试用例覆盖率怎么算,如何计算增量测试覆盖率
  7. 基础篇:6.1)公差标注的进化
  8. 时间序列分析|LSTM多变量时间序列预测
  9. 1到10加法创新图片-走迷宫_“小火锅+关东煮”,呷哺呷哺又创新模式!客单提到110元!...
  10. 周伯通招聘发现频道之追梦网