程序是用来处理数据的,而变量是用来存储数据的
变量名是一种标识符,命名规则:
-
由字母、数字、下划线组成
-
不能以数字开头
-
不能与关键字重合
查看Python已有的关键字:
import keyword
print(keyword.kwlist)
变量赋值不需要类型声明
每个变量在内存中创建,包括变量的标识、名称和数值
每个变量在使用前都必须被赋值,变量赋值以后该变量才会被创建
内置函数id():查看对象在内存中的地址
运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 10+20=30 |
- | 减 | 10-20=-10 |
* | 乘 | 10*20=200 |
/ | 除 | 10/20=0.5 |
// | 取整除 | 返回除法的整数部分(商) 9//2输出结果4 |
% | 取余数 | 返回除法的余数9%2=1 |
** | 幂 | 又称次方、乘方,2**3=8 |
内置的type()函数可以查询类型
基本数据类型:int,float,bool,complex
对于浮点数,要当心运算后结果的小数位数可能是不确定的
字符串用单引号’或双引号"括起来
转义字符
\t 制表符
\n 换行符
\" 双引号
\’ 单引号
\\ 反斜杠
要避免字符串中转义字符被转义,可以使用原始字符串:原始字符串以r开头,原始字符串不会把\当作特殊字符来处理
编码和字节串bytes
定义一个空的字节串
b1=bytes()
b2=b"
定义字节串
b3=b’l love python’
b4=bytes(“我喜欢python”,encoding=“utf-8”)
b5=“人生苦短,我用python”.encoding(‘utf-8’)
对bytes解码成字符串
s1=b4.decode(“utf-8”)
s2=b5.decode(encoding=“utf-8”)
GBK转换成UTF-8格式流程:
通过decode转换成Unicode编码,再通过encode转换成UTF-8编码
使用方法修改字符串的大小写
首字母大写—title()
字母全部大写—upper()
字母全部小写—lower()
python使用+来合并字符串
在字符串中使用制表符或换行符来添加空白
删除空白
删除字符串末尾的空白 rstrip()
删除字符串开头的空白 lstrip()
删除字符串两端的空白 strip()
使用str()避免类型错误
字符串中的3引号’’’ ‘’’:一般用于放置文档说明或者多行字符串
dir():列出制定类或模块包含的全部内容
help():查看某个函数或方法的帮助文档
变量的输入:
字符串变量=input(“显示的提示信息:”)
字符串的格式化
方法有占位符(%)和format方式
占位符
格式 | 描述 |
---|---|
%% | 百分号标记 |
%c | 字符及其ASCII码 |
%s | 字符串 |
%d | 有符号整数(十进制) |
%u | 无符号整数(十进制) |
%o | 无符号整数(八进制) |
%x | 无符号整数(十六进制) |
%X | 无符号整数(十六进制大写字符) |
%e | 浮点数字(科学计数法) |
%E | 浮点数字(科学计数法,用E代替e) |
%f | 浮点数字(用小数点表示) |
%g | 浮点数字(根据值得大小采用%e或$f) |
%G | 浮点数字(类似于%g) |
%p | 指针(用十六进制打印值的内存地址) |
%n | 存储输出字符的数量放进参数列表的下一个变量中 |
Format方法
print("{}:{}".format('192.168.0.100','6666'))
--192.168.0.100:6666
print("{server}{1}:{0}".format('6666','198.120.0.100',server='Web Server Info:'))
--Web Server Info:198.120.0.100:6666
print("{0}*{1}={2:0>2}".format(3,2,2*3))
--3*2=06
print("{:*^30}".format('centered'))
--***********centered***********
print("{:.3f}".format(2.1415))
--2.142
拼接字符串
字符串只能和字符串通过“+”拼接,其他数据类型必须通过str转换成字符串后才可以和字符串用“+”拼接
计算字符串的长度
Python中,数字、英文、小数点、下划线和空格等各占一个字节,一个汉字可能会占2-4个字节(取决于采用的编码),使用len()计算字符串的字符长度,如果要获取字符串的字节数,可以通过encode()编码后,再使用len()函数获得。
截取字符串
string[start:end:step]
string–表示要截取的字符串
start–表示要截取的第一个字符串的索引(包括了该字符),如果不指定,默认为0
end–表示要截取的最后一个字符的索引(不包括该字符),如果不指定,默认为字符串的长度
step–表示切片的步长,如果省略,默认为1,如果省略步长时,最后一个冒号也可以省略
分割字符串
string.split(sep,maxsplit)
string–需要分割的字符串
sep–用于指定的分割符,可以包含多个字符,默认为None,即所有空字符(包括空格"\s"、换行"\n"、制表符"\t"等)
maxsplit–用于指定哪个分割的次数,如果不指定,默认为None,或者为-1,则分割次数没限制(即可能的分割最多次)
检索字符串
count()方法用于检索指定字符串在另一个字符中出现的次数。
string.count(substring)
find()方法用于检索字符串中指定子字符串出现的位置,如果不包含子字符串,则返回-1,否则返回首次出现该子字符串的索引。
string.find(substring)
判断子字符串是否在字符串中存在:
print("A"in string)
index()方法与find()方法类似,也是用于检索字符串中指定子字符串出现的位置,但是如果不包含子字符串,会抛出异常。
startwith()方法判断子字符串是否以指定的子字符串开头,endwith()方法判断字符串是否以指定的字符串结尾。