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

变量

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

  然后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. ios 双指捏合放大缩小图片的例子

    图片跟随双指捏合的距离放大或者缩小. 利用-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event  实现. touchesMov ...

  2. 【转】关于在.Net开发中使用Sqlite的版本选择问题

    如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不同了. SQLite的.NET开发包来自是System.D ...

  3. Selenium-简介

    一.简介 Selenium是UI自动化的一个框架. Selenium1.0时代就是用js注入技术与浏览器交互. Selenium WebDriver就是调用浏览器原生的API来实现的操作.他是Clie ...

  4. teamcity build web project arguments

    /p:Configuration=%system.Configuration%  => Release /p:DeployOnBuild=%system.DeployOnBuild%  => ...

  5. 在DELPHI中*.wav 文件怎么加到资源文件中

    比较“流行”的说法是:“16位的Delphi   1.0和32位的Delphi2.0.3.0都提供了资源         编译工具,其中   Delphi   1.0的资源编译器叫BRCC.EXE,D ...

  6. BAT-把当前用户以管理员权限运行(用户帐户控制:用于内置管理员帐户的管理员批准模式)

    相关资料: http://jingyan.baidu.com/article/72ee561a5dc24fe16138df95.html 网友求助:联想Y400,Win8系统 怎样获得管理员身份 要求 ...

  7. win10应用开发——如何判断应用是在手机上运行还是电脑上运行

    原文:win10应用开发--如何判断应用是在手机上运行还是电脑上运行 在进行uwp应用开发的时候, 有时我们需要知道自己的应用是在手机端运行还是在桌面端运行,那么通过以下的api就可以进行判断: Wi ...

  8. C++数组指针、指针数组、函数指针的核心概念

    1.什么叫数组指针? 数组指针:一个指向一维或者多维数组的指针. 比如:int * b=new int[10];指向一维数组的指针b ; 注意,这个时候释放空间一定要delete [] ,否则会造成内 ...

  9. MinGW64 how-to(内含编译openssl,libjpeg,libcurl等例子)

    Index of contents Setting up the MinGW 64 environment Step 1) building libiconv Step 2) building lib ...

  10. How Qt Signals and Slots Work(感觉是通过Meta根据名字来调用)

    Qt is well known for its signals and slots mechanism. But how does it work? In this blog post, we wi ...