入门任何一门编程语言,前面总是离不开变量,字符串这些概念,而且这些东西在往后的日子里,有着至关重要的存在。因为不管我们写什么程序,都要用到变量以及字符串。

变量

  首先,我们的变量在定义的时候,是不需要给他定义类型的,也可以说,在赋值的时候,由“=”右边的赋值类型决定。

  然后Python与大多数其他计算机语言的做法有所不同,并不是把值存储在变量之中的,而是更像把名字“贴”在值的上边。所以,有些Python程序员会说Python没有变量,只有名字,变量就像是一个名字,通过这个名字,可以找到我们想得到的东西。

  请看例子:

>>> name = "CionDa"
>>> print (name)
CionDa
>>> name = "Cion"
>>> print (name)
Cion

  而变量为什么不叫恒量却叫变量呢??正是因为它是可变的!请看例子:

>>> first = 3
>>> second = 7
>>> second = 4
>>> third = first + second
>>> print (third)
7

  上面的例子,先创建一个变量(first),赋值3;接着创建另一个变量(second),先给它赋值为7,然后又赋值为4;最后创建一个变量(third),把first跟second的和赋值给third。而我们同样的例子可以运用到字符串拼接中:

>>> name_first = Cion
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
name_first = Cion
NameError: name 'Cion' is not defined
#在给变量赋值字符串的时候,我们要注意加双引号 >>> name_first = "Cion"
>>> name_second = "Da"
>>> myname = name_first + name_second
>>> print(myname)
CionDa

  

字符串

  我们的字符串即是引号内的东西,同时我们也把文本叫做字符串,而文本跟数字是不同的东西,请看例子:

>>> 3+7
10
>>> '3'+'7'
'37'
>>> "3"+"7"
'37'

  从上面例子我们可以看到,在字符(串)的两边必须加上引号,而单引号与双引号对字符(串)的使用是没有拘束的。但是必须成对存在,请看例子:

>>> 'Ci'+"on"
'Cion'
>>> 'Cion"+'Da'
SyntaxError: invalid syntax

   

  但是有时候当我们的字符串中,出现 单引号(') 的时候怎么办,解决这个问题有两个办法:

①使用转义符号(\)来对字符串中的引号进行转义(最常用的一种)

②既然我们的python是高级语言,那么高级语言就要有高级语言的亚子,所以我们在字符串中出现单引号(')时,我们可以利用双引号来赋值^_^

请看例子:

>>> 'I'am CionDa'
SyntaxError: invalid syntax
#报错
>>> 'I\'am CionDa'
"I'am CionDa"
#第一种解决办法
>>> "I'am CionDa"
"I'am CionDa"
#第二种解决办法

  

原始字符串

  这样看起来反斜杠(\)是个好东西,但是真的是这样么:

#①
>>> string = 'C:\Python'
>>> string
'C:\\Python'
>>> print (string)
C:\Python
#②
>>> str = 'D:\new'
>>> str
'D:\new'
>>> print (str)
D:
ew

  看①输出是没什么问题的,但是二却出乎我们的意料,变成了换行,我们想想在初学C语言的时候,我们的\n是什么意思(没错就是换行),当我们在python里面输入\n时,python也一样(因为python是C语言写出来的,有其父必有其子嘛)。所以我们这里也可以用到转义字符,但是如果出现下面②的情况怎么办,请看例子:

#①
>>> str = 'D:\\new'
>>> str
'D:\\new'
>>> print (str)
D:\new
#②
>>> string = 'D:\\new\aaa\bbb'
>>> string
'D:\\new\x07aa\x08bb'
>>> print (string)
D:\newaabb
#③
>>> #或者你们又会想,每个前面加‘\’即可了,没错,但是要是路径深呢
>>> string = 'D:\\new\\aaa\\bbb\ccc\\ddd\\eee'
>>> string
'D:\\new\\aaa\\bbb\\ccc\\ddd\\eee'
>>> print (string)
D:\new\aaa\bbb\ccc\ddd\eee
#④
>>> #而我们python这里有一种办法可以解决,就在引号前加‘r’
>>> string = r'D:\new\aaa\bbb\ccc\ddd\eee'
>>> string
'D:\\new\\aaa\\bbb\\ccc\\ddd\\eee'
>>> print (string)
D:\new\aaa\bbb\ccc\ddd\eee

  

  当我学会字符串后,我的诗意大发,便想吟诗一首:

  青青园中葵,朝露待日晞。
  阳春布德泽,万物生光辉。
  常恐秋节至,焜黄华叶衰。
  百川东到海,何时复西归?
  少壮不努力,老大徒伤悲。

诗意一来,便想写进python里跑一跑

>>> print ("青青园中葵,朝露待日晞。\n阳春布德泽,万物生光辉。\n常恐秋节至,焜黄华叶衰。\n百川东到海,何时复西归?\n少壮不努力,老大徒伤悲。")
青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归?
少壮不努力,老大徒伤悲。
>>> #那么累,下次我再也不吟诗了,再也不在程序里跑古人的诗词了
>>> print ("""
青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归?
少壮不努力,老大徒伤悲。
""") 青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归?
少壮不努力,老大徒伤悲。 >>> #但是我们的python就是强大,不允许我放弃学习

  

Python Day_2的更多相关文章

  1. day_2安装Python解释器和pycharm

    首先我们复习一下昨天的内容 ···重点 1:进制转换:二进制 与 十六进制 1111  0101 1010 转换为 f5a 2:内存分布:堆区 和 栈区 计算机的原理: 控制器 运算器 存储器 inp ...

  2. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  3. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  4. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  5. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  6. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  7. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  8. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  9. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

随机推荐

  1. 读BeautifulSoup官方文档之与bs有关的对象和属性(2)

    上一节说到tag, 这里接着讲, tag有个属性叫做string, tag.string其实就是我们要掌握的四个对象中的第二个 ---- NavigableString,  它代表的是该tag内的te ...

  2. WPF DataGrid 的RowDetailsTemplate的使用

    <Window x:Class="DataGridExam.DataGridRowDetailsExam"        xmlns="http://schemas ...

  3. python3. 报“ImportError: No module named ‘MySQLdb'”

    需要安装PyMysql pip install PyMysql 然后在程序中引入 import pymysql pymysql.install_as_MySQLdb() app.config['SQL ...

  4. Win8 Metro(C#)数字图像处理--2.45图像雾化效果算法

    原文:Win8 Metro(C#)数字图像处理--2.45图像雾化效果算法 [函数名称]   图像雾化         AtomizationProcess(WriteableBitmap src,i ...

  5. Android手机导出文件

    因为要写联系人相关的东西,所以得把db导出来看看 第一步:Root手机 尝试了几个Root工具,发现就KingRoot能root 第二个:编写bat脚本 脚本内容是先将DB文件从/data/data ...

  6. 通过NLayer和NAudio转换MP3成WAV

    NuGet安装: Install-Package NLayer.NAudioSupport 示例代码: using Microsoft.Win32; using NAudio.Wave; using ...

  7. Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

    原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据 ...

  8. 使用Boost的DLL库管理动态链接库(类似于Qt中的QLibrary)

    Boost 1.61新增了一个DLL库,跟Qt中的QLibrary类似,提供了跨平台的动态库链接库加载.调用等功能.http://www.boost.org/users/history/version ...

  9. AspNetCore 小记

    1. Microsoft.AspNetCore.Hosting.IHostingEnvironment 的接口获取的值: WebRootPath:D:\参考资料\C#\AspNetCore开源项目\n ...

  10. Office Add-in Model 为 Outlook Mail Add-in 提供的 JavaScript API 介绍

    本文所讨论的 Mailbox API是指在 Mail Add-in 中可调用的 JavaScript API.开发者可以利用这些API 实现 Add-in 和 Outlook 的交互(数据读取与写入) ...