变量
标识符命名规则:
1.标识符名字的第1个字符必须是字母或下划线(_)
2.标识符名字的第1个字符后面可以由字母、下划线或数字(0~9)组成
3.标识符名字是区分大小写的。
Python的变量不需要声明,可以直接使用赋值运算符对其进行赋值操作,根据所赋的值来决定其数据类型。
变量与变量之间的赋值操作不会改变变量的地址,对一个变量重新定义会改变变量的地址。
str1 ="这是一个变量"
print("变量str1的值是:"+str1)
print("变量str1的地址是:%d" %(id(str1)))
print("\n")
str2 = str1
print("变量str2的值是:"+str2)
print("变量str2的地址是:%d" %(id(str2)))
print("变量str1的值是:"+str1)
print("变量str1的地址是:%d" %(id(str1)))
print("\n")
str1 ="这是另一个变量"
print("变量str1的值是:"+str1)
print("变量str1的地址是:%d" %(id(str1)))
print("变量str2的值是:"+str2)
print("变量str2的地址是:%d" %(id(str2)))
数据类型
Python的数据类型包括简单数据类型、列表、元组、字典和集合
1.转换为数字
int(X)强行转换
c ="(1+2)/3"
print(eval(c)) 直接得出计算结果
2.转换为字符串
str(x) 强转
rear(obj) 将对象转换为可打印字符串
chr(整数) 将一个整数转换为可对应ASCII码的字符
ord(字符) 将一个字符转换为对应的ASCII码
hex(整数) 将一个整数转换为一个十六进制字符串
oct(整数) 将一个整数的转换为一个八进制字符串
列表
列表是一组有序存储的数据
定义列表:languagelist = ['C++','C#','Java','Python']
print(languagelist) 直接打印列表名
len(languagelist) 获取列表长度
languagelist[1] 访问列表元素
languagelist.append(2) 添加列表元素
languagelist.insert(1,'JavaScript') 在指定位置插入元素
languagelist1.extend(languagelist2) 将一个列表2中的每个元素添加到列表1中
languagelist = languagelist1 + languagelist2 合并两个列表,不会改变原有的列表元素
languagelist.index('C#') 定位元素的位置,如果不存在,会报异常
for i in range(len(languagelist)):
print(languagelist[I]) 遍历列表元素
同时遍历列表的元素索引和元素值
for index,valuein enumerate(languagelist):
print("第%d个元素值是【%s】" %(index,value))
list.sort()#升序
list1.reverse()#降序
listarr1 =range(11,20) 产生一个递增列表
元组
1.一经定义,元组的内容不能改变
2.元组元素可以存储不同类型的数据,可以是字符串、数字、甚至是元组
3.元组元素由圆括号括起来
eg: t = (1,2,3,4)
其他与列表相似
因为元组的内容不能改变,所以元组没有sort()函数。可以将元组转换为列表,然后再对列表进行排序,最后将排序后的列表赋值给元组
l =list(t) 元组转列表
t =tuple(l) 列表转元组
字典
dict = {'name':'xiaoming','sex':'man','age':'18'}
len(dict) 获取字典长度
dict['name'] 访问字典元素
dict['score'] ='100' 添加字典元素
dict1 = {'teacher':'wang'}
dict.update(dict1) 合并两个字典
dict.pop('teacher') 删除字典元素
#判断字典中是否存在元素
if 'name' in dict:
print(dict['name'])
else:
print('不包含键位name的元素')
dict1 = {'name':dict} 字典的嵌套
dict1.clear() 清空字典
dict1 = {'name':dict} 字典的嵌套
集合
s =set('python')
类型是set,元素是无序的
fs =frozenset('python') 创建不可变集合
类型是frozenset,元素是无序的
#访问集合元素
for iin fs:
print(i)
s.add('1') 添加集合元素
s =set([1,2,3,4])
s.update([4,5,6,7]) 添加多个集合
s.remove(1) 删除集合元素
s.clear() 清空集合所有元素
#判断集合是否存在元素
s =set('python')
if 'p' in s:
print('exist')
else:
print('not exist')
s = s1 | s2 集合的并集
s = s1.union(s2)
s = s1 & s2 集合的交集
s = s1.intersection(s2)
s = s1 - s2 集合的差集
s = s1.difference(s2)
s = s1 ^ s2 集合的对称差分
s = s1.symmetric_difference(s2)
运算符和表达式
** 幂运算符
*= 幂赋值
^ 异或运算
~ 非运算。0取非运算的为1,1取非运算为0
and 相当于 &
or 相当于 |
not 非运算符
字符串运算符
+ 字符串连接
* 重复输出字符串
[] 获取字符串中指定索引位置的字符
[start,end] 截取字符串中的一部分,从索引位置start开始到end结束
in 成员运算符,如果字符串中包含给定的字符则返回true
not in 成员运算符,如果字符串中不包含给定的字符串则返回true
r 或者 R 指定原始字符串。原始字符串是指所有的字符串都是直接按照字面的意思来使用,没有转义字符、特殊字符或不能打印的字符。原始字符串中的第一个引号前加上字母"r"或"R"
网友评论