文章目录
- 1、单行注释和多行注释
- 单行注释
- 多行注释
- 2、变量
- print函数输出
- 变量命名规则
- 3、数值类型
- 整型
- 浮点型
- 复数
- 4、字符串
- 拼接:
- repr和字符串
- 输入
- 长字符串
- 原始字符串
- bytes字节串
- 5、深入使用字符串
- 转义字符
- 字符串格式化
- 序列方法
- 其他方法
- 运算符:
- 位运算符
- 比较运算与bool类型
- 逻辑运算符
- 三目运算符
- in运算符
1、单行注释和多行注释
单行注释
# 直到这一行结束
多行注释
三个单引号或三个双引号抱起来
'''
这里面是注释
'''
2、变量
弱类型语言,:
- 变量无需声明即可使用
- 变量的数据类型随时可以变化
变量相当于一个容器,随便装什么类型都可以;
通过type(a
)可以查看变量a的类型
print函数输出
print(value, ..., sep=' ', end='\n', file=sys.stout, flush=false)
print("读者名:", user_name, "年龄:", user_age)
# 输出结果默认用空格隔开,即每一个逗号换成空格,可以更改:
print("读者名:", user_name, "年龄:", user_age, sep='|')
# 于是默认|分隔
# 最后默认换行,要不换行:
print("读者名:", user_name, "年龄:", user_age, sep='|', end="")
#还可以输入到文件中
f = open("poem.txt", "w")
print('sdf', file=f)
print('mmmmm', file=f)
f.close()
# 第二次print不会清空,会在后面叠加
#flush控制输出缓存,一般false
变量命名规则
字母下划线开头
后面是字母,数组,下划线
字母指的是英文,中文,日文等
没有空格、#、¥等
区分大小写
不要使用关键字和内置函数
查看关键字:
import keyword
keword.kwlist
3、数值类型
整型
范围非常大
支持none值(空值)
a=nome
二进制八进制十六进制:0b, 0o, 0x开头;不区分大小写
可以加入下划线,增强可读性。
浮点型
两种表示形式:
- 3.2
- 5.2E3, 3.3e-3;
不允许除0;
复数
j J表示
导入cmath更好
4、字符串
两个单引号或者双引号括起来;
转义:
- 里外用不同的引号
"I'am"
'"asd",asdf'
- 反斜杠
"hjk\'sd dfpi\"hjkl"
拼接:
# 自动拼接
s1="sd" "zx"
s=s1+s2
repr和字符串
字符串和数值拼接:str()
, repr()
;
s1 = "这本书的价格是:"
s2 = 99.8
#print(s1+s2),#出错
print(s1 + str(s2))
print(s1 + repr(s2))
# 结果相同
两个函数都可以转换,repr会转换成表达式
输入
input()
返回字符串,括号里是显示的文字字符串
a=input("请输入")
字符串转int:
b = int(a)
长字符串
多行注释就是长字符串
s = '''asdf
asdf
fdsa'''
# s为包括回车的字符串,
可以对换行符进行转义,结尾写一个反斜杠
s='''sdfasdf\
sadf'''
s2 = ",asdf\
asdf"
num = 1+2+3\
+4+5
原始字符串
前面加r
不能且不需要使用反斜杠转义反斜杠了,有时候方便书写,
路径:'G:\\publish\1'
路径:r'G:\publish\1'
不过引号还是要转义
bytes字节串
如何创建字节串
- ASCii码直接前面加b
- 调用bytes()函数
- 字符串的encode()方法,默认utf-8
b1 = bytes()
b2 = b'sdf'
b3 = bytes('我', endcoding='utf-8')
b4 = "我".encode('utf-8')
st = b4.decode('utf-8')
5、深入使用字符串
转义字符
字符串格式化
举例:
num=-2
print("num is : %6i" % num)
%
d,i 转为十进制整数
o 八进制
x X 十六进制
e E 浮点数科学计数法
f F 浮点数
g G 浮点数普通和科学自动选择
C 转为单字符
r 字符串
s 字符串
前面的6表示最少占6格,占不满左边补空格,可以调整 :
-+0左对齐,强制带符号,不足补充0; 三个符号可以同时存在
浮点数可以指定小数点:
如:%+08.3f
占8格,左边补0,3位小数%+8.3s
最少8格字符串,字符串保留前3位;
序列方法
查找第几个字母:
s = "12345"
s2=s[2]
s[2:4]
s[-4,-1]
s[:-1]
s[1:]
#s2="3"
s[0:5:2]#0到4之间索引,步长为2
其他方法
len(s)长度
max(s)最大的字符
min(s)最小的字符
大小写处理
删除左右的空白,删除左右的某个字符
查找替换
是不是以什么结尾
split()分割、返回list
join()连接,参数是list
运算符:
赋值
算数:
+
-
*还可以对字符串操作 "asd'*3
/带小数
//整除
% 可以是小数
** 乘方 2 ** (1/2)
位运算符
& | ^ ~ << >>
略
比较运算与bool类型
is 比较是否引用同一个对象,比较对象的id,可以通过id(a)查看对象id
is not
True可以当成1使用,T要大写
逻辑运算符
与或非
and or not
三目运算符
"a>b" if a>b else "a<=b";
dosomething, print("a>b") if a>b else dosth;print("a<=b");
返回的字符串有if后面的真假决定
逗号隔开返回元组,分号隔开返回第一个式子的值
in运算符
判断是否在序列中
如:
'it' in 'sfits' #True