python入门-day2之变量和数据类型

一.变量的赋值和特性

变量的赋值
name='weixu' #人的名字
age=24  #人的年龄
变量的特性

#1、id
反应的是变量在内存中的唯一编号,内存地址不同id肯定不同

#2、type
变量值的类型

#3、value
变量值
print(id(name),type(name),name)
1961923031648 <class 'str'> weixu

二.基本数据类型

2.1 数字类型

#1. int整型
age=18
print(id(age)) # 1714796128
print(type(age)) # int
print(age)  # 18
用来表示人的年龄,出生年份

#2.  float浮点型
height=171.1
print(id(height)) # 2407302959488
print(type(height)) # float
print(height) # 171.1
用来记录人的身高,体重

#3. 数字类型的使用
a = 1
b = 2

a + b # 加
b - a # 减
a * b # 乘
a / b # 除
a // b # 取整除
a % b # 取余
a ** b # 幂

#4.数字类型转换
a = '123'
print(type(a)) # str字符串类型
b = int(a)
print(b, type(b)) #int数字类型

#5.进制转换
print(bin(5)) #二进制
print(oct(5)) #八进制
print(hex(5)) #十六进制
#其他进制转换成10进制
print('其他进制数字',多少进制)

2.2字符串类型str

#1. 定义
用单引号、双引号、多引号,都可以定义字符串
name='weixu'
xixi='''
hello
world!
'''

#2. 按索引取值
msg='hello xixi'
#    0123456789  索引序号
print(f'索引为6:{msg[6]}')
print(f'索引为-3:{msg[-3]}')
索引为6:x
索引为-3:i

#3.切片
print(f'切片3-8,步长为2:{msg[3:8:2]}')
print(f'切片-5--2:{msg[-5:-2:1]}')
print(f'切片-2--5:{msg[-2:-5:-1]}')
print(f'切片所有:{msg[:]}')
print(f'反转所有:{msg[::-1]}')
切片3-8,步长为2:l i
切片-5--2: xi
切片-2--5:xix
切片所有:hello xixi
反转所有:ixix olleh

#4.循环
for i in msg:
    print(i)

#5.移除空白strip() 只能移除开头和结尾的字符
love='  nick handsome   '
print(love.strip())
hate='***!!!!nick handsome-----***'
print(hate.strip('-*!'))
print(hate.strip(''))
nick handsome
nick handsome
***!!!!nick handsome-----***

#6.切割split
print(hate.split())
print(hate.split('!'))
print(hate.split('!',2)) # 以!为分割符,分割2次
['***!!!!nick', 'handsome-----***']
['***', '', '', '', 'nick handsome-----***']
['***', '', '!!nick handsome-----***']

#7.成员运算in和not in
print('*' in hate)
print('$' not in hate)

#8.长度len
print(len(love))

#9.类型转换
print(type(str([1,2,3]))) #列表转换成字符串
  • 需要掌握技巧
#1.strip, lstrip, rstrip
str = '***weixu***'
print(str.strip('*')) # 移除左右两边指定的字符
print(str.lstrip('*')) # 移除左边指定字符
print(str.rstrip('*')) # 移除右边指定字符

#2.lower(),upper()
str1 = 'My nAme iS TOny!'
print(str1.lower()) # 将英文字符串全部变成小写
print(str1.upper()) #将英文字符串全部变成大写

#3.startswith,endswith
str2='weixu xixi'
print(str2.startswith('w')) # 判断字符串是否以括号内指定字符开头,返回布尔值true或false
print(str2.endswith('xixi')) # 判断字符串是否以括号内指定字符结尾,返回布尔值true或false

#4.格式化输出format
str4 = 'my name is {},my age is {}!'.format('weixu', 24)
print(str4)
str5 = 'my name is {0},my age is {1}!'.format('weixu', 24)
print(str5)
str6 = 'my name is {name},my age is {age}!'.format(age=24, name='weixu')
print(str6)

#5.split,rsplit
str7='a/b/c/d/e'
print(str7.split('/')) # 以/为分割符
print(str7.split('/',2)) # 以/为分割符,分割2次 
print(str7.rsplit('/',3)) # 从右往左分割,/为分割符,切割3次

#6.join
print('#'.join('hello')) # # 从字符串'hello'中取出多个字符串,然后按照%作为分隔符号进行拼接

#7.replace
#用新的字符替换旧的字符
str='my name is weixu,my age is 24!'
str=str.replace('24','18')
print(str)
#指定替换个数
str=str.replace('my','MY',1)
print(str)

#8.isdigit
# 判断字符是否是纯数字,返回布尔类型
str='2384294'
print(str.isdigit()) # True
str='df44323'
print(str.isdigit()) # False
  • 了解操作
# 1.find,rfind,index,rindex,count
msg='weixu say baibai'
msg='weixu say baibai'
print(msg.find('i',0,4))
 # 从索引0-4中找i,找到返回索引号,找不到返回-1
print(msg.rfind('i')) # 从右找i
print(msg.index(i)) # 找不到报错
print(msg.rindex(i)) # 从右找,找不到报错
print(msg.count('b')) # 计数

# 2.center,ljust,rjust,zfill
name = 'weixu'
print(name.center(20,'-')) # 总宽度为20,字符串居中,其他用-填充
print(name.ljust(20,"*")) # 总宽度20,字符串左对齐,其他用*填充
print(name.rjust(20,'*')) # 总宽度20,字符串右对齐,其他用*填充
print(name.zfill(20)) # 总宽度20,字符串右对齐,其他用0填充

# 3.expandtabs
name = 'weixu\thello' # \t(tab键)
print(name)
print(name.expandtabs(1)) # 修改\t制表符代表的空格数

#4.captalize,swapcase,title
msg='hello everyone nice to meet you!'
print(msg.capitalize()) # 将首字母大写
msg1='hello EVeRyone NIce To mEEt YOu!'
print(msg1.swapcase()) # 大小写翻转
print(msg.title()) # 每个单词首字母大写

2.3列表

hobby_list=['run','play','read','smile']
print(hobby_list)

# 1.索引取值
print(hobby_list[0])
print(hobby_list[-1])
hobby_list[-1]='xixi' #索引修改
print(hobby_list[-1])

#2.长度len
print(len(hobby_list))

#3.成员运算in和not in
print('smile' in hobby_list)
print('xixi' not in hobby_list)

#4.循环
for i in hobby_list:
    print(i)

for j in enumerate(hobby_list):
    print(j)  #同时打印出index和value

#5.删除del
del hobby_list[-1]
print(hobby_list)

#6.追加值append
hobby_list.append('smile')
print(hobby_list)

#7.insert插入元素
hobby_list.insert(1,'sleep') #在序列1的地方插入sleep
print(hobby_list)

#8.pop删除元素
hobby_list.pop() #默认删除最后一个索引
print(hobby_list)
hobby_list.pop(1) #指定序列号删除
print(hobby_list)

#9.remove移除
hobby_list.remove('read')
print(hobby_list)

#10.count统计元素出现的次数
print(hobby_list.count('run'))

#11.copy复制
hobby_list2=hobby_list.copy()
print(hobby_list2)

#12.clear清空
hobby_list.clear()
print(hobby_list)

#13.列表的嵌套
students_info=[['tony',18,['jack',]],['jason',18,['play','sleep']]]
print(students_info[1][2][0])

#14.extend()一次性在列表尾部添加多个元素
list = ['a', 'b', 'c', 'd']
list.extend([1,2,3,4])
print(list)

#15.reverse()颠倒列表内元素顺序
list = ['a', 'b', 'c', 'd']
list.reverse()
print(list)

#16.sort()给列表內所有元素排序
list=[15,2,23,53,6242,231]
list.sort()
print(list)

#17.数据类型转换
print(list('wdad')) #字符串转换成列表

2.4字典

存储多个值,通过key:value的形式
person_info={'name':'weixu','age':24,'height':172}
print(person_info)
# 1.按key取值
print(person_info['name'])
person_info['hobby']='sleep'
print(person_info)
#2.长度len
print(len(person_info))
#3.成员运算in和not in
print('name' in person_info)
#4.删除
del person_info['hobby']
print(person_info)

print(person_info.pop('age')) #删除指定的key对应的键值对,并返回值
print(person_info)

a=person_info.popitem() #随机删除一组键值对
print(a)
print(type(a)) #元组类型

#5.键,值,键值对
print(person_info.keys())
print(person_info.values())
print(person_info.items())
#6.循环
for j,i  in person_info.items():
    print(j,i)
#7.get 通过key得到value值
print(person_info.get('name'))
#8.update 组合字典
person_info2={'hobby':'sleep'}
person_info.update(person_info2)
print(person_info)
#9.为不同的key赋相同的值
age_info=dict.fromkeys(['weixu','tony'],18)
print(age_info)
#10.setdefault 在字典里面查找一个key的值,有就返回,没有则添加
print(person_info.setdefault('name','xixi'))
print(person_info.setdefault('weight',62))
print(person_info)
#11.字典的嵌套
students=[
{'name':'tony','age':38,'hobbies':['play','sleep']},
{'name':'jack','age':18,'hobbies':['read','sleep']},
{'name':'rose','age':58,'hobbies':['music','read','sleep']},
]
print(students[2]['hobbies'][2])

2.5元组

  • 元组是不可变的列表,也就是说元组的值不可以修改,因此元组一般只用于只存不取的需求
  • 区别:元组与列表有两个不同点。第一个不同点是元组的声明使用小括号,而列表使用方括号,当声明只有一个元素的元组时,需要在这个元素的后面添加英文逗号;第二个不同点是元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。
food_tuple=('apple','banaba','orange')

2.6集合

hobby_set={'run','read','play'}
# 1.并集
hobby_set2={'run','sing','game'}
print(hobby_set|hobby_set2)
print(hobby_set.union(hobby_set2))
#2.交集
print(hobby_set&hobby_set2)
print(hobby_set.intersection(hobby_set2))
#3.差集
print(hobby_set-hobby_set2)
print(hobby_set.difference(hobby_set2))
#4.补集
print(hobby_set^hobby_set2)
print(hobby_set.symmetric_difference(hobby_set2))
  • 字典和集合内元素都是无序的,列表和元组内的元素是有序的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值