本节中主要介绍Python的基本类型(number和string类型),再介绍下Python中比较特殊的缩进规则。
基本类型
功能介绍
基本类型这个是每个语言无法绕开的话题,因为基本类型可以认为是语言的基石,有了基本类型,我们才能在类和函数的高楼里高谈阔论,否则一切都是无根之木。
python的基本类型个人倾向于分为三大类
- number
- string
- boolean
complex(复数)关于复数之前已经说过,不再讲解
而number又分为int和float,这些基本类型说到底都是对我们现实生活的一种投影,就是说我们现实中有什么,那么编程语言里才有什么,因为归根到底,语言就是为我们服务的。int即整数,比如说一个杯子,那么杯子的数量一般来说我们就使用整数(当然了,也可以使用float类型,只不过小数点后面肯定为零罢了),然后商品的价格可能时12.5元,这时候我们用需要float出场了,这就是python的number了
python2下还有一个类型为long,在python3中与float做了统一和整合
#我们可以如下命名赋值变量bottle_num = 10 #杯子的数量是10个watermelon_price = 10.6 #西瓜的价格是10.6元(每斤)
这里就有引申出一个话题,类型推断,什么叫类型推断呢,就是系统会根据所赋予的实际值去推断该变量的实际类型,即bottle_num的类型是int,watermelon_price的类型是float,而不会像Java赋值前首先指定变量的类型,形如int age = 20;
字符这个也比较好理解,就是文本信息,如下所示
hi_content ='Hello World'another_style = "Hello Another World"#在Python中单引号和双引号的作用等价
在Python中单引号、双引号、三引号的作用基本是等价的,特别是单引号和双引号,三引号内可以填写段落内容即允许换行。单引号和双引号唯一的区别是,在单引号标识的字符串中,不需要对双引号字符加反斜杠,同样,在双引号标识的字符串中,也不需要对单引号字符加反斜杠。
hi = 'Hello It\'s great'hi_double = "Hello It's great" #双引号内对单引号不需要加反斜杠#三引号中的换行信息可以被正确输出all_content = """明月几时有把酒问青天不知天上宫阙今夕是何年"""
布尔型即为真、假,在Python中使用关键字True作为真,使用False作为假(使用not来取对应值的反)。C语言中用整数0表示False,其他整数均表示True,Python对待布尔值的方式与C语言类似。Python对此做了推广,用0和空值表示False,其他任何值都是True。
is_locked = Falseif not is_locked:#通常情况下,我们不建议使用if is_locked==False的形式来进行代码的编写,当然也可以使用if is_locked is False的形式来编写print('寂寞梧桐深院锁清秋')else:print('小园香径独徘徊')
使用说明
基本使用
name ='关羽'age = 18vlog = "过五关斩六将"# 当然我们可以对num和string做一些基本的操作# 数理操作liu_age = age+1 #刘关张三兄弟年龄各差一岁zhang_age = age-1liu_name = name +'是我二弟'zhang_name = name+'是我二哥'sum_count = 12payment = 256.7every_price = payment/sum_countevery_float_price =payment// sum_count #使用除号//,结果会是经过截断的整数,如果是浮点数操作,则返回浮点数print(every_price) #21.391666666666666print(every_float_price) #21.0
以上变量的命名均使用Python推荐的pep8格式,使用下划线的类驼峰命名方式
类型转换
不同类型之间可以进行合理范围内的显式类型转换,如从int转换为float,从float转换为int,不过两者之间存在差异,因为往往来说,float转换为int的情况下,会去掉小数点后的数字,那么就会造成数值的不准确,这点需要注意
all_price = 25.6print(int(all_price)) #float转换为int#25apple_num = 18print(float(apple_num)) #int转换为float#18.0
常见系统函数
- abs 求绝对值
- pow 求次方
- max 求最大值
- min 求最小值
s = -123print(abs(s)) #123print(pow(2,3)) #2的三次方,即8print(max(1,2)) #2print(min(9.2,10)) #9.2
练习题
- 一斤猪肉的价格是45.6,一斤芹菜的价格是4.6元,现在需要做一份猪肉芹菜水饺,使用两斤猪肉和1.5斤芹菜,那么价格最终是?使用变量命名表达
- 使用字符串赋值一首古诗
缩进
功能介绍
Python和其他语言一个较明显的不同,就是Python使用空白符和缩进来识别代码,大部分语言都是使用大括号来实现,这个特性在首次接触Python时,特别是有其他语言背景的情况下接触,会感觉到Python的格格不入,但是当我们习惯了Python代码后,又会对这个简介的语言特性感觉
举例如下,说明Python的缩进
public class Demo{//say hipublic String sayHi(String name){if(name ==null){return "你好无名氏";}else{return "你好"+name;}}}
以上Java代码我们着重看sayHi方法,实现输入name参数,然后拼接字符返回,其中不管是方法sayHi还是if循环都需要使用大括号来标识代码,如果使用Python,那么便简洁很多
def sayHi(name:str):# 使用缩进来实现函数体的标记if name is None: #使用缩进来实现if循环的识别return '你好无名氏'else:return '你好'+name
