本节中主要介绍Python的基本类型(number和string类型),再介绍下Python中比较特殊的缩进规则。

基本类型

功能介绍

基本类型这个是每个语言无法绕开的话题,因为基本类型可以认为是语言的基石,有了基本类型,我们才能在类和函数的高楼里高谈阔论,否则一切都是无根之木。

python的基本类型个人倾向于分为三大类

  • number
  • string
  • boolean
  • complex(复数)

    关于复数之前已经说过,不再讲解

而number又分为int和float,这些基本类型说到底都是对我们现实生活的一种投影,就是说我们现实中有什么,那么编程语言里才有什么,因为归根到底,语言就是为我们服务的。int即整数,比如说一个杯子,那么杯子的数量一般来说我们就使用整数(当然了,也可以使用float类型,只不过小数点后面肯定为零罢了),然后商品的价格可能时12.5元,这时候我们用需要float出场了,这就是python的number了

python2下还有一个类型为long,在python3中与float做了统一和整合

  1. #我们可以如下命名赋值变量
  2. bottle_num = 10 #杯子的数量是10个
  3. watermelon_price = 10.6 #西瓜的价格是10.6元(每斤)

这里就有引申出一个话题,类型推断,什么叫类型推断呢,就是系统会根据所赋予的实际值去推断该变量的实际类型,即bottle_num的类型是int,watermelon_price的类型是float,而不会像Java赋值前首先指定变量的类型,形如int age = 20;

字符这个也比较好理解,就是文本信息,如下所示

  1. hi_content ='Hello World'
  2. another_style = "Hello Another World"
  3. #在Python中单引号和双引号的作用等价

在Python中单引号、双引号、三引号的作用基本是等价的,特别是单引号和双引号,三引号内可以填写段落内容即允许换行。单引号和双引号唯一的区别是,在单引号标识的字符串中,不需要对双引号字符加反斜杠,同样,在双引号标识的字符串中,也不需要对单引号字符加反斜杠。

  1. hi = 'Hello It\'s great'
  2. hi_double = "Hello It's great" #双引号内对单引号不需要加反斜杠
  3. #三引号中的换行信息可以被正确输出
  4. all_content = """明月几时有
  5. 把酒问青天
  6. 不知天上宫阙
  7. 今夕是何年"""

布尔型即为真、假,在Python中使用关键字True作为真,使用False作为假(使用not来取对应值的反)。C语言中用整数0表示False,其他整数均表示True,Python对待布尔值的方式与C语言类似。Python对此做了推广,用0和空值表示False,其他任何值都是True。

  1. is_locked = False
  2. if not is_locked:#通常情况下,我们不建议使用if is_locked==False的形式来进行代码的编写,当然也可以使用if is_locked is False的形式来编写
  3. print('寂寞梧桐深院锁清秋')
  4. else:
  5. print('小园香径独徘徊')

使用说明

具体的使用可以参考一下的代码

基本使用

  1. name ='关羽'
  2. age = 18
  3. vlog = "过五关斩六将"
  4. # 当然我们可以对num和string做一些基本的操作
  5. # 数理操作
  6. liu_age = age+1 #刘关张三兄弟年龄各差一岁
  7. zhang_age = age-1
  8. liu_name = name +'是我二弟'
  9. zhang_name = name+'是我二哥'
  10. sum_count = 12
  11. payment = 256.7
  12. every_price = payment/sum_count
  13. every_float_price =payment// sum_count #使用除号//,结果会是经过截断的整数,如果是浮点数操作,则返回浮点数
  14. print(every_price) #21.391666666666666
  15. print(every_float_price) #21.0

以上变量的命名均使用Python推荐的pep8格式,使用下划线的类驼峰命名方式

类型转换

不同类型之间可以进行合理范围内的显式类型转换,如从int转换为float,从float转换为int,不过两者之间存在差异,因为往往来说,float转换为int的情况下,会去掉小数点后的数字,那么就会造成数值的不准确,这点需要注意

  1. all_price = 25.6
  2. print(int(all_price)) #float转换为int
  3. #25
  4. apple_num = 18
  5. print(float(apple_num)) #int转换为float
  6. #18.0

常见系统函数

  • abs 求绝对值
  • pow 求次方
  • max 求最大值
  • min 求最小值
  1. s = -123
  2. print(abs(s)) #123
  3. print(pow(2,3)) #2的三次方,即8
  4. print(max(1,2)) #2
  5. print(min(9.2,10)) #9.2

练习题

  • 一斤猪肉的价格是45.6,一斤芹菜的价格是4.6元,现在需要做一份猪肉芹菜水饺,使用两斤猪肉和1.5斤芹菜,那么价格最终是?使用变量命名表达
  • 使用字符串赋值一首古诗

    缩进

    功能介绍

    Python和其他语言一个较明显的不同,就是Python使用空白符和缩进来识别代码,大部分语言都是使用大括号来实现,这个特性在首次接触Python时,特别是有其他语言背景的情况下接触,会感觉到Python的格格不入,但是当我们习惯了Python代码后,又会对这个简介的语言特性感觉
    举例如下,说明Python的缩进
  1. public class Demo{
  2. //say hi
  3. public String sayHi(String name){
  4. if(name ==null){
  5. return "你好无名氏";
  6. }else{
  7. return "你好"+name;
  8. }
  9. }
  10. }

以上Java代码我们着重看sayHi方法,实现输入name参数,然后拼接字符返回,其中不管是方法sayHi还是if循环都需要使用大括号来标识代码,如果使用Python,那么便简洁很多

  1. def sayHi(name:str):# 使用缩进来实现函数体的标记
  2. if name is None: #使用缩进来实现if循环的识别
  3. return '你好无名氏'
  4. else:
  5. return '你好'+name