疯狂Python讲义学习日志01——变量和简单类型

1.变量和简单类型

1.1python脚本注释

python提供了两种脚本注释的方式:

  1. 当行脚本的注释: 对于单行的python的脚本而言,可以在该行脚本所在的左侧添加“#”字符的方式进行注释。
  2. 多行脚本的注释:多行脚本的注释其实是通过将其要注释的代码段整体标记为python的长字符串实现的,即通过三个引号将其包括起来(无论是单引号还是双引号都可以)。
#这是一行简单的注释
print("Hello,world!")
#这是一个多行的注释
"""
从今天起,如果我们能够宽容地对待别人
我们的路就会越走越宽!
"""

1.2python变量介绍

1.2.1弱类型特点

python是弱类型的语言,弱类型语言有两个特点:

  1. 变量不用声明,可直接赋值;
  2. 变量的数据类型可以动态改变;

1.2.2使用print函数输出变量

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即可。

1.2.3python变量的命名规范

python语言是区分大小写的,abc和Abc是两个不同的标识符。在python中使用标识符,需要注意:

  1. 标识符可以由字母、数字、下划线(_)组成,其中数字不能大头。

  2. 标识符不能是python的关键字,但可以包含关键字。

  3. 标识符不能包含空格。
    此处总结的为python变量命名的大规则,详细的命名规范如驼峰法等将在后续扩充。

  4. 以_开头和_结尾的方法被约定为私有方法。

1.3python简单类型介绍

1.3.1整型

python的整型有4种表示形式:

  1. 十进制表达形式;
  2. 二进制形式:以0b或0B开头的整数;
  3. 八进制形式:以0o或0O开头的整数;
  4. 十六进制:0X或0x开头的整数;
    为了提高数值的可读性,python 3.x允许为数值增加下划线作为分隔符。
#在数值中使用下划线
one_million=1_000_000
print(one_million)

1.3.2浮点数

python的浮点数有两种表示形式:

  1. 十进制形式:浮点数必须包含一个小数点,否则会被当成整数类型处理。
  2. 科学计数形式:只有浮点型数值才可以使用科学计数法表示,51200是一个整数值,而5.12e4则是浮点数。

1.3.3复数

python支持复数,复试的虚部用j或J表示。

1.3.4字符串

敲黑板划重点,这部分内容是本章节的小难点,需要花费比较多的精力去掌握。
python要求字符串必须使用括号括起来,使用单引号或双引号均可以,只要两边的引号能配对即可。
如果字符串本身包含了单引号或双引号,此时需要进行特殊处理。

  1. 使用不同的引号将字符串括起来
  2. 对引号进行转义
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对象:

  1. 如果字符串内容都是ASCII码字符,则可以通过在字符串之前加b构建字节串。
  2. 调用bytes()函数将字符串按照指定字符集转换为字节串,字符集默认为UTF_8。
  3. 调用字符串本身的encode方法将字符串按照指定的字符集转换为字节串,字符集默认为UTF-8。
#创建一个空的字节串即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可以用来输出多个值

疯狂Python讲义学习日志01——变量和简单类型_第1张图片
python还可以控制格式输出时的对齐方式:

  1. -:表示左对齐;
  2. +:表示数值总要带着符号;
  3. 0:表示不补充空格,补充0;
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中常用的两个帮助函数:

  1. dir():列出指定类或模块包含的全部内容(包括函数、方法、类、变量等)
  2. help():查看某个函数或方法的帮助文档
    与字符串大小写相关的方法有:
  3. title():将每个单词的首字母改成大写。
  4. lower():将整个字符串改成小写。
  5. uper():将整个字符串改成大写。
    删除空白的方法:
  6. strip():删除字符串前后的空白
  7. lstrip():删除字符串左边的空白
  8. rstrip():删除字符串右边的空白
    有一点需要明确这三个方法是将字符串去掉空白后,返回一个副本。并没有改变真正的字符串。
    查找替换相关方法
  9. inddex()查找指定字符串在字符串中出现的位置。
  10. 10.replace():使用子串替换字符串中的目标子串。
  11. tanslate():使用指定翻译映射表对字符串进行替换。
#定义翻译映射表
table={97:945,98:946,116:964}
print(s.translate(table))

有关字符串分割和连接的方法:

  1. split():将字符串按照指定字符分为多个短语。
  2. join():将字符串连接
s='crazyit.org is a very good site'
#使用空白对字符串进行分割
print(s.split())
mylist = s.split()
#使用'/'作为分割符连接字符串
print('/'.join(mylist))

1.4 运算符

运算符是每种编程语言都不可或缺的重要内容,python中部分运算符和c++一样,作者就不再赘述(想学习的可以去作者发布的关于c++学习笔记中查看)。
赋值运算符:此部分内容和c++一致。
算数运算符:加、减、乘运算可以参考c++。除法有所不同:python有两种除法运算符:

  1. /:表示普通意义的除法。
  2. //:表示整除,除法运算的结果只有整数部分。
    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")

in运算符:用于判断某个成员是否位于序列中。
运算符的结合性和优先级
疯狂Python讲义学习日志01——变量和简单类型_第2张图片

你可能感兴趣的:(Python学习日志)