【python】基本数据类型(1)

参考 Python从零开始系列连载,by 王大伟 Python爱好者社区

参考 Hellobi Live | 1小时破冰入门Python

参考 《简明python教程》

参考 《小甲鱼零基础入门学python》

Note: 更多连载请查看【python】



  Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种广泛使用的高级编程语言,属于通用型编程语言,由Guido van Rossum 创造,第一版发布于 1991 年。作为一种解释型语言,Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比 C++ 或 Java,Python 让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了

  与 Scheme、Ruby、Perl、Tcl 等动态类型编程语言一样,Python 拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。

  Python 虚拟机本身几乎可以在所有的操作系统中运行。Python 的官方解释器 CPython,用 C语言 编写,是一个由社区驱动的自由软件,目前由 Python软件基金会管理。(节选自维基百科)

  工欲善其事必先利其器,磨刀不误砍柴工,python是一个不错的冲浪板,让你驰骋AI的浪潮。Let’s get start it.
这里写图片描述

扫描二维码关注公众号,回复: 4974515 查看本文章

1 基本数据类型

1.1 数字

1.1.1 整数(int)

type(233) #查看变量类型

  int

isinstance(233,int) # 查看变量是否是猜测类型 isinstance(变量,猜测类型)

  True

isinstance(233.0,int)

  False

6**666 # 6的666次方

  177309806357755465270499427328598301776288968306075410151885112575756027539778209314850999852445333091203575172280395689214341071142311799945944795749206487224435664711586155446695783530381869261940579191212338095792283942630165267180235014754878622816388898950208360661204545460054710039966583620720703499070583619219756147969379415147383218476051784215338153642534248184239668587526354555162441056191517103281698310461707618482703994245002903843491150719636915674602477294467393397773059407237966516507939097024659456

type (6**666)

  int

  可见python中int的范围很广,但float范围就没有这么大了

6.0**666 #浮点数 溢出错误

  就会报错,OverflowError: (34, ‘Numerical result out of range’)
这里写图片描述

  我用的是Anaconda 里面的 jupyter notebook编译的。下载地址:清华大学开源软件镜像站(去官网下载比较慢),更换主题请参考:Jupyter更换主题和扩展包

1.1.2 浮点数(float)

type(233.0)

  float

isinstance(233,float)

  False

isinstance(233.0,float)

  True
这里写图片描述1

1.1.3 布尔值(bool)

  有 True 和False 两种

a = True
type (a)

  bool

b = False
type (b)

  bool
这里写图片描述

1.1.4 复数(complex)

1+1j #复数

  (1+1j)

type(1+1j)

  complex

1+j

  报错,NameError: name ‘j’ is not defined

(1314+520j).real #复数的实部

  1314.0

(1314+520j).imag #复数的虚部

  520.0
这里写图片描述

1.1.5 进制

  二进制0b(数字0,字母b)0B也可以;
  八进制0o(数字0,字母o)0O也可以;
  十六进制0x(数字0,字母x)0X也可以;
  十进制,输入默认为十进制
这里写图片描述

0b100.0 # 二进制只能出现1 0

报错,SyntaxError: invalid syntax

进制之间转换的BIF(内置函数)如下:
这里写图片描述

1.2 字符串

1.2.1 基本介绍

  字符串是一串字符,用‘字符串’或者“字符串”表示。

type (‘I love Kobe Bryant!’)

  str

‘I love Kobe Bryant!’ # 使用单引号的字符串

  ‘I love Kobe Bryant!’

“I love Kobe Bryant!”#使用双引号的字符串

  ‘I love Kobe Bryant!’

  但是如果一边用单引号‘一边用双引号‘’,就会报错。eg:

'I love Kobe Bryant!"

  报错: SyntaxError: EOL while scanning string literal
这里写图片描述

  字符串中,有引用一句话的时候,要注意,单双引号的嵌套使用。如果按照第一行的代码,系统会根据引号匹配,而无法识别Hi,Kobe!这段内容。
这里写图片描述

1.2.2 注释

  单行注释, 用 # 表示。
这里写图片描述

  多行注释,用三个单引号或三个双引号。
这里写图片描述
这里写图片描述

1.2.3 转义字符

这里写图片描述

   \t,横向制表符,空出四个空格
这里写图片描述

  \n,换行

print(‘I\nlike Kobe!’) # \n,换行

  I
  like Kobe!

  \b 退格,即往前删除一格

print(‘I\blike Kobe!’) # \b 退格,即往前删除一格

  like Kobe!

print(‘We\blike Kobe!’)

  Wlike Kobe!

  ’ 表示单引号,这样就可以用同种引号,解决上次引用问题了
这里写图片描述

  可以采用两种方法让转义字符失效:

  1.字符串前面加r
这里写图片描述

  2.再加一个反斜线这里写图片描述

1.2.4 字符串方法

1)字符串长度

这里写图片描述

  从上述例子可以看出,python中空格为1个字符,汉字为一个字符,转义字符\t,\b,\r占一个字符。

'' #空字符
' ' #一个字符

2)字符串连接

  用+号就可以了。
这里写图片描述

3)字符串索引

string = 'Kobe Bryant'  #注意是从0开始编号
len(string)

  11

print(string[0],string[5])

  K B

#负数表示倒数第几个
print(string[-1],string[-4])

  t y

string[11]  #超出范围

  报错 IndexError: string index out of range

4)字符串切片

   注意切片选项的最后一个位置取不到,左闭右开区间[a, b)

string = 'Kobe Bryant'
len (string)

   11

string[1:4]#第1个位置切到第3个位置

   ‘obe’

string[1:8:2]#第1个位置切到第8个位置,步长为2

   ‘oeBy’

string[1:]#第1个位置切到最后

   ‘obe Bryant’

string[::]#切出所有

   ‘Kobe Bryant’

string[::2]#步长为2,切所有

   ‘Kb rat’

string[::-1]#逆序字符串

   ‘tnayrB eboK’

string[:4]#切到第4个,0,1,2,3

   ‘Kobe’

string[11:]#起始位置越界,返回了空字符串

  ‘’

string[:11]#结束位置越界,返回整个字符串

   ‘Kobe Bryant’

5)字符串常用BIF

  BIF 就是Built-in-Functions,内置函数。为了方便程序员快速编写脚本程序(脚本就是要编程速度快快快!!!),Pyhton提供了非常丰富的内置函数,我们只需要直接调用即可,例如print()的功能就是“打印到屏幕”,input()的作用是接收用户输入。

dir(__builtin__) #输出中,小写的都是BIF,查看内置函数

输出有152个

help(BIF) #可查看使用说明

这里写图片描述

str.split(str="", num=string.count(str)).

str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。

2 一些例子

2.1 交换变量

一种常规的方法是用一个临时变量

a,b = 5,10
print(a,b)
tmp = a 
a = b
b = tmp
print(a,b)

output

5 10
10 5

python有更简洁的写法

a,b = 5,10
print(a,b)
a,b = b,a
print(a,b)

output

5 10
10 5

2.2 判断两个字符串是否anagram

anagram:相同字母异序词,易位构词,变位词。eg:abc,bca,acb,可以用from collections import Counter

from collections import Counter
str1 = 'abc'
str2 = 'bca'
Counter(str1)==Counter(str2)

output

True

2.3 字符串倒转

法一,用 reversed

a = '12345'
for char in reversed(a):
    print(char,end='')

output 54321

法二,a[::-1],列表也同样适用

a = 'i love swx'
a [::-1]

output 'xws evol i'

法三

更多的字符串内置函数请看
Python 字符串


Note: 更多连载请查看【python】

猜你喜欢

转载自blog.csdn.net/bryant_meng/article/details/78855162