变量与数据类型
- 2021-10-09 23:16:37
- admin
- 2935
- 最后编辑:admin 于 2024-02-14 14:01:14
注释
python 中,注释使用井号 # 标识。注释是给人看的,可以是任意内容,解释器会忽略掉注释。
代码块缩进
python 中每一行都是一个语句,python 区别于其他语言,代码块并不是使用花括号{},而是用缩进的形式展示。注意,同一块语句的每一行的缩进相同。当语句以冒号 : 结尾时,说明后跟一个代码块。
常见的缩进形式是缩进2位或4位空格(推荐缩进4位)。建议大家在编码的编辑器里将一个 tab 设置为4个空格即可。
变量
变量由字母、数字、下划线构成,且数字不能打头!不能有空格。不能使用python关键字。
变量的赋值与调用都没有$等符号,直接使用名称。
声明变量的同时要赋值,即变量在第一次赋值时生成;
Python 中,所有的数据都被称之为对象(即:赋给变量的值都是对象)。对象有类型,存储在内存区域;变量本身没有类型,变量名指向实际对象。
数据类型
1. 数型
python 支持整数与浮点数类型。
数据运算支持基本的加、减、乘、除、取余:+ - * / %
除法运算 (/) 永远返回浮点数类型。如果要得到一个整数结果(忽略小数部分)你可以使用 // 运算符;如果要计算余数,可以使用 %
** 用来求一个数的幂运算,比如3的2次方即3**2
注:幂运算符比取反(负数)的优先级要高,所以-3 ** 2等同于-(3**2),而不是(-3) ** 2。(幂运算符比乘、除的优先级也要高)
*是乘法运算符,但当用*链接一个字符串和一个整数时,表示字符串复制运算符。如:
‘abc’ * 3
结果:abcabcabc
2. bool型
True False #首字母大写!
python中并不是大于0 的就是True,小于0的就是False!Python 和 C 一样,任何非零整数都为真,零为假。
但是用bool()类型转换时,除了0 、0.0、空对象、空映射、None等特殊情况会转换为False之外,其他情况都转为True。
条件组合:
and or not #与、或、非
3. 字符串
字符串由单/双引号括起来。
如果字符串中有多行内容或同时包含单、双引号,则可以使用单/双三引号('''a'''或"""a""")括起来。
反斜杠 \ 可以用来转义特殊字符。
如果你不希望前置了 \ 的字符转义成特殊字符,可以使用 原始字符串 方式,在引号前添加 r 即可。
len() 函数 可以得到一个数据对象的长度,通常用来获取 字符串、列表、元组、字典等类型对象的元素个数。
在字符串中使用变量:
python中单/双引号都可以解析变量;
引号开始前跟一个f;
引号中的变量必须用花括号{}括起来。如:print(f"hello {name}")
有时为了对齐,可以指定变量的长度 {name:10},如果实际变量值的长度小于指定长度,则在变量值前面补加空格。
引号嵌套:
当字符串中需要用到单引号,则用双引号包围该字符串;
当字符串中需要用到双引号,则用单引号包围该字符串;
字符串连接符 +
+只能连接两个数值做加法运算,或连接两个字符串做连接符。不能用来连接一个数值和一个字符串,这不符合python语法。
字符索引:
字符串是可以被索引(下标访问)的,注意:第一个字符索引是 0。对于长字符串,也可以使用负数下标,最后一个字符为-1。
name = "Gavin Hsueh" # name[0] 的值为 'G' # name[-2] 的值为'e'
字符串切片:
切片,顾名思义是指将一个字符串切成多个片段(字串)。
name = "Gavin Hsueh" # name[0:5] 的值为 'Gavin' ,切片的起始位置是从0(包含)到5(不包含) # name[6:11] 的值为'Hsueh',切片的起始位置是从6(包含)到11(不包含)
所以,字符串切片前面的索引是切片开始的字符的索引,后面的索引是切片结束的字符的索引 + 1。
您也可以这么理解切片:将索引视作指向字符之间 ,第一个字符的左侧标为0,最后一个字符的右侧标为 n ,其中 n 是字符串长度。例如:
+---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1
切片的索引有默认值;省略开始索引时默认为0,省略结束索引时默认为到字符串的结束。
字符串对象相关方法:
赋给变量的值叫对象,对象有操作方法,用于处理对象数据。每种数据对象类型都有一套它自己专属的方法(函数),调用方法为 对象变量.方法。
strip/lstrip/rstrip 方法
清除字符串中的空白符:
清除左侧:lstrip()
清除右侧:rstrip()
清除两侧:strip()
find方法
find 方法会在字符串中查找参数字符串,并返回该参数字符串在其中第一次出现的位置索引。
如果字符串对象里面没有要查找的参数字符串,就会返回 -1。
例如,利用find方法判断字符串中是否包含目标字串:
#!/usr/bin/python3 str = "my name is GavinHsueh" if str.find('GavinHsueh') >= 0: print('hello GavinHsueh') else: print('who are you?')
split方法
split方法可以实现字符串转列表,方法以参数字符串为分割符 ,将字符串切割为多个字符串,作为元素存入一个列表,并返回该列表。
#!/usr/bin/python3 str = "zhangsan|lisi|wangwu|zhaoliu" list = str.split('|') print(list[2]) # 输入结果为 wangwu。
注:还有一个类似的 splitlines 方法,顾名思义该方法按行(换行符)分隔,常用于文件操作,将文件内容存入字符串,然后每行作为一个元素,存入一个列表。
join方法
join 方法和 split方法作用正好相反。split 是将一个字符串通过指定分隔符转化为列表,而 join 是将列表中的元素通过指定连接符连接成一个字符串。
#!/usr/bin/python3 list = ['zhangsan','lisi','wangwu','zhaoliu'] str = '|'.join(list) print(str) # 输入结果为 zhangsan|lisi|wangwu|zhaoliu
replace 方法
进行字符串中的替换操作。该方法有两个参数,即在字符串中,将第一个参数子串全部替换成第二个参数子串。
#!/usr/bin/python3 str = "hello,let us begin with hello world." str2 = str.replace('hello','hi') print(str2) # 输出结果为 hi,let us begin with hi world.
常量
在程序的整个生命周期内保持不变。常量名全用大写。