Python基础-基本数据类型

1. 几个概念

1.1 表达式

  • 定义:由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值
  • 特点:表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响,如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出
  • 意义:给与自由变量一些数值指定,可以给与一个表达式数值,即使对于一些自由变量的值,表示式或许没有定义。因此,一个表达式代表一个函数,其输入为自由变量的定值,而其输出则为表示式因之后所产生出的数值

1.2 语句

  • 定义:⼀个语法上⾃成体系的单位
  • 特点:由一个词或句法上有关连的一组词构成,表达一种主张、疑问、命令、愿望或感叹
  • 意义:语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果

1.3 程序

  • 定义:进行某项活动或过程所规定的途径
  • 特点:由⼀条⼀条的语句和⼀条⼀条的表达式构成的
  • 意义:为解决一个信息处理任务而预先编制的工作执行方案

1.4 函数

  • 函数就是⼀种语句,函数专⻔⽤来完成特定的功能
  • 函数⻓的形如:xxx()
  • 函数的分类:
  • 内置函数:或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不必单独书写代码实现它,只需要调⽤既可
  • ⾃定义函数:由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数
 内置函数表
abs() divmod() input() open() staticmethod()
all() enumerate() int() ord() str()
any() eval() isinstance() pow() sum()
basestring() execfile() issubclass() print() super()
bin() file() iter() property() tuple()
bool() filter() len() range() type()
bytearray() float() list() raw_input() unichr()
callable() format() locals() reduce() unicode()
chr() frozenset() long() reload() vars()
classmethod() getattr() map() repr() xrange()
cmp() globals() max() reversed() zip()
compile() hasattr() memoryview() round() _ import _()
complex() hash() min() set() delattr()
help() next() setattr() dict() hex()
object() slice() dir() id() oct()
  • 函数的2个要素
  • 参数
  • 返回值

2. 标识符

2.1 关键字

  • python⼀些具有特殊功能的标识符,这就是所谓的关键字,是python已经使⽤了的,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
False None True def import
pass for if else elif
and as assert async await
break class continue del except
finally from global in is
lambda nonlocal not or raise
return try while with yield

2.2 标识符

  • 定义:开发⼈员在程序中⾃定义的⼀些符号和名称
  • 组成:26个英⽂字⺟⼤⼩写,数字0-9 ,符号“_” 和 “$”
  • 标识符的规则:
    1.标识符中可以包含字⺟、数字、_,但是不能使⽤数字开头 例如:name1,name_1,_name1, 1name(不⾏)
    2.Python中不能使⽤关键字和保留字来作为标识符
  • 命名方式:
    驼峰命名法:
    ⼩驼峰式命名法: 第⼀个单词以⼩写字⺟开始;第二个单词的⾸字⺟⼤写。
    例如:myName、aDog、lastName
    ⼤驼峰式命名法: 每⼀个单字的⾸字⺟都采⽤⼤写字⺟。
    例如:FirstName、LastName、MyName
    下划线命名法:
    不过在程序员中还有⼀种命名法⽐较流⾏,就是⽤下划线“_”来连接所有
    的单词,⽐如 get_url, buffer_size

3. 基本数据类型

  • 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值

3.1 整数和浮点数

  • 整数:所有整数。 例如 : a = 1 b = 100 c =999 都是int类型
  • 浮点数:即所有⼩数。 例如 a = 1.2 b=6.66 ⽤float类型表示

3.2 布尔值和空值

  • 布尔(bool):只有2个值⼀个是True,⼀个是False(其中True=1,False=0)
  • 空值(None):只有⼀个数值就是None,也就是空值

4. 变量

4.1 变量的概念

  • 变量是计算机内存中的⼀块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字
  • 变量命名规则:
    变量名由字⺟、数字、下划线组成要符合标识符的命名规范
    不能以数字开头
    不能使⽤关键字

4.2 变量的运算

  • 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型

5. 字符串

5.1 什么是字符串

  • 字符串是由数字、字⺟、下划线组成的⼀串字符
  • 注意:
    单引号和双引号不能混合使⽤
    Python中⽤⼀对双引号或者⼀对单引号包裹的内容就是字符串

5.2 转义字符

  • 转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
  • 常用转义字符:
    \t 表示制表符
    \n 表示换⾏符
    \ \ 表示反斜杠
    \ ' 表示单引号
    \ '' 表示双引号

5.3 长字符串

  • ⻓字符串 ⼜叫做⽂档字符串 我们使⽤三重引号来表示⼀个⻓字符串''' '''
  • 三重引号可以换⾏,并且会保留字符串中的格式

5.4 格式化字符串

  • 第⼀种格式化字符串 拼串
  • 第⼆种格式化字符串 参数传递
  • 第三种格式化字符串 占位符
    %s 字符串占位
    %f 浮点数占位
    %d 整数占位
  • 第四种格式化字符串 f'{变量}'/ str.format

5.5 字符串的常用操作

  • len() 字符串的⻓度
  • max() 最⼤值
  • min() 最⼩值
  • 修剪方法:

str.strip( [chars] ) 左右两边去空格 若不指定chars,默认去掉首尾空格或者换行符或者字符序列
str.lstrip() 去左边空格
str.rstrip() 去右边空格

  • 拼接方法:

sep.join(iterable) 以sep作为分隔符,将iterable中所有的元素合并为一个新的字符串

  • 大小写转换方法:

str.upper() 将字母全部转换成大写
str.lower() 将字母全部转换成小写

str.capitalize() 将 首字符 转换成大写,其余字母小写 (即只有一个字母大写,并且是 首字符为字母时才大写 ,否则字母全部小写)
str.title() 将 所有单词的首字母 转换成大写 (即有几个单词就有几个字母大写)
str.swapcase() 将大写转换成小写,小写转换成大写

  • 判断方法:

str.isupper() 判断是不是全部大写
str.islower() 判断是不是全部小写
str.istitle() 判断所有单词首字母是不是全部大写
str.isalnum() 判断是不是由数字或字母组成
str.isalpha() 判断是不是由字母或汉字组成
str.isdigit() 判断是不是全由数字组成
str.isspace() 判断是不是全由空格组成

  • 检索方法:

str.startswith("chars"[,start[,end]]) 判断指定字符串中是否以 chars 开头
str.endswith("chars"[,start[,end]]) 判断指定字符串中是否以 chars 结尾
str.count("chars"[,start[,end]]) 统计指定字符串中 chars 出现的次数
str.find("chars"[,start[,end]]) 查找指定字符串中 chars 第一次出现的索引值 (若未查找到,则返回 -1)
str.index("chars"[,start[,end]]) 查找指定字符串中 chars 第一次出现的索引值 (若未查找到,则直接报错)

  • 替换方法:

str.replace(oldstr,newstr[,count]) 用新的子字符串替换旧的子字符串,若不指定 count 默认全部替换

  • 分割方法:

str.split(["分割符"[,分割次数]]) 通过指定分割符对字符串进行切片,拆分字符串,并返回一个列表 (默认分割空格,\n,\r,\t)
str.splitlines([keepends]) 通过行界符对字符串进行切片,拆分字符串,并返回一个列表 (默认分割\r,\n,\r\n)
str.partition("sep") 从sep出现的第一个位置起,把字符串分成一个三元数组(3个元素的元组) (若未找到sep,则返回 字符本身两个空格 组成的三元数组)
str.rpartition("sep") 从sep出现的最后一个位置起,把字符串分成一个三元数组(3个元素的元组) (若未找到sep,则返回 两个空格字符本身 组成的三元数组)

实例1
s="人生 苦\t短,\n我用\rPython"
print(s.split())                #运行结果['人生', '苦', '短,', '我用', 'Python']
print(s.splitlines())           #运行结果['人生 苦\t短,', '我用', 'Python']
s1="爱魔方 爱Python 因为热爱 所以执着"
print(s1.split("爱",2))         #运行结果['', '魔方 ', 'Python 因为热爱 所以执着']

实例2
s2="123456789125"
print(s2.partition("56"))       #运行结果('1234', '56', '789125')
print(s2.partition("1"))        #运行结果('', '1', '23456789125')
print(s2.partition("15"))       #运行结果('123456789125', '', '')
print(s2.rpartition("56"))      #运行结果('1234', '56', '789125')
print(s2.rpartition("1"))       #运行结果('123456789', '1', '25')
print(s2.rpartition("15"))      #运行结果('', '', '123456789125')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339