python3理解写代码与常用数据类型(3)

3.1 什么是代码 什么是写代码

代码是现实世界事物在计算机世界中的映射

写代码是将现实世界中的事物用计算机语言来描述

代码和写代码就像画家画画,摄影师拍照

如果我们需要在一个世界中描述另外一个世界里面的一些事物,我们就需要一些基本的元素和素材,在计算机世界的语言中,我们的素材就是基本数据类型,无论代码多复杂,都是由基本数据类型再加上我们的逻辑思维构成的。

3.2 数字:整形与浮点型

Number:数字类型 这是一个大的分类,它包括整数、小数等等

整数:int
浮点数:float

整数在其他语言中包括short、int、long

在Python中没有short,long之分,只用int

浮点数在其他语言包括单精度(float)和双精度(double),双精度比单精度表示的精度高

在Python中没有单精度、双精度之分,只有一种float,它就是其他语言中的double

利用type()查看其类型:

>>> type(1)
<class 'int'>            //整形
>>> type(-1)
<class 'int'>
>>> type(1.1)
<class 'float'>                       //浮点型
>>> type(1.111111111111111111)
<class 'float'>
>>> type(1 + 0.1)
<class 'float'>
>>> type(1 + 1)
<class 'int'>
>>> type(1 + 1.0)
<class 'float'>                 // 2.0属于float类型
>>> type(1 * 1)        
<class 'int'>
>>> type(1 * 1.0)
<class 'float'>
>>> type(2 / 2)
<class 'float'>            //两个int用单斜杠“/”相除,结果是float类型
>>> type(2 // 2)
<class 'int'>               //两个int用双斜杠“//”相除,结果是int类型

3.3 10、2、8、16进制

>>> 1 / 2
0.5                       //用双斜杠相除,结果是int类型 
>>> 1 // 2
0                        //双斜杠是整除,只保留整数部分

10进制:满10进1

2进制:满2进1

8进制:满8进1

16进制:满16进1

3.4 各进制的表示与转换

进制的表示:

>>> 0b10
2                                 //Python中用0b表示2进制,回车默认转换10进制
>>> 0b11
3    
>>> 0o10
8                                  //Python中用0o表示8进制
>>> 0o11
9  
>>> 0x10
16                                //Python中用0x表示16进制
>>> 0x1F
31  
>>> 11            
11                                //Python中10进制就是10进制,没有特殊的符号

各进制间的转换:
其他进制向二进制转换用bin()

>>> bin(10)
'0b1010'                           //10进制转换成2进制
>>> bin(0o7)
'0b111'                             //8进制转换成2进制 
>>> bin(0xE)
'0b1110'                           //16进制转换成2进制 
其他进制向十进制转换用int()
>>> int(0b111)
7                                      //2进制转换成10进制
>>> int(0o77)
63                                     //8进制转换成10进制
其他进制向十六进制转换用hex()
>>> hex(888)   
'0x378'                               //10进制转换成16进制
>>> hex(0o777)
'0x1ff'                                  //8进制转换成16进制
其他进制向八进制转换用oct()
>>> oct(0b111)
'0o7'                                  //2进制转换成8进制
>>> oct(0x777)
'0o3567'                             //16进制转换成8进制

3.5 数字:布尔类型与复数

bool:真(True)、假(False)
complex:复数

 >>>True
    True
    >>>False
    False

提示:True和False的首字母要大写

验证True和False是布尔类型

>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>

验证布尔类型在数字大分类中:

>>>int(True)
1
>>>int(False)
0

反证:

>>>bool(1)
True
>>>bool(0)
False

是不是只有1表示True,0表示False?
答案:不是
验证:

1.数字情况

>>>bool(2)
True
>>>bool(2.2)
True
>>>bool(-1.1)
True
>>>bool(0)
False

结论:非0表示真,0表示假

2.字符串情况

>>>bool("abc")
True
>>>bool("")
False

3.列表情况

>>>bool([1,2,3])
True
>>>bool([])
False

4.其他情况

>>>bool({1,2,3})
True
>>>bool({})
False

结论:非空表示真,空表示假

特殊情况:

>>>bool(None)
False

复数表示:

>>> 36j
36j

3.6 字符串:单引号与双引号

str:字符串
表示字符串的方法有单引号、双引号、三引号

>>> 'hello world'
'hello world'                      //单引号
>>> "hello world"
'hello world'                       //双引号

类型的区分
‘1’≠1
验证:

>>> type(1)                 
<class 'int'>                      //1是int
>>> type('1')                 
<class 'str'>                      //'1'是str

python中只能用英文的符号
若是中文的逗号

字符串为什么有单引号、双引号的表示方法?
因为引号表示字符串时必须要成对出现,而有的字符串中含有单引号或者双引号
例如:

>>>"let's go"
"let's go"
>>>'let"s go' 
"let"s go"                           //两个单引号中间加上双引号是没有问题的

若都是单引号:
若都是单引号

如果文字中含有单引号,而你又想用单引号表示字符串,就用转义字符吧~

>>>'let\'s go'
"let's go"                        //反斜杠 \ 为转义字符

PS:此处不推荐用转义字符, 因为麻烦且不美观~

3.7 多行字符串

python建议每行最多展示79个字符,可用三引号换行,三个单引号与三个双引号皆可

>>> '''hello world
hello world
hello world
'''
'hello world\nhello world\nhello world\n'           // \n为回车
>>> """hello world\n hello world"""
'hello world\n hello world'

用print()函数能够看到转义字符转译之后的格式:

>>> print( """hello world\nhello world""")
hello world
hello world

>>> """hello
world"""
'hello\nworld'
>>> 'hello\
world'                      //加上反斜杠进行换行(单引号/双引号的换行方式)
'helloworld'

3.8 转义字符

转义字符:是一种特殊的字符,是无法“看见“的字符或与语言本身语法有冲突的字符
\n 换行
’ 单引号
\t 横向制表符(八个空格)

\n 换行,光标在下一行开头
\r 换行,光标在上一行开头
不是同一个概念

>>> print('hello \\n world')
hello \n world
>>> print('c:\\north\\west')
c:\north\west

3.9 原始字符串

字符串前面加上r或者R变为原始字符串,所见即所得

>>> print(r'c:\north\west')
c:\north\west

3.10 字符串运算一

拼接:+

>>> "hello" + "world"
'helloworld'

重复:*

>>> "hello" * 3
'hellohellohello'    //只能和数字相乘

截取任意字符:[int]

>>> "hello world"[0]
'h'                                 //下标序号从0开始
>>> "hello world"[3]
'l'
>>> "hello world"[-1]
'd'                                  //正数代表获取字符序号,负数代表从末尾数n次得到的字符
>>> "hello world"[-3]
'r'     

3.11 字符串运算二

截取一组字符:[起点:终点的后一位]

>>> "hello world"[0:5]
'hello'
>>> "hello world"[0:-1]
'hello worl'                   //负数表示步长,步长就是一个长度,表示从字符串的末尾往前数1个字符~
>>> "hello world"[2:-3]
'llo wo'

3.12 字符串运算三

输入数字大于其最大值则定义为其最大值

>>> "hello world"[6:30]
'world'

用两种方式截取"hello world"中的“world"
用正数截取:

>>> "hello world"[6:11]
'world'
用负数截取:
>>> "hello world"[6:]
'world'                        //从第6个字符截取到末尾

[int:]代表着截取到最后:

>>> "hello world"[6:]
'world'

[:int]代表着从开始开始截取:

>>> "hello world"[:-5]
'hello '

[负数:]代表从倒数位开始截取到最后:

>>> "hello world"[-4:]
'orld'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值