01python入门—变量名和数据类型

变量名

  • 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
  • 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
  • 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
  • 变量名应既简短又具有描述性。例如, name比n好, student_name比s_n好, name_length比length_of_persons_name好。
  • 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

数字

  • 单精度型占4个字节32位的内存空间只能提供七位有效数字
  • 双精度型占8个字节64位的内存空间可提供17位有效数字
  • python3 默认的是17位小数的精度
    int 整型,动态长度
    float 单精度浮点数值
    double 双精度浮点数值
    decimal 精度最高,底层利用字符串实现

字符串

 ' '		" "		''' '''三种
str_test = 'wo shi mxj'
str_test.strip()	移除空白
str_test.split(' ')	以空格分割
len(str_test)	长度
str_test.index[1]	索引
str_test.[0:-1]	切片
+  合并
replace('a', 'b', 10)	a换成b,换10次
isdigit()判断是否是数字
islower()判断是否是全部小写
isupper()判断是否是全部大写
lower()全部转换为小写
upper()全部转换为大写
isspace()判断是否是全都是空格
istitle()判断是否是标题(首字母大写)  
swapcase()大小写字母翻转
  • 字符串格式化
'no data available for person with id: {}, name: {}'.format(id, name)
'no data available for person with id: %s, name: %s' % (id, name))

列表

name_list = ['mxj', 'seven', 'eric']
name_list = list(['mxj', 'seven', 'eric'])
索引	name_list[0]	
追加	name_list.append('mxj')
插入 name_list.insert(2,'hf')
扩展	name_list.extend('hf','girl')
删除	del name_list[1]
		name_list.remove('mxj')
长度	len(name_list)
切片	name_list[0:3]
		name_list[0:]
弹出	name_list.pop()
		name_list.pop(0)
包含	'mxj' in name_list

元组

元组本身是不可变的,但是内部的元素可以是可变类型

  • 对列表和元组,我们放置了相同的元素,但是元组的存储空间,却比列表要少 16 字节。,由于列表是动态的,所以它需要存储起始数据指针,来指向初始元素(例如,对于 int 型,8 字节)。另外,由于列表可变,所以需要额外存储已经分配的长度大小(8 字 节),这样才可以实时追踪列表空间的使用情况,当空间不足时,及时分配额外空间

  • 元组要比列表更加轻量级一些, 所以总体上来说,元组的性能速度要略优于列表。

  • 存储的数据和数量不变,用元组,否则用列表

    创建元祖:
    ages = (11, 22, 33, 44, 55)
    ages = tuple((11, 22, 33, 44, 55))
    索引
    切片
    循环
    长度
    包含

字典

作用:去重,关系运算,传值,取值
定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:
1.每个元素必须是不可变类型(可hash,可作为字典的key)
2.没有重复的元素
3.无序

  • 字典和集合是进行过性能高度优化的数据结构,特别是对于查找、添 加和删除操作。

    person = {“name”: “mr.wu”, ‘age’: 18}
    person = dict({“name”: “mr.wu”, ‘age’: 18})
    索引 person[‘age’]
    键不存在会报错,使用get不会,返回默认值0
    person.get(‘addr’,0)
    新增 person[‘addr’]=’‘wuhan’
    setdefault,键值存在,返回键的值;不存在,为键赋值,返回赋的值
    person.setdefault(‘age’,20)
    删除 del person[0]
    del person[‘addr’]
    键、值、键值对 person.keys person.values person.items
    长度 len(person)

集合

使用set()创建集合
集合并集	|
集合交集	&
集合差集	-
|并集(print(pythons.union(linuxs)))
&交集(print(pythons.intersection(linuxs)))
-差集(print(pythons.difference(linuxs)))
^对称差集(print(pythons.symmetric_difference(linuxs)))

不可变数据类型

数字,字符串,布尔类型,元组

编码

unicode:简单粗暴,多有的字符都是2Bytes,优点是字符–数字的转换速度快;缺点是占用空间大。
UTF-8:精准,可变长,优点是节省空间;缺点是转换速度慢,因为每次转换都需要计算出需要多长Bytes才能够准确表示。

转换

unicode------>encode(编码)-------->utf-8

utf-8---------->decode--------->unicode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值