python提供了两种脚本注释的方式:
#这是一行简单的注释
print("Hello,world!")
#这是一个多行的注释
"""
从今天起,如果我们能够宽容地对待别人
我们的路就会越走越宽!
"""
python是弱类型的语言,弱类型语言有两个特点:
print函数有着强大的作用,不同的编程语言都有其对应的函数。python的print函数使用规范如下:
print(value,...,sep='',end='\n',file=sys.stdout,flush=False)
可以看出value参数可以接受任意多个变量或值,因此print函数完全可以输出多个值。
user_name='charlie'
user_age=8
print("读书名:",user_name,"年龄",user_age,sep='|')#打印多个值并通过“|”隔开
默认情况下print函数执行完之后会进行换行,可以通过定义end属性改变这一特性。file参数用来指定print函数的输出目标,file参数的默认值为sys.stdout,print函数还可以将指定内容输出到指定文件中。
f=open("file1.txt","w")#打开文件以便写入
print("鱼跃此时海",file=f)
print("花开彼岸天",file=f)
f.close()
print函数的flush参数用于控制输出缓存,改参数一般保持False即可。
python语言是区分大小写的,abc和Abc是两个不同的标识符。在python中使用标识符,需要注意:
标识符可以由字母、数字、下划线(_)组成,其中数字不能大头。
标识符不能是python的关键字,但可以包含关键字。
标识符不能包含空格。
此处总结的为python变量命名的大规则,详细的命名规范如驼峰法等将在后续扩充。
以_开头和_结尾的方法被约定为私有方法。
python的整型有4种表示形式:
#在数值中使用下划线
one_million=1_000_000
print(one_million)
python的浮点数有两种表示形式:
python支持复数,复试的虚部用j或J表示。
敲黑板划重点,这部分内容是本章节的小难点,需要花费比较多的精力去掌握。
python要求字符串必须使用括号括起来,使用单引号或双引号均可以,只要两边的引号能配对即可。
如果字符串本身包含了单引号或双引号,此时需要进行特殊处理。
str5= ' " we are so strong! let\'s do something helpful to our contry!",sys the great man. '
python使用“+”对字符串进行拼接:
s2= "python"
s3="is funny"
s4=s3+s2
print(s4)
python中将数值转换为字符串有两个函数可以使用:str()和repr()。str是python内置的类型,而repr()只是一个函数,repr会以python表达式的形式表示值。
python使用input()函数向用户生成一条提示,然后获取用户输入的内容。input()函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,而input()函数总是返回一个字符串。
msg=input("请输入你的值:")
print(type(msg))#此处python判断msg的类型为'str'
pirnt(msg)
python的长字符串可以防止任何内容,包含单引号和双引号。python允许使用\对换行符进行转义,转义之后换行符不会中断字符串。如果程序需要对python表达式进行换行,也可以使用\进行。
s2='The quick brown fox \
jumps over the lazy dog'
print(s2)
原始字符串:所谓原始字符串是指python中以r开头的字符串,原始字符串不会把反斜线当做特殊字符,因此程序中的路径可以用原始字符串表示。如果原始字符串的结尾包含反斜线,要么采用长字符串进行表达,要么将反斜线跟其他内容分开进行表达。
ide_path=r'F:\TKLTOOLS\startup\ide.men'#路径表达示意
s3= r'Good morning!' '\\' #原始字符串末尾有反斜线
字节串是python3新增的类型,字节串由多个字节组成,以字节为单位进行操作。bytes对象负责以字节(二进制格式)序列来记录数据,bytes对象可用于在网络上传输数据,也可以用于存储各种二进制格式的文件,如图片、音乐等文件。
可以通过三种方法将字符串转换为bytes对象:
#创建一个空的字节串即bytes
b1=bytes()
#创建一个空的bytes值
b2=b
#通过b前缀指定'hello'为bytes类型的值
b3=b'hello'
#调用bytes方法将字符串转换为bytes对象
b4= bytes('我要服务社会,实现个人理想哦!',encodign='utf-8')
#利用字符串的encode方法
b5='生当作人杰,死亦为鬼雄!'.encode('utf-8')
字符集:计算机底层并不保存字符,为了能够读取字符,需要为所有的字符建议一个字符对照表。程序读取字符时,读取的其实是编号,然后根据编号得到对应的字符。
字符串的格式输出,python提供了%对各种类型的数据进行格式化输出:
price= 108
print("the book's price is %s"% price)#第一个%s是占位符,第二部分固定使用%作为分隔符
print("%s is %s year old boy!"%(user,age))#print可以用来输出多个值
num2=30
#最小宽度为6,左边补0
print("num2 is : %06d"%num2)
#最小宽度为6,左边补0,总带上符号
print("num2 is: %+06d"%num2)
#最小宽度为6,左对齐
print("num2 is: %-6d"% num2)
序列相关的操作方法:
python字符串可以在方括号([])中使用索引获取对应的字符。
s='crazyit.org is very good!'
print(s[2])#输出a
print(s[3:5])#输出zy
print(s[3:-5])#获取从索引3到倒数第5个字符的子串
print(s[-6:])#输出y good
print(s[:5])#输出crazy
python字符串支持用in运算符判断是否包含某个子串,还可以调用len()方法获取字符串的长度,可以用min和max函数获取字符串中最小和最大字符。
#判断s是否包含'very'字符串
print('very' in s)#True
print(len(s))#24
print(max(s))#z
此处给出python中常用的两个帮助函数:
#定义翻译映射表
table={97:945,98:946,116:964}
print(s.translate(table))
有关字符串分割和连接的方法:
s='crazyit.org is a very good site'
#使用空白对字符串进行分割
print(s.split())
mylist = s.split()
#使用'/'作为分割符连接字符串
print('/'.join(mylist))
运算符是每种编程语言都不可或缺的重要内容,python中部分运算符和c++一样,作者就不再赘述(想学习的可以去作者发布的关于c++学习笔记中查看)。
赋值运算符:此部分内容和c++一致。
算数运算符:加、减、乘运算可以参考c++。除法有所不同:python有两种除法运算符:
print('5的2次方:',5**2)#25
位运算符:通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始bit位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码非常有效。此部分的内容可以参考c++。
索引运算符:
a='abcdefghijklmn'
#获取索引2到索引8的子串步长为3
print(a[2:8:3])#输出cf
比较运算符与bool类型:基本和c++一致,python添加了is运算符,用来判断两个变量引用的对象是否相同,这是因为python提供了一个id()函数来判断每个变量所引用对象的内存地址。
逻辑运算符:and/or/not
三目运算符:True_statement if expression else False_statement
#输出“a大于b”
a=5
b=3
print("a大于b") if a>b else print("a不大于b")