我的python之路(三):什么是代码与python的基本类型+字符串

3.1 什么是代码?

1、什么是代码

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

2、什么是写代码

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

注:Python源代码的注释有两种方式,分别是单行注释和多行注释:

  • Python使用#号表示单行注释的开始,跟在#号后面直到这行结束为止的代码都将被解释器忽略。单行注释就是在程序中注释一行代码,在Python程序中将#号放在需要被解释的内容之前就可以了。
  • 多行注释是指一次性将程序中的多行代码注释掉,在Python程序中使用三个单引号或三个双引号将注释的内容括起来
>>>  #这是一行简单的注释
>>> print("hello world")
hello world

 

3.2 python 数字:整形与浮点型

number:数字(整数、小数)

在Python中:整数用int 表示;浮点数用float表示。

其他语言中浮点数还有单精度与双精度的划分:单精度(float)、双精度(double),双精度比单精度精度要高,但在python中,没有这种划分,python的浮点数就是双精度。

其他语言中整数有:short ,int , long的划分,Python没有。

用type 函数可以看出这个数字属于哪一类:

>>> type(1)
<class 'int'>
>>> type(-1)
<class 'int'>
>>> type(1.1)
<class 'float'>
>>> type(1.111111)
<class 'float'>
>>> type(1+1.0)
<class 'float'>
>>> type(1+0.1)
<class 'float'>
>>> type(1+1.0)
<class 'float'>
>>> type(1*1)
<class 'int'>
>>> type(1*1.0)
<class 'float'>
>>> type(2/2)
<class 'float'>注意

补充:单斜杠“/”与双斜杠“//”的区别

单斜杠是除法,是自动的转成浮点数,双斜杠是整除

>>> 2/2
1.0
>>> 2//2
1
>>> 1/2
0.5
>>> 1//2
0

 

3.3 10、2、8、16进制

10进制,2进制,8进制,16进制

比如表示数字10,在不同的进制里python如何区分?

如何在不同的进制之间做转换?

1、在python里表示二进制需要在二进制的数字前面加上:0b,例如二进制10,11用二进制表示后,敲回车键自动转化为十进制:

>>> 0b10
2
>>> 0b11
3

2、在python里表示八进制需要在八进制的数字前面加上:0o,例如八进制10,11用八进制表示后,敲回车键自动转化为十进制:

>>> 0o10
8
>>> 0o11
9

3、在python里表示十六进制需要在十六进制的数字前面加上:0x,例如十六进制10,1F用十六进制表示后,敲回车键自动转化为十进制:

>>> 0x10
16
>>> 0x1F
31

注:以上默认为由其他进制转化为十进制,那么若是其他的进制该如何转化呢?

1、向二进制转换:利用函数bin():

>>> bin(10)
'0b1010'
>>> bin(0o7)
'0b111'
>>> bin(0xE)
'0b1110'

2、向十进制转换:利用函数int():

>>> int(0o111)
73
>>> int(0b111)
7
>>> int(0o77)
63

3、向十六进制转换:利用函数hex():

>>> hex(888)
'0x378'
>>> hex(0o777)
'0x1ff'

4、向八进制转换:利用函数oct();

>>> oct(0b111)
'0o7'
>>> oct(0x777)
'0o3567'

3.4 布尔类型与复数

bool布尔类型:表示真、假

complex复数

对于bool类型,可以用type函数来看一下True以及False归为哪一类:bool;可以用int函数把True和False转化为十进制数字:可以看到true为1;false为0。

>>> True
True
>>> False
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呢?不是这样的!

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

以上事例表明了只要是非零数值表示的就是布尔真,只有零表示的是布尔假,二进制同样如此:

>>> bool(0b01)
True
>>> bool(0b0)
False

并不是只有数字才能代表布尔类型,或者是只有数字才能与布尔类型之间做一个转化,比如字符串、列表:

>>> bool('abc')
True
>>> bool('')
False
>>> bool([1,2,3])
True
>>> bool([])
False
>>> bool({1,1,1})
True
>>> bool({})
False

>>> bool(None)
False

零、空值都会被认为是false.

3.5 字符串

  • 变量

    简单的说,变量就是编程中最基本的存储单位,变量会暂时性地储存你放进去的东西。正如每个人都有姓名一样,变量的名字叫做标识符。

对于answer=42,其中answer叫做标识符;“=”为赋值符;42为其值。

    例如a=12,这样就完成了a的赋值,回车换行输入“a”,再回车后,赋值的结果为12。需要注意的是,Python对大小写敏感,也就是说“a”和“A”会是两个不同的变量,而不是同一个。

  • 字符串

    字符串(String),是由零个或多个字符组成的有限串行,一般记为s=a[1]a[2]...a[n]。就是“任何在这双引号之间的文字”,;'单引号和双引号完全一样';'''三个引号被用于过于长段的文字或者是说明,只要三引号不完,你就可以随意换行写下文字'''

    注:为什么会有单引号和双引号两种形式呢?比如说,字符串let's go,若用单引号则会出错,必须用双引号!

    字符串的本质是:字符序列。Python的字符串是不可变的,我们无法对原字符串做任何修改,但可以将字符串的一部分复制到新创建的字符串中,达到“看起来修改的效果”。Python不支持单字符类型,单字符也是作为一个字符串使用的。 

      在print后面,打印的都是字符串。注:是双引号里面的是字符串,引号不是字符串的组成部分,他是在告诉计算机,它里面包裹着的是一个字符串。也就是说在Python中,通常用一对双引号或者单引号来包裹一个字符串。或者说,要定义一个字符串,就用双引号或者单引号。

      但这里有一个问题,如果我要把下面这句话:小明说“我没有烧圆明园”;what's your name?看做一个字符串,应该怎么做?

      这里需要利用转义符\ .

      本来双引号表示包括字符串,他不是字符串的一部分,但是如果前面有转义符,那么他就失去了原来的含义,转化成字符串的一部分,相当于一个特殊字符了。 

>>> "小明说:\"我没有烧圆明园\""
'小明说:"我没有烧圆明园"'

>>> 'what\'s your name'
"what's your name

      另外,双引号和单引号还可以相互嵌套,双引号包裹单引号,则单引号是字符;单引号包裹双引号,则双引号是字符。

  • 使用方法修改字符串的大小写

      对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写。具体操作是在变量后面加上.title(),其作用是将每个单词的首字母都改为大写,例如:

>>> name="ada lovelace"
>>> print(name.title())
Ada Lovelace

   其中,在name.title()中,name后面的句点.让Python对变量name执行方法title()指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作,这种信息是在括号内提供的。函数title()不需要额外的信息,因此他后面的括号是空的。

   另外还有几个函数对字母进行大小写改变,比如:.upper()可以将字符串改为全部大写;.lower()可以将字符串全部改为小写,用法与.title()一样。

  • 合并(拼接)字符串(字符串的运算)

  对数字,有一些简单的操作,比如四则运算:3+5,就计算出为8。那么对于字符串来说会有一些变化:

>> 'py'+'thon'
'python'

 

>>> 'hello'*3
'hellohellohello'
>>> "hello"[0]
'h'
>>> "hello"[3]
'l'

 

>>> "hello"[0:4]
'hell'
>>> "hello"[0:5]
'hello'
"hello"[0:-1]
'hell'
>>> "hello world"[6:11]
'world'
>>> "hello world"[6:-1]
'worl'
"hello world"[6:]
          
'world'

 

注:字符串与数字的连接不能使用加号,否则会提示:cannot concatenate 'str' and 'int' objects.但有三种其他的方法可以连接数字与字符串”,如下例(其中a=1898;b="free"为字符串。)

  • print b+`a`    (注意,``不是单引号,是反引号,是键盘上面上面数字1前面的符号)
  • print b+str(a)   (str(a)实现将整数对象转化为字符串对象)
  • print b+repr(a)   (repr与第一种方法是一致的,它是一个函数)

  求职时,面试官可能会问他们的区别:首先repr()和``是一致的,不用区别;主要是区别repr()和str,一个最简单的区别就是:repr是函数,str是跟int一样,一种对象类型。

  • 使用制表符或换行符来添加空白
  1. \n   换行符
  2. \'    单引号
  3. \t    横向制表符

       在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。可以使用空白来组织输出,以使其更易读。

       要在字符串中添加制表符,可使用字符组合\t,例如:

print('\tPython')
    Python

   要在字符串中添加换行符,可使用字符组合\n:

>>> print('language:\nPython\nC\nJavaScript')
language:
Python
C
JavaScript

  还可在同一个字符串中同时包含制表符和换行符,字符串“\n\t”让Python换到下一行,并在下一行开头添加一个制表符,比如:

print('language:\n\tPython\n\tC\n\tJavaScript')
language:
    Python
    C
    JavaScript

  那么问题来了,我如何在python中输出hello \n world呢?要求这个反斜杠n不会消失:

print('hello \n world')
hello 
 world
>>> print('hello \\n world')
hello \n world

  那么他的作用是什么呢?有时候我们会输出一个文件夹的路径,但里面有时候会有\n,python会把他自动的识别成转义符。

>>> print('c:\\northwind\\northwest')
c:\northwind\northwest
>>> #另一种方法是在前面加r',这样后面的字符串就不是一个普通字符串了,而是一个原始字符串
>>> print('c:\northwind\northwest')
c:
orthwind
orthwest
>>> print(r'c:\northwind\northwest')
c:\northwind\northwest

 

  • 删除空白

  Python能够找出字符串开头和末尾多余的空白,要确保字符串末尾没有空白,可使用方法rstrip()。

>>> favorite_language='python '
>>> favorite_language
'python '
>>> favorite_language.rstrip()
'python'
>>> favorite_language
'python '

  储存在变量favorite_language中的字符串包含多余的空白,在终端会话中向Python询问这个变量的值时,可看到末尾的空格,对变量favorite_language调用rstrip()后,这个多余的空格就被删除了,但是这种删除只是暂时的,接下来再次询问favorite_language的值时,这个字符串与输入时一样,依然会有多余的空白。

 

      要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中:

 

       因此,为删除字符串中的空白,需要将其末尾的空白删除,再将结果存回到原来的变量中。

       还可以剔除字符串开头的空白,或者剔除字符串两端的空白,为此可分别使用方法lstrip()和strip()。

 

转载于:https://www.cnblogs.com/haohanTL/p/10800401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值