Python Day_2
入门任何一门编程语言,前面总是离不开变量,字符串这些概念,而且这些东西在往后的日子里,有着至关重要的存在。因为不管我们写什么程序,都要用到变量以及字符串。
变量
首先,我们的变量在定义的时候,是不需要给他定义类型的,也可以说,在赋值的时候,由“=”右边的赋值类型决定。
然后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的更多相关文章
- day_2安装Python解释器和pycharm
首先我们复习一下昨天的内容 ···重点 1:进制转换:二进制 与 十六进制 1111 0101 1010 转换为 f5a 2:内存分布:堆区 和 栈区 计算机的原理: 控制器 运算器 存储器 inp ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- Python 小而美的函数
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况 any any(iterable) ...
- JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...
- 可爱的豆子——使用Beans思想让Python代码更易维护
title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
- Python编码记录
字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...
- Apache执行Python脚本
由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...
随机推荐
- sqlite 初
1.SQLite是什么 基于文件的轻型数据库 无服务器 零配置 支持事务 开源 2.SQLite 怎么用 2.1 安装 SQLite官网上下载对应的DLL 与工具 配置环境变量 安装完成以后 ...
- Centos上通过shell脚本实现数据库备份和还原
最近有个这样的需求,通过shell脚本实现数据库备份还原,最后通过网上查询自己测试实现,将脚本分享给大家 1.数据库备份脚本 #!/bin/bash ds=`` list=`date +%Y`/`da ...
- Grokking PyTorch
原文地址:https://github.com/Kaixhin/grokking-pytorch PyTorch is a flexible deep learning framework that ...
- 笔记:认识.NET平台
认识.NET平台先了解一堆技术术语和缩写 http://www.cnblogs.com/dbycl/p/6419456.html 天生不跨平台的.NET Framework 2.大家都来开发新语言 3 ...
- virtualbox 安装 extension pack 方法以及出现 "The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Failed to rename the temporary directory to the final one"的解决办法
virtualbox 的版本:5.1.26 下载地址:https://www.virtualbox.org/wiki/Downloads extension pack 的版本:5.1.26 ...
- Setting up multi nodes live migration in Openstack Juno with devstack
Setting up multi nodes live migration in Openstack Juno with devstack Summary Live migration overvie ...
- 35+个实用jQuery菜单插件
应用jQuery菜单插件可以让浏览者在浏览你的网页时获得最好的动态导航.jQuery是一个轻量级.跨浏览器的JavaScript框架(库),效果非常给力,它强调并简化了JavaScript.CSS和H ...
- reset.css(样式重置)
CSS Reset,意为重置默认样式.HTML中绝大部分标签元素在网页显示中都有一个默认属性值,通常为了避免重复定义元素样式,需要进行重置默认样式(CSS Reset).举几个例子:1.淘宝(CSS ...
- Spark之json数据处理
-- 默认情况下,SparkContext对象在spark-shell启动时用namesc初始化.使用以下命令创建SQLContext. val sqlcontext = new org.apache ...
- 【webAssembly系列】webAssembly初探究竟
一.前言 自从JavaScript诞生开始,到现在开始变成流行的编程语言,背后的是web发展所推动的.web应用的变得更多更复杂,但是渐渐暴露出JavaScript的问题: (1)语法太灵活导致开发大 ...