python变量隔一个数取出来_Python(二):变量、常量,字符串操作
变量&常量
变量和常量都是存储值的内存区域,“变量”就是说值可以改变,“常量”就是说这个值不能改,是只读的,关于常量不详细介绍了
命名
上一次说过命名规则,数字、字母和下划线组成,不能数字开头,不能使用关键字
Python关键字有这么多:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']
查看Python关键字可以用下面的方法:
importkeyword
#下面打印关键字列表
print(keyword.kwlist)
#下面是判断一个词是不是Python的关键字
print(keyword.iskeyword('pass'))
那能怎么命名变量呢
#下面这些明明方式都是可以的,但是为了看着方便,不建议写成这样毫无意义的名字
a=1
_a=2
_1=3
_1a=4
#下面这些就是错误的,会报错
pass=1
$adb=1
1ab=1
赋值
a=1
这就完成了一个变量的赋值,在python中,每一次赋值操作会创建一个新的变量
比如:
a=1
a=2
是两个不一样的变量,我们可以通过查看他们的id(也就是他们的标识),方便的理解
a=1
print(id(a))
a=2
print(id(a))
运行结果:
4456127488
4456127520
嗯...这里是说变量a两次的id是不一样的,因为重新赋值后变成了一个新的变量
局部变量
在函数或者代码段内的变量
deffun():
name="xiaoming"
print(name)
fun()
print(name)
输出结果会报错,提示NameError: name 'name' is not defined并指向第六行,说明name在fun()外已经不能生效了
全局变量
#定义一个全局变量
_num1=15
_num2=20
importdemo1
defadd():
return(demo1._num1+demo1._num2)
print(add())
上面那一部分是在一个文件中被赋值的变量,另外新建一个文件,import这个保存全局变量的文件,然后使用变量就可以了
数据类型
每种语言都有说的东西,这是构成编程语言的基础。Python的数据类型有数字、字符串、元组、列表和字典。
数字、字符串、元组,是不可变数据类型,列表和字典是可变数据类型
还能按有序无序划分,字符串、元组、列表都是有序的
数字
数字有整形、浮点型、布尔型、复数
比较好的一点是,给变量赋值数字时,不需要关心数据类型,直接赋值后,Python会自动判断变量类型,创建对象
当然,如果需要查看数据类型,可以使用type类来查看,老规矩,贴一段~
a=1
b=1.1
c=True
d=1+2j
print(type(a))
print(type(b))
print(type(c))
print(type(d))
运行结果:
这些不陌生,都是以前见过的东西
字符串(划重点)
字符串的表示方法,上次已经讲明了,单引号、双引号、三引号来表示,这次看下相关操作和注意事项吧
转义 ---- 如果恰好需要输入特殊字符,可以用反斜杠\进行转义
path='C:\\windows\\users\\xxx'
print(path)
path2=r'C:\windows\users\xxx'
print(path2)
运行结果:
C:\windows\users\xxx
C:\windows\users\xxx
两种方式输出是一样的,第一种字符串中原有的\被转义,第二种因为字符串前有r,会保留原有格式输出
关于\转义的内容可以再百度一下,有些转义需要认识
截取
上边说过,字符串是有序的,既然有序,就能按序号截取字符串的内容,访问其中一部分的值
栗子:
str1="python"
print(len(str1))#看看字符串str1有多长
print(str1[1])#看看字符串str1第一个字符是啥
#取最后一个字符
print(str1[len(str1)-1])
print(str1[-1])
OK,现在取了字符串str1中的第一个和最后一个字符进行打印,运行结果是
6
y
n
n
len(str1)打印出了字符串的长度,而字符串的下标是从0开始的
所以取第一个字符(str[1])时,其实取的是我们看到的第二个字符y,这是正确的
两种取最后一个字符的方式都需要了解,并且个人认为-1这种下标简直太方便了
能不能取多个字符呢?
当然是可以的,依然可以用切片的方式,取出字符串中的部分内容
str1="python"
print(len(str1))#看看字符串str1有多长
print(str1[1])#看看字符串str1第一个字符是啥
#下面添加了三个参数,分别对应[start:end:step]中的开始位置、结束位置、步长
#也就是说,从第0个开始到第4个结束,每隔一个字符,取一个值
print(str1[0:4:2])
#来看下倒序取值,从-1开始,到-5,将每个值取出来,从第-1个到第-5个依次输出,当然,依然不包括最后一个
print(str1[-1:-5:-1])
输出
#字符串拼接
print("wang"+"er"+"xiao")
#字符串翻倍
print("pig"*4)
#格式化输出字符串
# %s 字符串
# %c 单个字符
# %b 二进制整数
# %d 十进制整数
# %i 十进制整数
# %f 浮点数
# %F 浮点数
# %.2f 保留两位小数的浮点数
print("今天是星期%s,这是第%d篇文章"%("二",2))
#还可以这么写
day="二"
num=2
str2="今天是星期{day},这是第{num}篇文章"
print(str2.format(day=day,num=num))
str1="python"
print("-".join(str1))#用“-”连接str中的所有字符
print(str4.replace("th","TH",1))#将字符串中的对应位置字符替换为新的字符,最多替换1次
查找
#查询字符(串)是否在字符串中
str1="python"
print("t"instr1)
print("h"instr1)
print("h"notinstr1)
print('t'notinstr1)
print("py"notinstr1)
#find 查找字符(串)是否在字符串中,如果在,返回第一次出现的位置,如果不在,返回-1
print(str1.find("p"))
print(str1.find("x"))
#index 如果在,返回第一次出现的位置,如果不在,抛出异常
print(str1.index("t"))
print(str1.index("x"))
判断
str3="Python3哈哈"
#对字符串进行判断,共11个,分别是
print(str3.isalpha())#是不是全字符
print(str3.isalnum())#是不是全是字符数字
print(str3.isdigit())#是不是全是数字
print(str3.isdecimal())#是否只包含十进制字符
print(str3.isidentifier())#是否以字母开头
print(str3.islower())#字母是否全小写
print(str3.isnumeric())#是否只有数字
print(str3.isprintable())#是否都是可见字符
print(str3.isspace())#是否是空格
print(str3.istitle())#是否所有单词首字母大写
print(str3.isupper())#字母是否都是大写
print(str3.startswith("p"))#是否以某字符开头
print(str3.endswith("哈"))#是否以某一字符结尾
print(str3.__contains__("thon"))#字符串是否在字符串中
#以下内容返回的是次数
print(str3.count("33",5,9))#判断字符(串)在字符串指定范围中出现的次数
print(str3.count("O"))#大写的O没有出现过
print(str3.count("o"))#小写的o出现过一次
操作
str4="python3"
str5="PythOn3"
str6=" this is python3 "
print(str4.capitalize())#首字母大写
print(str5.casefold())#字母小写
print(str4.center(45,"-"))#以某个字符填充字符串到指定长度
print(str4.replace("th","TH",1))#将字符串中的对应位置字符替换为新的字符,最多替换1次
print(str6.split("t"))#将字符串以指定字符切割,存入一个列表
print(str6.partition("x"))#包含分隔符,分隔符的前一部分、分隔符、分隔符后一部分组成三元元组;如果不包含分隔符,转换为源字符串、空、空的三元元组
print(str6.strip())#去除两边空格
print(str6.lstrip())#去除左边空格
print(str6.rstrip())#去除右边空格
print(str5.lower())#所有字母转小写
print(str5.upper())#所有字母转大写
lower和casefold,都是字母转换为小写,但casefold转换范围更大,不限于A-Z
好了,字符串操作到此结束,由于犯懒,只贴代码,环境好的直接运行就能明白啦~
宝爷镇楼~回家撸猫
python变量隔一个数取出来_Python(二):变量、常量,字符串操作相关推荐
- python语言有哪些类型的运算符_python(4)-变量 数据类型和运算符
第二章:变量.数据类型.运算符 思考:怎么理解变量和内存? 变量:就等同于上面图中的age name hobby 内存:存储位置里所装的内容 18 张三 打球 变量一定是存在某个地址,可以从变量名找到 ...
- python中变量的作用域有几种_Python中变量的作用域(variable scope)
http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...
- python用来查看变量类型的函数是什么_python查看变量类型的函数
怎么查看变量的类型 python方法如下: type(变量),输出的结果就是变量的类型: 在Python里面变量在声明时,不需要指定变量的类型,变量的类型是动态指定的: 也就是说变量的类型,根据给出的 ...
- python空行拼接字符串_python基础---文本和字符串操作
一.文本操作 打开读取文本 (查) lock_file = open('username_lock.txt', 'r+') #r+ 读写 lock_list =lock_file.readlines( ...
- 第4章 Python 数字图像处理(DIP) - 频率域滤波5 - 二变量函数的傅里叶变换、图像中的混叠、二维离散傅里叶变换及其反变换
目录 二变量函数的傅里叶变换 二维冲激及其取样性质 二维连续傅里叶变换对 二维取样和二维取样定理 图像中的混叠 二维离散傅里叶变换及其反变换 二变量函数的傅里叶变换 二维冲激及其取样性质 两个连续变量 ...
- bootstraptable中responsehandle获取数据缺失_Python中的向量化字符串操作
Python的一个使用优势是它在处理和操作字符串数据方面相对容易. 在此基础上Pandas提供了一套全面的向量化字符串操作(vectorized string operation),这些操作成为处理现 ...
- python每隔30s检查一次_Python的全局解释器锁
Python的全局解释器锁 全局解释器锁(GlobalInterpreter Lock,缩写GIL),是解释器同步线程的一种机制,它使得任何时刻仅有一个线程在执行. 即便在多核心处理器上,使用GIL ...
- python函数编程求三个数的最小公倍数_Python求三个数的最小公倍数
题目 求三个数的最小公倍数 思路 首先求两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数就是最终结果 有两种方案求两个数的最小公倍数 1. 分解质因数,也是短除法(在程序上差别不大) 循环 ...
- python中__name__属性的取值_Python脚本的“__name__”属性
每个Python脚本在运行时都有一个"__name__"属性.如果脚本作为模块被导入,则其"__name__"属性的值被自动设置为模块名:如果脚本独立运行,则其 ...
最新文章
- Android Studio导入第三方类库的方法
- Linux shell脚本 遍历带空格的文件名
- Redis 压缩列表原理与应用分析
- 缓存雪崩、击穿、穿透解决方案
- 面试精讲之面试考点及大厂真题 - 分布式专栏 06 详细说下CAP分别代表什么含义吗
- linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
- 05-基础widgets
- drools视频教程(drool实战实例+数据库+视频讲解)
- 2500个常用汉字列表
- 电脑小米手机,小米手机怎么连接电脑?
- mysql字符集与校对规则设置_mysql 字符集和校对规则
- 简述计算机硬件,简述计算机硬件的组成部分
- 海思hi3516dv300 配置uart3
- 全国高校计算机能力挑战赛
- JAVA基础语法_1
- arm linux 识别新硬盘_嵌入式Linux 的NTFS移动硬盘支持
- 为什么淘宝京东的首页这么快
- 李开复针对马加爵事件写给中国学生的一封信
- Algo_网络流,最大流最小割总结, 残留网络性质,知识点总结Tips
- 电信新势力,TIP/CORD能颠覆电信设备商吗?