Python编程学习第十一课之Python的字符串操作

       Python中使用最多的数据类型是字符串,我们表达字符串的方式通常使用引号包裹具体的值,使用单引号或者双引号皆可。字符串操作不能涉及算术运算符中的减、乘、除以及取模、幂和地板除的操作,即便是字符串中的值定义为数字也不可以,如果使用字符串进行算术运算操作,Python会提示一种新的错误类型:TypeError(类型错误)。

Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。

       字符串可以使用和算术运算符中加号一致的符号,但是二者含义完全不同。操作符“+”使用在字符串中表示为拼接(concatenation),可以将操作符左右两侧的字符串拼接并打印出来。

       HelloWorld打印出来之后容易引起阅读误会,如果两个字符串之间有个空格会更好。实现方式是定义一个变量space,赋予值为空格,然后在两个字符串之间添加“space”,这个字符串代指的含义是空格,再次输出,结果就是Hello World。

Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。

       Python中编写代码以英文居多,但是并不代表Python不支持中文。中文的字符串在Python中是可以正常输出的。但这个过程需要处理编码问题。

       因为最初的计算机是美国人发明的,所以早期的编码处理只针对英文中常用的127个字母、数字和符号。美国人将这些编码整合到一张表中,被称为ASCII(中文称为:“阿斯柯”)编码表。但是这个编码表在处理中文的时候是完全不能满足要求的,所以后来我们制定了GB2312编码表,用来支持中文编码。

       但是随着这个趋势的发展,日本人制定了Shift_JIS用来存储日文,韩国人制定了Euc-kr用来存储韩文,各国用各国的标准,这就导致多语言的文本中出现乱码显示的问题。

Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。

       为了统一编码标准,Unicode应运而生,它可以将所有的语言文字放到一套编码里面。一般情况下,Unicode用两个字节标识一个字符,如果碰到中文中较为偏僻的字,会用到四个字节。而这一编码标准支持了绝大多数的操作系统和编程语言。

       假设定义一个变量a = 60,使用ASCII和Unicode表示的区别在于:

        ASCII是一个字节存储,表示为:60转换成二进制(00111100)手动转换成二进制为111100,但是因为是一个字节,前面需要加2位0补齐八位。

        Unicode是两个字节存储,表示为:60转换成Unicode(00000000 00111100)原理仍然是转换成二进制,但是因为是两个字节,不足的位数需要用0补齐。

       但这样同时造就了一个新的问题,使用Unicode虽然可以统一编码标准,但是占用的计算机内存空间却变多了,以前只需要一个字节就能存储的数字60,现在至少需要两个字节,这比ASCII编码多了一倍的存储空间。

       为了提升计算机的运行效率,又将Unicode编码转换成了“可变长编码”,我们称之为“UTF-8”编码。UTF-8可以根据实际的编码值进行长度的变化,英文字母占用一个字节,而汉字使用三个字节,碰到偏僻字才会使用4个字节,这一操作大大节约了计算机的内存空间。同时UTF-8还可以使用原有ASCII编码支持体系中的所有文件,可谓是一举两得。

       理解这些之后,来看一下计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode字符,当需要移动到硬盘或者可存储设备的时候,可以转换为UTF-8编码。

       如果在电脑中使用文本文档编辑,文件中读取的UTF-8被转换为Unicode字符到计算机内存中;编辑完成保存时再把Unicode转换为UTF-8格式保存到文件。

       浏览网页的时候,服务器会把动态生成的Unicode内容转换成UTF-8再传输到浏览器,学习过html语言的同学会看到<meta charset=“UTF-8”/>,表示该网页使用的是UTF-8编码。

Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(1104627612),一起督促,一起学习。

CodeCombat 是一个通过玩游戏来学习编程的网站,也是GitHub上最大的开源CoffeeScript(一种脚本语言,类似JavaScript)项目,构筑在几十个开源项目之上的,有上千程序员和玩家为其编写程序、测试游戏。到目前为止,已经翻译成17种国外语言。       它是一款多人编码游戏,该款游戏的任务就是教会大家如何编程,并且通过游戏来提升开发者的技能水平。因为开源,我们可以为孩子们定制我们希望的样式。人们不需要任何编程知识即可了解程序的运行逻辑,并编出实用的代码。      游戏总共超过9千关,每个步骤都会有语音操作提示(非中文),无论你是新手还是编程精英都可以加入到这款游戏中。最重要的是,你是写代码执行游戏。你要扮演得是一名非常有力量的魔法师,要通过你写代码魔法,让你的人去消灭怪兽(其实是怪物)。看起来像是塔防游戏——《王城保卫战》,但却是一款即时战略游戏。每关都会有对话讲解如何操作(遗憾没有中文)左侧是游戏界面,右侧是代码界面,通过在右侧输入关键语句代码,控制左侧角色的移动和攻击等动作。前几关非常简单,几行“上下左右”和“攻击”的代码即可完成通关。每关结束后都有个回顾,告诉你在上一关学到了什么。当输入错误,比如大小写错误,在代码下方会提示具体的出错信息,玩家可以据此Debug。第二关中,你要先去右边吃蘑菇变强,再去击杀怪物。(点击图片查看具体代码,其实向右移动一步即可迟到蘑菇,代码中是两步)第三关,在击杀第一个怪物后,角色的血也不多了,所以要先去下方喝药瓶。下去喝药瓶,输入代码按回车,角色就会照做。第四关前N关都是编程中最基本的顺序语句,随着关数的提升,像“if…else,then”等判断、循环语句也会逐渐加入,可玩性越来越高。玩家在不知不觉也就具备了编程思维。 标签:编程游戏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值