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还可以控制格式输出时的对齐方式:

  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——变量和简单类型相关推荐

  1. 疯狂python讲义学习日志11——并发编程

    作为高级编程范畴的重要组成部分,并发编程在编码中有着很大的应用,许多工程师收益于并发编程带来的高效福利.但是并行编程是有一定难度的,本章将和大家一起从入门开始,详细介绍在python中如何进行并行编程 ...

  2. 疯狂python讲义学习笔记——中十章完结

    #第十一章 thinker import tkinter as tk print(help(tk.Button.__init__))#以按扭为例查看有什么属性 class myApplication( ...

  3. 疯狂Python讲义学习笔记(含习题)之 常见模块

    一.sys模块 sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息. >>> import sys >>> [e for e in di ...

  4. 疯狂Python讲义学习笔记(含习题)之 类和对象

    Python支持面向对象的三大特征:封装.继承和多态. 一.类和对象 可以把类当成一种自定义类型,可以使用类来定义变量,也可以使用类来创建对象. (一)定义类 类是某一批对象的抽象,可以把类理解成某种 ...

  5. 疯狂Python讲义学习笔记(含习题)之 流程控制

    Python支持两种基本流程控制结构:分支结构和循环结构.分支结构用于实现根据条件来选择性地执行某段代码:循环结构用户实现根据循环条件重复执行某段代码. Python使用if语句提供分支支持,使用wh ...

  6. 疯狂python讲义学习笔记——后十章完结

    ''' numpy pandas torch keras tensorflow tushare sklearn opencv time kivy '''#第二十一章:numpy import nump ...

  7. 疯狂python讲义学习笔记——前十章完结

    #第一章:绪论 #单行注释 ''' 多行注释 ''' """ 多行注释 """#dir列出指定类或模块的属性与方法,help查看某个函数或方 ...

  8. 疯狂python讲义pdf_如何自学成Python大神?这份学习宝典火爆 IT 圈!

    都说人生苦短,我用 Python.为什么? 简单明了的理由当然是开发效率高.但是学习 Python 的初学者往往会面临以下残酷的现状: 网上充斥着大量的学习资源.书籍.视频教程和博客,但是大部分都是讲 ...

  9. 疯狂python讲义视频 百度云-疯狂Python讲义 PDF 含源码工具版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于Python编程.Python语法方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小124.3 MB,李刚编写,目前豆瓣.亚 ...

最新文章

  1. 图灵访谈 | 王贝珊:乘风破浪的成长之路
  2. 十二年来最强购房潮:报价 6 次,疯狂加价,华人程序员在硅谷买房太难了!...
  3. 内核-程序员的顶级梦寐
  4. 安装Ubuntu server并实现远程访问
  5. 单继承-继承的传递性
  6. 9 10次c语言上机作业答案,C语言第五次上机作业参考答案
  7. python gui入门的例子_Python GUI编程之Tkinter入门之道
  8. 帝豪gl车机系统降级_帝豪GL配备智能娱乐系统,搭1.8L发动机,静态体验如何?...
  9. elementUI使用之table表格如何给行元素添加点击事件
  10. JUC编程入门(高并发)
  11. SAP 软件价格体系及SAP项目实施费用构成介绍
  12. winform 打印快递电子面单_电子面单接口说明文档-(附C#源码)
  13. 操作无法完成,因为为其中的文件夹或文件已在另一程序中打开,请关闭该文件或文件,然后重试。
  14. 北京胜新疆夺CBA总冠军 苏群:广东依旧实力最强
  15. 索骥馆-DIY硬盘之《新手3周学通硬盘芯片级维修》扫描版[PDF]
  16. 应用市场首发,APP推广如何应对
  17. python豆瓣电影需研究的问题_Python自定义豆瓣电影种类,排行,点评的爬取与存储(进阶下)...
  18. 测试用例优先级与三轮测试的结合
  19. 常用纸张及特性,印刷常用规格尺寸
  20. 那些年这么火的MyCat你还不知道吗?

热门文章

  1. Geronimo XBean
  2. 右手就行的饿了么cookie提取
  3. Android应用源码仿暴风影音安卓客户端源码
  4. Mach-O结构分析
  5. CSP-S2 Emiya 家今天的饭
  6. 我是如何复盘个股的(二)
  7. RDD论文翻译 --弹性分布式数据集:一种基于内存的集群计算的容错性抽象方法
  8. 赚钱 36 计 - 第九计:入口计
  9. golang中的下划线(_)用法
  10. 用plot,hist等函数画各种图示