默认情况下,Python源文件被视为以UTF-8编码
可以指定为源文件指定不同编码
在#!行后增加一个特殊注释行定义文件的编码
# -*- coding: encoding -*-
# -*- coding: cp-1252 -*-
特殊编码注释必须在文件中的第一行或第二行中
python变量仅仅是一个名字,赋值操作并不会实际复制值,只是为数据对象取一个相关的名字
名字是对对象的引用而不是对象本身
type(var_name)可以查看对象类型
浮点型除法:/,整数除法 //,求余 %
/ 总是会返回一个float类型数
divmod()可以同时得到商和余数
>>> divmod(9,4)
(2, 1)
基数
0b,0B代表二进制
0o,oO表示八进制
0x,0X表示十六进制
类型转换
int()可以接受浮点数或有数字组成的字符串,但无法接受包含小数点或指数的字符串
python3中int型可以存储任意大小的整数甚至超过64位
在处理超大数方面不会产生任何错误
float()可以接受包含有效浮点数的字符串转化为真正的浮点型整数
python字符串是不可变的,无法对原字符串进行修改,但可以把一部分复制到新字符串中
三引号可以用于创建多行字符串''' ... ''',""" ... """
三重引号会导致行结尾会自动包含在子符串中,可以通过在一行的末尾增加'\'防止换行
>>> a = '''多行字符串 ... 多行字符串''' >>> a '多行字符串\n多行字符串' >>> print(a) 多行字符串 多行字符串
如果不想让'\'被解释为特殊字符开头的字符,可以通过添加r使用原始字符串
>>> a = r'sdf\n'
>>> a
'sdf\\n'
>>> print(a)
sdf\n
字符串拼接
'+'可以拼接多个变量或拼接一个变量和字面量
也可以直接将一个字面字符串放到另一个字面字符串的后面直接实现拼接,但这不适用于变量
当字符串拼接时,字符串并不会自动添加空格,需要显示定义
调用print()打印时,会在各个参数之间添加空格并在结尾添加换行符
'*' 可以进行字符串复制
>>> 'df'*3
'dfdfdf'
使用*后字面字符串会
>>> ('un' * 3) 'ium'
...
SyntaxError: invalid syntax
使用内置字符串函数split()分割字符串
>>>todos = 'get, glovers g,mk'
>>>todos.split(',')
['get','glovers g','mk']
如果不指定分隔符,split()默认使用空白字符——空格,换行符,制表符
使用join()合并字符串
需要先指定粘合的字符串,然后从传入需要合并的列表参数
>>> ','.join(['ab', 'dfd','dg g'])
ab,dtd,dg g
部分字符串常用函数
len(str) 计算字符串包含的字符数
str1.endswith(str2) 判断str1字符串是否以str2结尾
str1.rfind(str2) 返回str1中最后出现str2的偏移量
str1.count(str2) 返回str1中str2的出现次
str1.strip([chars]) 返回字符串的一个副本,删除前导和尾随字符
str.capitalize() 字符串首字母大写
str.title() 所有单词的开头字母变成大写
str.upper() 所有字母都变成大写
str.lower() 所有字母都变成小写
str.swapcase() 所有字母的大小写转换
str.ljust(int) 左对齐
str.rjust(int) 右对齐
str.replace(old, new[, count])
返回字符串的一个拷贝,其中所有的子串old通过new替换
如果指定了可选参数count,则只有前面的count个出现被替换
小心替换单字符单词可能后将所有单词中中字符替换掉,应该在单字符单子后加一个空格old='a '