==# ==变量

  • 在程序的运行过程中,变量值可以发生改变

  • 变量先定义再使用

标识符 命名规范

  • 数字 字母下划线组成
  • 不能以数字开头
  • 不能使用系统关键字
  • 查看关键字:
import keyword #导入库
print(keyword.kwlist)

变量的命名规范:
1. 见名识意
2. 尽量用英文
3. 采用驼峰命名法或者是下划线

num1 = num2 = 20  统一赋值
num1,num2 = 10,20  对称赋值

输入和输出

  • 输出: print() 逗号会输出一个空格 strings=input(提示信息)
    strings就是用户输入的信息被保存

单位换算

1bit

8bit == 1字节

1024字节 == 1M

1024M == 1G

1024G == 1T

计算机存储 0和1

进制间转化

二转十:按次幂乘然后相加

十转二:倒除法 余数逆序相加

八转二:一转3位 八进制的一位相当于二进制的三位

十六转二:一转四位

二转八:三位一取 低位开始取 高位不够补0

二转十六:四位一取


定义常量

标识符全大写

【注】 python中没有严格意义语法规定定义常量,默认使用全大写来定义 常量是在程序的运行过程中其值不可改变的量

数据类型:使用type()获取数据类型

  1. int 整型
  2. float 浮点型
  3. bool 布尔型

python中产生false的情况

False None 空字符串 空列表[] 空字典{} 空元组()

4.complex 复数类型

实数和虚数都是浮点型

函数名 意义
pow 次方
sqrt 开方
max 最大值
min 最小值
random 随机数
round 四舍五入
floor 向下取整
ceil 向上取整

None类型

None是python里面特殊的数据类型,None不是0

出现None类型的是时候 最经常就是函数没有返回值的时候

None和任何的数据类型做比较 返回值都是False

字符串类型

  • 不能使用str做变量名
  • 用单引号和双引号包含起来的就是字符串
  • 双引号中不能使用双引号,单引号里不能使用单引号
  • 加号可以做拼接使用 【注】左右两边都是字符串
  • 乘号可以重复当前字符串
  • 字符串只能通过key取值 不能通过Key来修改值

字符串的下标 截取

索引值(key)开始从0开始 末尾为-1

str[开始位置:结束位置:步长]  步长-1间隔取#截取 str1[开始位置:结束位置]#只取结束位置 默认从0开始取到结束下标#同理只给开始位置
默认从开始位置(包含开始位置的值)取到结束位置#不给值的时候默认取全部#步长为-1时翻转

字符串的转义

转义字符 转义后
\’
\”
\n 换行
\t 水平制表符

字符串的格式化

格式化字符 意义
%s 给字符串占位
%d 给整数占位
%o 以八进制打印
%x 以十六进制进制打印
%10d 十位整数 补空格
%010d 十位整数 补0
%f 给浮点型占位默认是保留6位小数
%.2f 保留两位
%10.2f 一共10位 保留两位 前边用空格补
%010.2f 同上 前边用0补

如果占位原来就有% 那就使用%% 输出一个

使用字符串的【str.format()】格式化输出(映射)

print('阿郎你前女友的名字叫%(name)s,现女友姓名不详性别不详年龄%(age)d,身高不想%(hei)d' % {'hei':160,'name':'nana','age':18})
print('daishu%(name)s,daxiang%(name)s' % {'name':'sdf'})print('{}气冲冲的从{}走出来,{}问你咋啦,袋鼠说{}非要存包'.format('daishu','chaoshi','daxiang','mmp'))print('{2}气冲冲的从{1}走出来,{0}问你咋啦,袋鼠说{2}mmp非要存包'.format('daishu','chaoshi','daxiang'))print('信{name}没坎坷{qianfang}一溜小平坡'.format(name='meili',qianfang='前方'))
关键字 作用 关键字 作用
isnumeric 判断字符串是否是数字 replace 替换
join 以指定的分隔符来分割字符串 find 查找
center 按指定字符填充成一个新的字符串 rfind 从右往左
ljust 左对齐方式填充 upper 大写
rjust 右对齐方式填充 lower 小写
lstrip 删除左边指定字符(空白) index 查找指定字符串的索引值
rstrip 删除右边指定字符(空白) title 每个单词首字母大写
eval 将表达式作为结果计算 strip 删除两边指定字符(空白)
str2 = '12345'print(str2.isnumeric())
str1 = 'hhhh'print(str1.center(10,*))  //***hhhh***
#字符串前加r 防止特殊字符转义str3 = r'c: \user\asdsa''

数据类型

列表类型(有序的数据的集合)

定义:使用[]定义一个列表,列表里面的值可以是

1. 定义一个空列表[]
2. 下标可以读取列标识 classList[0]
3. 也有同字符串的切片截取 eg:classList[:3]
4. 可以通过下标修改值,但不可以越界
5. 列表可以对称赋值 [num1,num2] = [num2,num1]
6. 列表的删改查  del列表元素,对应下标赋值
列表函数名 作用
len 列表,字符串长度
count 统计某个值在列表中出现的次数
extend 列表中追加值
insert 指定位置插入值
pop 将列表最后一个元素弹出
remove 将列表中匹配到指定元素的第一个移除
reverse 将原列表反转
clear 将原列表清空
append 列表添加元素
sort 升序
myList = ['a','b','c']
#列表中追加值
print(myList.extend(['f','g']))
print(myList.insert('w','t'))  #在下标为2的位置插入w,t
print(myList)
结果:['a','b','w','t',c']

在python里 不是以变量名来存储地址 而是以值来存储地址

num = 5
num2 = 5
print(id(num))
print(id(num2))   #以值来存储  所以指向一样
num2 = 10
print(id(num))
print(id(num2))    #num2的值修改后  指向发生改变

浅拷贝(指向是一个地址)

myList = [1,3,4,6]
myList2 = myList
myList2[0] = 'a'
print(id(myList))
print(id(myList2))
print(myList)
print(myList2)#结果:
43484872
43484872
['a', 3, 4, 6]
['a', 3, 4, 6]

深拷贝(字面上真正意义的拷贝)

myList3 = ['a','b','c']
myList4 = myList3.copy()
myList4[0] = '1'
print(id(myList3))
print(id(myList4))
print(myList3)
print(myList4)结果:
43615944
43616136
['a', 'b', 'c']
['1', 'b', 'c']

模块中的copy.copy只拷贝一层 也叫浅拷贝

myList = ['1','a','f']
myList2 = copy.copy(myList)
myList[0] = 'd'
print(id(myList))
print(id(myList2))
print(myList)
print(myList2)结果:
43353800
43353992
['d', 'a', 'f']
['1', 'a', 'f']
myList = ['1','a','f',['df','fg']]
myList2 = copy.copy(myList)
myList[3][0] = 'd'
print(id(myList))
print(id(myList2))
print(myList)
print(myList2)结果:
36079496
36080776
['1', 'a', 'f', ['d', 'fg']]
['1', 'a', 'f', ['d', 'fg']]

深拷贝

myList = ['1','a','f',['df','fg']]
myList2 = copy.deepcopy(myList)
myList[3][0] = 'wwww'
print(myList)
print(myList2)结果:
['1', 'a', 'f', ['wwww', 'fg']]
['1', 'a', 'f', ['df', 'fg']]

【注】Python中,对象的赋值都是进行对象引用(内存地址)传递

【注】浅拷贝会创建一个新的对象,但是,对于对象中的元素,浅拷贝就只会使用原始元素的引用(内存地址)


总结一下,当我们使用下面的操作的时候,会产生浅拷贝的效果:
- 使用切片[:]操作
- 使用工厂函数(如list/dir/set)
- 使用copy模块中的copy()函数


==用法==
1. Python中对象的赋值都是内存地址传递(改一个全改,id相同)
2. 使用copy(),对象不嵌套深拷贝(改哪个变哪个),列表嵌套的话是浅拷贝(改一个全改)
3. 使用copy.copy(),可以进行对象的浅拷贝,它复制了对象,但对于对象中的元素,依然使用原始的引用(内存地址传递).
4. 如果需要复制一个容器对象,以及它里面的所有元素(包含元素的子元素),可以使用copy.deepcopy()进行深拷贝
5. 对于非容器类型(如数字、字符串、和其他’原子’类型的对象)没有被拷贝一说
6. 如果元祖变量只包含原子类型对象,则不能深拷贝

元组

  1. 元组的值不能进行修改
  2. 值为列表时 列表中的值可以修改
  3. 可以根据下标取值 也可以下标切片截取,与字符串和列表相似
  4. 也有+和* 功能相同
  5. del 不可以删除指定下标值 可以直接删除所有
  6. in可以判断值是否存在于元组中

集合 set

  1. 不能用{}来定义一个空的集合 用==set2 = set()== 来定义空集合
  2. 集合元素不重复
  3. 不能使用+和*
myList = [1,3,5,7,7]
print(set(myList))结果:[1,3,5,7]
set1 = {'a','b','c'}
set2 = {'d','e','a','w'}
#差集
print(set1 - set2)
#并集
print(set1 | set2)
#交集
print(set1 & set2)
#不同时存在
print(set1 ^ set2)

字典

  1. 字典类型 是有key->value的形式组成 并且查找速度很快
  2. 定义 {}
dict1 = {'name':'aa','age':1}
classList = {'bb':90,'ww':92}
  1. 下标是由字符串和整数组成
  2. 键值成对出现 下标唯一
通过下标查询
classList['name']
修改
classList['name'] = 'qwe'
删除
del classList['name']
查找
print(classList.get('aa'))   #下标存在  返回值 不存在显示None
classList.keys()  #取出当前字典数据中的所有key
classList.values() #取出当前字典中所有的value
classList.pop(87) #通过key弹出value
字典函数 作用
update 合并字典相同的键覆盖
keys 取出所有key
values 取出当前字典中所有的value
pop 通过key弹出value
get 查询

数据类型转换

str1 = str(10.45) 转字符串
str2 = int('10')  转整型
str3 = float('10') 转浮点型
list() 转成列表
转换函数 作用
bool 转换为布尔类型
int 转换为整数类型
str 转换为字符类型
float 转换为浮点类型
dict 转换为字典类型
set 转换为集合类型
list 转换为列表类型
tuple 转换为元组类型

python笔记(一) 数据类型 函数相关推荐

  1. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)

    文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...

  2. python笔记2(函数 面向对象 文件编程 上下文管理器)

    记录python听课笔记 文章目录 记录python听课笔记 一,函数 1.介绍python里的函数 2.用户自定义函数 3.变量的作用域 4.参数的传递 5.参数的默认值 6.向函数内部批量传递数据 ...

  3. 笨方法“学习python笔记之print()函数end

    在<"笨方法"学习python>中的第7个习题中的用例代码中有print()函数的end用例 代码如下: end1 = "C" end2 = &qu ...

  4. 轩小陌的Python笔记-day13 匿名函数、生成器、内置函数、推导式

    day13 内置函数和推导式 今日概要: 匿名函数 生成器 内置函数 附加:推导式,属于数据类型的知识,内部的高级的用法会涉及到[生成器]和[函数]的内容. 1. 匿名函数 传统的函数的定义包括了:函 ...

  5. python笔记之强制函数以关键字参数传参

    最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...

  6. 轩小陌的Python笔记-day05 数据类型

    day05 数据类型(上) 接下来的3篇的内容都是讲解数据类型的知识点,常见的数据类型: int,整数类型(整型) bool,布尔类型 str,字符串类型 list,列表类型 tuple,元组类型 d ...

  7. 轩小陌的Python笔记-day07 数据类型

    day06 数据类型(下) 常见的数据类型: int,整数类型(整型) bool,布尔类型 str,字符串类型 list,列表类型 tuple,元组类型 dict,字典类型 set,集合类型 floa ...

  8. python笔记之function函数

    函数 函数:对实现某一功能进行封装,就是函数. 特点:提高了代码的复用性 函数的定义: def 函数名称(参数):函数体代码return 返回值 函数的调用:函数名(参数) 函数的参数: 形式参数: ...

  9. python笔记之 inputprintformat函数

    输入与输出(input and print) input():程序执行过程中,接受用户输入的内容 print():程序执行过程中,输出的内容1. 直接输出内容2. 输出多个和单个变量3. 换行和不换行 ...

  10. 初学者python笔记(filter()函数完全详解)

    文章目录 初级版本--普通函数: 改进版本--函数嵌套: 高级版本--匿名函数: 终极版本--filter函数: 在Python中总有些奇奇怪怪的函数,filter就是一个,但是它特别强大和实用,了解 ...

最新文章

  1. 深度学习在小分子药物研发中的应用
  2. DB2锁表或超时解决方案
  3. 图综合练习--拓扑排序_03 数据结构与算法 - 排序
  4. flask 模板 php,Flask四之模板
  5. 实习生解雇_我们解雇了我们的顶尖人才。 我们做出的最佳决定。
  6. LeetCode 954. 二倍数对数组(map计数)
  7. wxpython多线程 假死_wxpython中利用线程防止假死的实现方法
  8. GitHubamp;gitee图床网站源码
  9. Nginx域名重定向
  10. 性能测试学习笔记-如何管理loadrunner的临时文件
  11. Windows下python的配置
  12. Win10:fastboot驱动问题解决方案
  13. c语言表白用代码(1)
  14. phpstudy的基本使用方法
  15. し: make jianjie的文本网页
  16. DispatchQueue (SwiftUI Dispatch 中文手册)
  17. win7计算机图标缩在,win7桌面图标怎么变小?win7桌面图标变小解决方法
  18. Log4j2中RollingFile的文件滚动更新机制
  19. python 批量图片局部高斯模糊(图片水印处理)
  20. Glide控制显示图片上方2个圆角(或4个都是圆角)

热门文章

  1. 雀巢咖啡旗下感CAFÉ推出高端鎏光咖啡;武田剥离中国大陆非核心业务至海森 | 美通企业日报...
  2. 用MSYS2编译diction程序
  3. iOS基础 关于UIKit框架
  4. 2021/10/04 git 详细流程
  5. 如何阻止windows 联网自动激活,避免笔记本无法退货。
  6. 阻止浏览器冒泡和默认行为
  7. 心学与技术-大学之道和尽心知性
  8. 【JavaWeb】JSP:基本语法大全
  9. 灵遁者诗歌集《笔有千钧》下集,魔幻与现实,都很美
  10. __wakeup绕过版本_PHP__wakeup()方法