03 基本数据类型
03 基本数据类型
快捷键
- Ctrl + / 多行注释
- Tab 缩进
- Tab + Shift 反缩进
- Shift + 回车 切换到下一行
- Alt + Enter 识别一些简单的错误
查阅官网 Documentation
- Library Reference-->Built-in Fuctions 函数
- Language Refenrence-->other tokens 关键字
1. ⼏个概念
- 代码块
就是代码的一种分组机制,同一个代码块中要么都执行要么都不执行
代码块以缩进开始
if False:
print('haha')
print(666)
- pass语句
代表的是空语句
作用:主要就是保持程序结构的完整性,一般做占位语句
a=0
if a > 5:
...pass
- 函数
函数 xxx()
方法 yyy.xxx() 特殊的函数,yyy就是代表对象,xxx()代表的是yyy这个对象中方法
import requests
requests.get()
def fn():
......print('heiheihei')
r = fn()
print(r)
1.1表达式
- 表达式
是由数字、算符、数字分组符号(括号)、⾃由变量和约束变量等 以能求得数值的有意义排列⽅法所得的组合 - 表达式特点
表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响
如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出
1.2语句
- ⼀个语法上⾃成体系的单位,它由⼀个词或句法上有关连的⼀组词构成
- 语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果
1.3程序(program)
- 程序就是由⼀条⼀条的语句和⼀条⼀条的表达式构成的。
1.4函数(function)
- 函数就是⼀种语句,函数专⻔⽤来完成特定的功能
- 函数⻓的形如:xxx()
- 函数的分类:
内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不⽐单独书写代码实现它,只需要调⽤既可。
⾃定义函数 : 由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数 - 函数的2个要素
参数: ()中的内容我们称之为参数,可以有参数也可以没有参数,如果有多个参数要用英文逗号隔开
返回值:函数返回的结果,有的函数有返回值,有的函数没有返回值
2.标识符
- Python语言的组成:1.关键字、2.标识符、3.注释、4.变量和数值、5.运算符、6.语句、7.函数、8.序列
2.1关键字
-
python⼀些具有特殊功能的标识符,这就是所谓的关键字关键字,是python 已经使⽤的了,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
2.2标识符概念
- 开发⼈员在程序中⾃定义的⼀些符号和名称。标识符是⾃⼰定义的,如变量名 、函数名等
- 组成:由26个英⽂字⺟⼤⼩写,数字 0-9 符号 _$
- 标识符的规则:
1.标识符中可以包含字⺟、数字、_,但是不能使⽤数字开头
例如: name1 name_1 _name1 1name(不⾏)
2.Python中不能使⽤关键字和保留字来作为标识符 - 命名⽅式
1.驼峰命名法
⼩驼峰式命名法: 第⼀个单词以⼩写字⺟开始;第⼆个单词的⾸字⺟⼤写,例如:myName、aDog
⼤驼峰式命名法: 每⼀个单字的⾸字⺟都采⽤⼤写字⺟,例如: FirstName、LastName
2.下划线命名法
不过在程序员中还有⼀种命名法⽐较流⾏,就是⽤下划线“_”来连接所有 的单词,⽐如 get_url buffer_size
3.基本数据类型
- 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
3.1整数和⼩数
- 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
c = 123_465_798
print(c)
结果:123465798
- ⼩数常量 : 所有⼩数 例如 a = 1.2 b=6.66 ⽤float类型表示
3.2布尔值和空值
- 布尔: 只有2个值⼀个是True ⼀个是False (布尔值也属于特殊的整型:True相当于1,False相当于0)
print(1+True) #True代表的是1
print(2-False) #False代表的是0
while True:
print(1)
<---->等价于
while 1:
print(1)
- 常量:只有⼀个数值就是None 也就是空值
4.变量
4.1变量的概念
- 变量是计算机内存中的⼀块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字。
- 变量命名规则
变量名由字⺟、数字、下划线组成要符合标识符的命名规范
数字不能开头
不能使⽤关键字 - 注意 : 是两个对象相等和两个对象是同⼀个对象是两个概念
s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}
print(id(s1),id(s2))
print(s1==s2) #True
4.2变量的运算
- 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型
5.字符串
5.1什么是字符串
- 字符串是由数字、字⺟、下划线组成的⼀串字符
- 注意
单引号和双引号不能混合使⽤
Python中⽤⼀对双引号或者⼀对单引号包裹的内容就是字符串
5.2转义字符
- 转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
- 总结
- \t 表示制表符
- \n 表示换⾏符
- \ \ 表示反斜杠
- \ ' 表示 '
- \ '' 表示 ''
s1 = '窈窕淑女\t君子好逑'
s2 = '窈窕淑女\n君子好逑'
print(s1,s2)
结果:
1:窈窕淑女 君子好逑
2:窈窕淑女
.....君子好逑
5.3⻓字符串
- ⻓字符串 ⼜叫做⽂档字符串 ⽤三重引号来表示⼀个⻓字符串''' '''
- 三重引号可以换⾏,并且会保留字符串中的格式
s = '关关雎鸠,在河之洲,窈窕淑女,君子好逑'
s = '关关雎鸠,\n在河之洲,\n窈窕淑女,\n君子好逑'
s = '''关关雎鸠,
在河之洲,
窈窕淑女,
君子好逑
'''
5.4格式化字符串
- 第⼀种格式化字符串 拼串
s = 'hello'
print('s = '+ s)
结果:s = hello
- 第⼆种格式化字符串 参数传递
s = 'hello'
print('abc','bcd')
print('s =',s)
结果:
abc bcd
s = hello
- 第三种格式化字符串 占位符
在创建字符串的时候可以在字符串中指定占位符
%s 字符串占位
%f 浮点数占位
%d 整数占位
s1 = 's = %s'%'hello'
s2 = 's = %s,s2 = %s'%('hello','world') # 有几个占位就得有几个对应的值
print(s1)
print(s2)
结果:
s = hello
s = hello,s2 = world
s = '张三 %d岁。%s岁数更大!'%(22,'李四')
print(s)
结果:张三 22岁。李四岁数更大!
- 第四种格式化字符串 f'{变量}'/ str.format()
二者区别:前提有变量的时候,用f'{变量}';没有变量的时候,用str.format,花括号里面为空或者从0、1开始
注:r' ' 意思是r后面当成普通字符串处理即可,例:r'G:/news'(其中/n不是换行符,就是普通字符串)
f'{ }' 里面是个占位符,有个变量,没有f的时候打印的是这个变量字符串,有f之后打印的是变量代表的值
s1 = '钢铁侠'
s2 = '葫芦娃'
s = f'hello {s1},{s2}'
print(s)
结果:hello 钢铁侠,葫芦娃
age = 22
name = '李四'
s = f'张三 {age}岁。{name}岁数更大!'
print(s)
结果:张三 22岁。李四岁数更大!
s = 'i like {0}' #大括号里的索引从0开始
b = s.format('python')
print(b)
结果:i like python
s = 'i like {1},{0}' #0、1次序没有要求
s1 = s.format('美女','美食')
print(s1)
结果:i like 美食,美女
s = '张三 {}岁。{}岁数更大!'
s1 = s.format(22,'李四')
print(s1)
结果:张三 22岁。李四岁数更大!
练习:打印 521 女神 嫁给我好吗?
1、print("521 "+"女神 "+"嫁给我好吗?")
2、print("521","女神","嫁给我好吗?")
3、s="%s,%s,%s"%("521","女神","嫁给我好吗?")
.....print(s)
4、s1="521"
......s2="女神"
......s3="嫁给我好吗?"
......s=f'{s1},{s2},{s3}'
......print(s)
5、s='{},{},{}'
.....s1=s.format("521","女神","嫁给我好吗?")
.....print(s1)
结果:
521 女神 嫁给我好吗?
521 女神 嫁给我好吗?
521,女神,嫁给我好吗?
521,女神,嫁给我好吗?
521,女神,嫁给我好吗?
5.5字符串的其他操作
- len() 字符串的⻓度
print(len('iloveyou12'))
结果:10
- max() 最⼤值 #比较的是字符所对应的ascii值
- min() 最⼩值
c = '1234567'
print(max(c))
print(min(c))
结果:7 1
a = 'Jerry Python'
print(max(a))
print(min(a)) #最小值是空格
结果:y ' '
- split()分割字符串
s = 'i love china'
b = s.split(' ')
print(b)
结果:['i', 'love', 'china']
- join()拼接字符串
str.join() : str 你要分割的方式
b = 'abc' # 以 -的方式来分割字符
result = '-'.join(b)
print(result)
结果:a-b-c
- 去空格
s.strip() 左右两边去空格
s.lstrip() 去左边空格
s.rstrip() 去右边空格
e = ' Python '
print(e.strip())
print(e.rstrip())
结果:Python
.............Python
- 字符串⼤⼩写
s.upper() 全部⼤写
s.lower() 全部⼩写
s.isupper() 判断是不是⼤写
s.islower() 判断是不是⼩写
a = 'python'
print(a.islower())
结果:True