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

参考:

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

  • Hellobi Live | 1小时破冰入门Python

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

  • Python进阶系列连载(1)——那些容易被忽略的问题(上)

  • 《简明python教程》

Note:

  • 更多连载请查看【python】

文章目录

  • 1 基本数据类型
    • 1.1 数字
      • 1.1.1 整数(int)
      • 1.1.2 浮点数(float)
      • 1.1.3 布尔值(bool)
      • 1.1.4 复数(complex)
      • 1.1.5 进制
    • 1.2 字符串
      • 1.2.1 基本介绍
      • 1.2.2 注释
      • 1.2.3 转义字符
      • 1.2.4 字符串方法
        • 1)字符串长度(len)
        • 2)字符串连接(+)
        • 3)字符串索引
        • 4)字符串切片
        • 5)字符串常用BIF
      • 1.2.5 字符串 not support item assignment
  • 2 一些例子
    • 2.1 交换变量
    • 2.2 判断两个字符串是否 anagram
    • 2.3 字符串倒转
    • 2.4 大写第一个字母
    • 2.5 项目文件事先做好归档


  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.
【python】基本数据类型(1)_第1张图片

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’)
【python】基本数据类型(1)_第2张图片

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

1.1.2 浮点数(float)

type(233.0)

  float

isinstance(233,float)

  False

isinstance(233.0,float)

  True
【python】基本数据类型(1)_第3张图片

1.1.3 布尔值(bool)

  有 True 和False 两种

a = True
type (a)

  bool

b = False
type (b)

  bool
【python】基本数据类型(1)_第4张图片
压缩,把布尔值去掉!eg,去掉 False,None,0,""

alist = ["0",0,"False",False,"None",None,1,2,3,""]
print(list(filter(bool,alist)))

output

['0', 'False', 'None', 1, 2, 3]

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
【python】基本数据类型(1)_第5张图片

1.1.5 进制

  二进制0b(数字0,字母b)0B也可以;
  八进制0o(数字0,字母o)0O也可以;
  十六进制0x(数字0,字母x)0X也可以;
  十进制,输入默认为十进制
【python】基本数据类型(1)_第6张图片

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

报错,SyntaxError: invalid syntax

进制之间转换的BIF(内置函数)如下:
【python】基本数据类型(1)_第7张图片
【python】基本数据类型(1)_第8张图片

那么其它进制如何转为10进制呢?
【python】基本数据类型(1)_第9张图片

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
【python】基本数据类型(1)_第10张图片

  字符串中,有引用一句话的时候,要注意,单双引号的嵌套使用。如果按照第一行的代码,系统会根据引号匹配,而无法识别Hi,Kobe!这段内容。
【python】基本数据类型(1)_第11张图片

1.2.2 注释

  单行注释, 用 # 表示。
【python】基本数据类型(1)_第12张图片

  多行注释,用三个单引号或三个双引号。
【python】基本数据类型(1)_第13张图片
【python】基本数据类型(1)_第14张图片

1.2.3 转义字符

【python】基本数据类型(1)_第15张图片

   \t,横向制表符,空出四个空格
【python】基本数据类型(1)_第16张图片
Note:python 中一个:也相当于一个table

  \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
【python】基本数据类型(1)_第17张图片

  2.再加一个反斜线
【python】基本数据类型(1)_第18张图片

1.2.4 字符串方法

1)字符串长度(len)

【python】基本数据类型(1)_第19张图片

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

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

2)字符串连接(+)

  用+号就可以了。
【python】基本数据类型(1)_第20张图片

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) #可查看使用说明

【python】基本数据类型(1)_第21张图片

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

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

eg:find():可以在字符串中查找子串是否存在:如果找到,返回的是子串的起始索引位置,当找不到子串时,返回 -1,也可以指定找的起始索引

s = 'bryant is my brother'
print(s.find('bryant'))
print(s.find('brother'))
print(s.find('is'))
print(s.find('is',7))
print(s.find('is',8))

output

0
13
7
7
-1

1.2.5 字符串 not support item assignment

string = 'bryant'
string[0] = 'e'

output

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-4294ee8688a9> in <module>()
      1 string = 'bryant'
----> 2 string[0] = 'e'

TypeError: 'str' object does not support item assignment

用切片加组合的方式修改

string2 = 'e'+string[1:]
string2

output

'eryant'

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 you'
a [::-1]

output 'uoy evol i'

法三

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

2.4 大写第一个字母

s = "bryant"
print(s.title())

output

Bryant

更一般的方法

s = "byant"
print(s[0].upper()+s[1:])

output

Bryant

小写的话把 upper 换成 lower 就可以了

2.5 项目文件事先做好归档

来自 分享8点超级有用的Python编程建议
【python】基本数据类型(1)_第22张图片

很多人喜欢直接用绝对路径但如果代码共享给其他人学习或者运行,很多情况下都不能直接跑通,建议使用相对路径!


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

你可能感兴趣的:(Python)