Python变量与字符串

版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。

一、Python变量

1、Python变量

变量用于存储某个或某些特定的值,它与一个特定标识符相关联,该标识符称为变量名称。变量名指向存储在内存中的值。在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。Python在声明变量时,无需说明变量的类型。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。

2、变量赋值

Python 中的变量赋值不需要类型声明。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 等号(=)用来给变量赋值。 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

print("Hello Robinson Cheng") ###使用print输出字符串
message = "Blog : http://blog.csdn.net/leshami" ###申明字符串变量,并赋值
print(message)

-- 注意,后面的变量重新赋值后替换到先前的赋值
message = "Hello Python world!"
print(message)

message = "Hello Python Crash Course world!"
print(message)

counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
 
print counter
print miles
print name

3、变量声明规范

变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print 。 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。 查看保留字

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

二、字符串

1、字符串表示方法

字符串是包含字符的序列 。 Python中的字符串表示方法: 使用单引号(’):标识字符串,就如同’Quote me on this’这样。所有的空白,即空格和制表符都照原样保留。 使用双引号("):在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What’s your name?"。 使用三引号(’’'或"""):利用三引号,可以指示一个多行的字符串,可以在三引号中自由的使用单引号和双引号

2、普通字符串

普通字符串,字符串中不包含单引号或者双引号的字符串

message1="This is a string."
message2='This is also a string.'

3、特殊字符串

特殊字符串,就是字符串中包含单引号或者双引号的字符串,可以使用如下方法来实现

message3 = 'I told my friend, "Python is my favorite language!"' ###单引号中包括双引号
message4 = "The language 'Python' is named after Monty Python, not the snake." ###双引号中包括单引号
message5 = "One of Python's strengths is its diverse and supportive community."
message6 = '''这是一个多行的字符串,
你可以写入任意字符,
甚至是单引号'和双引号"

print(message1)
print(message2)
print(message3)
print(message4)
print(message5)
print(message6)

4、转义符

对于特殊字符串,也可以借助转义符来实现

str1 = "What's your name?"
str2 = 'What\'s your name'

print(str1)
print(str2)

注:
转义符\\来指示反斜杠本身
在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行

####5、字符串拼接

first_name = "robinson"
last_name = "cheng"
full_name = first_name + " " + last_name
print(full_name)
print(full_name.title())

print("Hello, " + full_name.title() + "!")

first_name = "robinson"
last_name = "cheng"
full_name = first_name + " " + last_name
message = "Hello, " + full_name.title() + "!"
print(message)

6、字符串输出格式

通过Tab制表符(\t)和换行符(\n)输出实现格式设置

print("Python")
print("\tPython")
print("\nPython")

print("Languages:\nPython\nC\nJavaScript")
print("Languages:\n\tPython\n\tC\n\tJavaScript")

跳过Tab制表符或者换行符(也称为自然字符串)
在字符串加上前缀r或R来实现。这里的 r 指 raw,即 raw string
print(r"Languages:\n\tPython\n\tC\n\tJavaScript")

7、字符串截取

字符串截取方法:变量[头下标:尾下标] 索引值以 0 为开始值,-1 为从末尾的开始位置。

str = 'robinson'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + "Cheng") # 连接字符串
###输出结果
robinson
robinso
r
bin
binson
robinsonrobinson
robinsonCheng

####8、字符串相关处理

删除首尾空格
favorite_language = ' python '
favorite_language.strip()
favorite_language.lstrip()
favorite_language.rstrip()

首字母大写
name = "robinson cheng"
print(name.title())

大小写转换

name = "Robinson Cheng"
print(name.upper())
print(name.lower())

9、注释

单行注释,使用 # 字符 多行注释,使用 ‘’’ 三个单引号

# This is a comment.
''' 
This is a paragrah
comment
'''

""" 
This is a new paragrah
comment
"""

三、图示

四、小结

1、Python变量是基于变量名称指向存储在内存中的值,无需声明数据类型 2、字符串是包含字符的序列,可以使用单号号,双引号,以及三引号标注,注意特殊引号用法 3、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 4、字符串可以用+运算符连接在一起,用*运算符重复。 5、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。 6、Python中的字符串不能改变。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

python基础随笔

一: 作用域 对于变量的作用域,只要内存中存在,该变量就可以使用。 二:三元运算 name = 值1 if 条件 else 值2 如果条件为真:result =...

2109
来自专栏向治洪

ECMAScript 6之变量的解构赋值

1,数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能...

2067
来自专栏python成长之路

函数的不定长参数

1392
来自专栏java一日一条

(转)java正则表达式(二)

首先说一下java正则表达式的重点概念: 第一、相关类:Pattern、Matcher 第二、典型的调用顺序是 Pattern p = Pattern.c...

702
来自专栏Golang语言社区

Golang语言社区--Go语言基础第六节函数

大家好,我是Golang语言社区主编彬哥,本篇给大家带来的是关于Go语言中的函数。

3794
来自专栏Python小屋

Python扩展库numpy中的布尔运算

首先解答上一篇文章Win10系统配置Python3.6+OpenGL环境详细步骤中的问题。该问题的答案为[2, 2],要点在于列表对象的方法index()默认是...

3259
来自专栏前端儿

JavaScript 的数据类型 相关知识点

JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type)

802
来自专栏五毛程序员

C++知识点整理——持续更新

2124
来自专栏Python中文社区

Python标准库(1) — itertools模块

專 欄 ❈Jerry,Python中文社区专栏作者。 blog:https://my.oschina.net/jhao104/blog github:ht...

2089
来自专栏lonelydawn的前端猿区

java进阶的16个知识点

1.float 类型在java中占4个字符,long类型在java中占8个字符,为什么float类型比long类型取值范围大? float   32位二进制码...

1997

扫码关注云+社区