Python学习之路-随笔01 初识python3(数据类型及其运算和控制)
数据类型
由于学习过其他编程语言(C/C++/java),所以记录的话除了一些差异点和遇到的问题,尽可能的简洁,以达到最佳的记录作用,方便以后的复习和形成体系。
1.数字类型
包括integer,long,float,complex(复杂整数)等,统称number,而且不用特殊声明。
特殊类型:布尔值,只有True和False两个,注意首字母大写。而且在普通数字运算中可以当成1/0来使用。
2.字符串类型
1.类型定义
在python里字符串可以用单引号/双引号/三引号括起表示一串字符,这点和其他语言区别开来。
交错使用者三种方式在某些时候可以起到比较好的效果,比如下面的代码
<a style=\"color:red\"> 哈哈哈</a>
在代码中就包括了双引号,所以这时候可以换成单引号或者三引号起到效果
str = ' <a style=\"color:red\"> 哈哈哈</a>\n '
同时要注意的是三引号也是python中进行块注释的方法,区别于行注释用#号
2.字符串的格式化
有两种,1是和C相似的百分号%,2是用format函数
百分号使用实例
s = "测试使用%s的方法于%d的晚上"
print(s%("python格式化",19))
format函数格式化使用方法,大括号{}代替百分号%,如下
str = ”在{}的晚上测试使用{}的方法".format(19,"python格式化")
需要注意的是:大括号里可以添加数字来进行format方法的参数顺序编号,放入参数的时候根据编号大小来确定,如下
str = ”在{1}的晚上测试使用{0}的方法".format("python格式化",19)
3.转义字符
不详细描述,即用\来对后面一个或多个不方便表达的字符进行转义(保护)表达出来。和上面的字符串三种表达方式类似。
在实际中要注意不同系统下对某些字符有不同的表达,如换行,Windows下是\n,linux下是\r\n。
3.元组/列表/字典
这三个放到一块说方便一些。
列表用[](方括号)表示,元组用()普通的圆括号表示,对于初步接触只需要接触到的知识是:列表能读能写,元组则是只读。
再细点就是列表里面有一系列的操作方法,如append/insert/pop/remove/sort等等,元组只有则很少,只有count/index等计数和取下标的方法
而字典类型则是用于数据存储,类似数据库里的表。
数据运算
一共分为七种,分别是算术运算,关系运算(比较),赋值运算,逻辑运算,位运算,成员运算,身份运算。
目前初学来看需要注意的不是很多,主要有一下几点:
1.算术运算里,除号/和其他语言区别开,不是取商而是精确除,取商则是两个除号//(地板除)
2.幂运算是两个乘号表示**,且python里无自增和自减。
3.逻辑运算只有与或非,无异或运算。
4.成员运算,即in和not in,只能检查是否有键,而不能查找是否有某个值,返回的是布尔值。
5.身份运算,is和is not,用来检测两个边路是/不是同一个变量,返回的是布尔值。
控制逻辑
1.分支运算
格式为if/elif/else,后面加冒号,无switch,elif就是else if的缩写代替。如if 条件表达式:/ elif 条件表达式:/ else: else为可选。
2.循环控制
格式为for XX in 某数据结构(序列)
XXXXX (类似C#),该循环也可添加else。
else:
另外一种为while 条件表达式:
XXXX
else:(可选)
对于break,continue这类的循环控制命令,多了个pass,但是没什么卵用,通常用于占位
3.补充一下python的输入输出
一般为input和print方法,例如
age = input(“请输入年龄”)
print(“你出入的年龄是:{0}”,format(age)
最后补充一下pyhon的其他一点知识
定义函数:def 函数名(): 其中参数有多种,关键字参数,默认参数,可变参数等
关键字参数就是把参数名直接写上。如def test(name,age): test(name="lucy",age=18),而且可以不考虑参数位置,比如age放在name之前
默认参数就是定义时就赋予了一个值,使用时可写可不写,但是要注意的是,默认参数一定要放在最后,比如def test(name,age = 18):
可变参数约定俗成的用*args和**kwargs来写,前者合成一个元组,后者则是字典,也叫包裹传递?
def func(*args) :
func(a,b,c,d,e) abcde都会被放进一个元组里,字典同理。但是要关键字参数引用的时候只能用**kwargs,如def fuc(**kwargs) func(name = "XXX",age = 18)
可变参数的反过来用法叫解包裹参数
元组:
def func(name,age):
print(name,age)
args = ("zhangsan",19)
func(*args)
字典:
def func(name,age):
print(name,age)
kwargs = {"name":"zhangsan","age":19}
func(**kwargs)
关于上面这几种参数类型的混合使用就留给以后再研究吧。
第一篇就这么多吧,也算是纪念一下。
有错误和不足之处望见谅。