变量&常量

变量和常量都是存储值的内存区域,“变量”就是说值可以改变,“常量”就是说这个值不能改,是只读的,关于常量不详细介绍了

命名

上一次说过命名规则,数字、字母和下划线组成,不能数字开头,不能使用关键字

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(二):变量、常量,字符串操作相关推荐

  1. python语言有哪些类型的运算符_python(4)-变量 数据类型和运算符

    第二章:变量.数据类型.运算符 思考:怎么理解变量和内存? 变量:就等同于上面图中的age name hobby 内存:存储位置里所装的内容 18 张三 打球 变量一定是存在某个地址,可以从变量名找到 ...

  2. python中变量的作用域有几种_Python中变量的作用域(variable scope)

    http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...

  3. python用来查看变量类型的函数是什么_python查看变量类型的函数

    怎么查看变量的类型 python方法如下: type(变量),输出的结果就是变量的类型: 在Python里面变量在声明时,不需要指定变量的类型,变量的类型是动态指定的: 也就是说变量的类型,根据给出的 ...

  4. python空行拼接字符串_python基础---文本和字符串操作

    一.文本操作 打开读取文本 (查) lock_file = open('username_lock.txt', 'r+') #r+ 读写 lock_list =lock_file.readlines( ...

  5. 第4章 Python 数字图像处理(DIP) - 频率域滤波5 - 二变量函数的傅里叶变换、图像中的混叠、二维离散傅里叶变换及其反变换

    目录 二变量函数的傅里叶变换 二维冲激及其取样性质 二维连续傅里叶变换对 二维取样和二维取样定理 图像中的混叠 二维离散傅里叶变换及其反变换 二变量函数的傅里叶变换 二维冲激及其取样性质 两个连续变量 ...

  6. bootstraptable中responsehandle获取数据缺失_Python中的向量化字符串操作

    Python的一个使用优势是它在处理和操作字符串数据方面相对容易. 在此基础上Pandas提供了一套全面的向量化字符串操作(vectorized string operation),这些操作成为处理现 ...

  7. python每隔30s检查一次_Python的全局解释器锁

    Python的全局解释器锁 全局解释器锁(GlobalInterpreter Lock,缩写GIL),是解释器同步线程的一种机制,它使得任何时刻仅有一个线程在执行. 即便在多核心处理器上,使用GIL  ...

  8. python函数编程求三个数的最小公倍数_Python求三个数的最小公倍数

    题目 求三个数的最小公倍数 思路 首先求两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数就是最终结果 有两种方案求两个数的最小公倍数 1. 分解质因数,也是短除法(在程序上差别不大) 循环 ...

  9. python中__name__属性的取值_Python脚本的“__name__”属性

    每个Python脚本在运行时都有一个"__name__"属性.如果脚本作为模块被导入,则其"__name__"属性的值被自动设置为模块名:如果脚本独立运行,则其 ...

最新文章

  1. Android Studio导入第三方类库的方法
  2. Linux shell脚本 遍历带空格的文件名
  3. Redis 压缩列表原理与应用分析
  4. 缓存雪崩、击穿、穿透解决方案
  5. 面试精讲之面试考点及大厂真题 - 分布式专栏 06 详细说下CAP分别代表什么含义吗
  6. linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
  7. 05-基础widgets
  8. drools视频教程(drool实战实例+数据库+视频讲解)
  9. 2500个常用汉字列表
  10. 电脑小米手机,小米手机怎么连接电脑?
  11. mysql字符集与校对规则设置_mysql 字符集和校对规则
  12. 简述计算机硬件,简述计算机硬件的组成部分
  13. 海思hi3516dv300 配置uart3
  14. 全国高校计算机能力挑战赛
  15. JAVA基础语法_1
  16. arm linux 识别新硬盘_嵌入式Linux 的NTFS移动硬盘支持
  17. 为什么淘宝京东的首页这么快
  18. 李开复针对马加爵事件写给中国学生的一封信
  19. Algo_网络流,最大流最小割总结, 残留网络性质,知识点总结Tips
  20. 电信新势力,TIP/CORD能颠覆电信设备商吗?

热门文章

  1. 天猫淘宝的低帮帆布鞋主图视频批量下载技巧
  2. 深入理解linux下write()和read()函数
  3. 今夕复何夕,共此灯烛光
  4. 2023.1.6单词打卡
  5. 构建企业私有云的最佳实践
  6. 3年功能测试拿8K,被刚进来的薪资倒挂,其实你在假装努力
  7. ubuntu注销用户
  8. 全球及中国胶原蛋白行业发展现状及趋势分析,应用领域进一步扩大「图」
  9. “亚洲一号”也能上市?REITs背后的物流设施风起云涌
  10. 汉王推出Wi-Fi版电纸书 36家报纸免费进驻 [20100324]刘骁鑫