Python 基础二

小柒博客 Python1 74.4K2字数 3209阅读10分41秒阅读模式

6、基础数据类型(初始)。

什么是数据类型?

我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则它是分不清1和'汉'的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型

6.1、整数类型(int)。

int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

除了int之外, 其实还有float浮点型, 复数型,但今天先不讲啦

6.2、字符串类型(str)。

在Python中,加了引号的字符都被认为是字符串!

>>> name = "Alex Li" #双引号

>>> age = "22" #只要加引号就是字符串

>>> age2 = 22 #int

>>>

>>> msg = '''My name is taibai, I am 22 years old!''' #我擦,3个引号也可以

>>>

>>> hometown = 'ShanDong' #单引号也可以

那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合

msg = "My name is Alex , I'm 22 years old!"

多引号什么作用呢?作用就是多行字符串必须用多引号

msg = '''

今天我想写首小诗,

歌颂我的同桌,

你看他那乌黑的短发,

好像一只炸毛鸡。

'''

print(msg)

字符串拼接

数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。

>>> name

'Alex Li'

>>> age

'22'

>>>

>>> name + age #相加其实就是简单拼接

'Alex Li22'

>>>

>>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起

'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

>>> type(name),type(age2)

(<type 'str'>, <type 'int'>)

>>>

>>> name

'Alex Li'

>>> age2

22

>>> name + age2

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: cannot concatenate 'str' and 'int' objects #错误提示数字 和 字符 不能拼接

6.3、布尔值(True,False)。

布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?

没错,答案就是,用布尔类型

>>> a=3

>>> b=5

>>>

>>> a > b #不成立就是False,即假False

>>>

>>> a < b #成立就是True, 即真

True

7、程序交互

#!/usr/bin/env python

# -*- coding: utf-8 -*-

#将用户输入的内容赋值给 name 变量

name = input("请输入用户名:")

# 打印输入的内容print(name)

执行脚本就会发现,程序会等待你输入姓名后再往下继续走。

可以让用户输入多个信息,如下

#!/usr/bin/env python

# -*- coding: utf-8 -*-

name = input("What is your name?")

age = input("How old are you?")

hometown = input("Where is your hometown?")

print("Hello ",name , "your are ", age , "years old, you came from",hometown)

8、流程控制之--if。

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

if...else 语句

单分支:

if 条件:

满足条件后要执行的代码

双分支:

if 条件:

满足条件执行代码

else:

if条件不满足就走这段"""

AgeOfOldboy = 48

if AgeOfOldboy > 50 :

print("Too old, time to retire..")else:

print("还能折腾几年!")

缩进

这里必须要插入这个缩进的知识点

你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?

在其它的语言里,大多通过{}来确定代码块,比如C,C++,Java,Javascript都是这样,看一个JavaScript代码的例子

var age = 56if ( age < 50){

console.log("还能折腾")

console.log('可以执行多行代码')

}else{

console.log('太老了')

}

在有{}来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了。

Python是门超级简洁的语言,发明者定是觉得用{}太丑了,所以索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进。

Python的缩进有以下几个原则:

顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进

同一级别的代码,缩进必须一致

官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。

多分支

回到流程控制上来,if...else ...可以有多个分支条件

if 条件:

满足条件执行代码elif 条件:

上面的条件不满足就走这个elif 条件:

上面的条件不满足就走这个elif 条件:

上面的条件不满足就走这个 else:

上面所有的条件不满足就走这段

写个猜年龄的游戏吧

age_of_oldboy = 48

guess = int(input(">>:"))

if guess > age_of_oldboy :

print("猜的太大了,往小里试试...")

elif guess < age_of_oldboy :

print("猜的太小了,往大里试试...")

else:

print("恭喜你,猜对了...")

上面的例子,根据你输入的值不同,会最多得到3种不同的结果

再来个匹配成绩的小程序吧,成绩有ABCDE5个等级,与分数的对应关系如下

A 90-100

B 80-89

C 60-79

D 40-59

E 0-39

要求用户输入0-100的数字后,你能正确打印他的对应成绩

score = int(input("输入分数:"))

if score > 100:

print("我擦,最高分才100...")elif score >= 90:

print("A")elif score >= 80:

print("B")elif score >= 60:

print("C")elif score >= 40:

print("D")else:

print("太笨了...E")

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信公众号
微信扫一扫,关注我!
weinxin
Python最后更新:2024-1-25
小柒博客
  • 本文由 小柒博客 发表于 2019年3月27日17:35:46
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/1784.html
    • 运维老司机
      运维老司机 6

      亲测,写的不错 :razz:

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证