python基本数据类型与基础语法

'''元组'''
# 元组数据可以进行索引,并且内部数据类型可以不同,但是元组是不可变的
tuple1 = (1, 'hello', True, [1, 2, 3])
print(tuple1[0]) # 1
print(tuple1[3][1]) # 2
# 虽然元组是不可变的,但是可以对内部的元素进行修改
tuple1[3][1] = 4
print(tuple1) # (1, 'hello', True, [1, 4, 3])

'''集合'''
# 集合内部不能有重复元素,创建空集合时必须要用set(),不能用{},因为{}是用来创建空字典的
set1 = set()
set1.add(1)
set1.add(2)
print(set1) # {1, 2, 7}
# 集合可以进行交集、并集、差集、异或等操作
set2 = {1, 2, 3, 4}
print(set1 & set2) # {1, 2}
print(set1 | set2) # {1, 2, 3, 4, 7}
print(set2 - set1) # {3, 4}
print(set1 ^ set2) # {3, 4, 7} 两个集合中不同时存在的元素

'''字典'''
# 字典是无序的键值对集合,创建空字典时可以用dict(), 也可以用{}
dict1 = dict()
print(dict1) # {}
dict2 = {}
print(dict2) # {}
dict1['陆山君'] = 'Tiger'
dict1[3] = '剑仙'
print(dict1)
print(dict1.keys())  # 输出所有的键
print(dict1.values())  # 输出所有的值
dict3 = {'yuling':'love you','王者荣耀':'xswl', '学习':'使我快乐'}
print(f'dict3 : {dict3}')

# type与isinstance函数
# type不会认为子类是一种父类类型,而isinstance会认为子类是一种父类类型
class A:
    pass
class B(A):
    pass
print(type(A()) == A)
print(isinstance(A(), A))
print(type(B()) == A)
print(isinstance(B(), A))
a = 11
print(isinstance(a, int))

# 切片 [A:B] , A为起始索引,B为结束索引,B可以省略,省略时取到列表末尾,当B不省略时区间范围为[A, B)
b = 'hello'
print(b[1:-1])
print(b[1:4])
print(b[1:])
print(b[:4])

# 列表
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]  # 定义一个列表
tinylist = [123, 'runoob']
print(list + tinylist)  # 连接两个列表

# 列表索引
def reverseWord(input):
    input = input.split('.')
    print(f'splited_words:{input}')

    input = input[-1::-1]  # 第一个参数-1表示从列表最后一位开始,第二个参数为空表示移动到列表末尾,第三个参数位-1表示逆向索引且步距为1
    print(f'reversed_words:{input}')

input = 'www.baidu.com.cn'
reverseWord(input)

# 元组
# 元组与列表基本一样,不同之处就在于元组不能改变

A = (1, 2, 3, 4, 5)
b = A[-1::-2]  # 也可以进行类似的逆向索引
print(b)  # (5, 3, 1)

# 数据类型转换
# 隐式数据类型转换
# Python 会将较小的数据类型转换为较大的数据类型,以避免数据丢失
a = 1
b = 1.1
c = a + b
print(c, type(c))

# 显式数据类型转换
a = int(1)  # 1
b = int(3.2)  # 3
c = int('2')  # 2
print(a, b, c)
# d = int('2.3')  # 报错

a = float(1)  # 1.0
b = float(3.2)  # 3.2
c = float('2')  # 2.0
d = float('2.3')  # 2.3
print(a, b, c, d)

# python运算符
# 1. python位运算符
a = 0b00111100
b = 0b00001101
print(bin(a & b))
print(bin(a | b))
print(bin(a ^ b))
print(bin(~a))
# 2. python成员运算符
a = [1, 2, 3, 4, 5]
b = [4, 5, 6, 7, 8]
if 1 in a:
    print('True')
print(1 not in a)
print(4 in b)
print(2 in b)
# 3. python身份运算符 : is 和 is not
a = 10
b = 10
print(f'1 - a is b : {a is b}')
print(f'1 - a is not b :{a is not b}')
print(f'1 - id(a) == id(b) : {id(a) == id(b)}')

b = 11
print(f'2 - a is b : {a is b}')
print(f'2 - a is not b :{a is not b}')
print(f'2 - id(a) == id(b) : {id(a) == id(b)}')

# 转义字符
# \ 在行尾时表示续行符
print('line1 \
      line2\
      line3')

# \\ 反斜杠符号
print('\\')

# \' 单引号
print('\'')

# \" 双引号
print("\"")

# \b 退格
print('hello\b world')  # hell world

# \v 纵向制表符
print('hello\vworld\vnihao')

# \t 水平制表符 表示占位,一般默认占位8个空格,默认情况下hello\t中hello为5个字符,\t填充3个字符;hell\t中hell为4个字符,\t填充4个字符
print('hello\t world')

# \r 将\r后面的内容移到开头,并逐一替换开头部分的字符,直至\r后面的内容全部替换完成,知道遇到下一个\r再重新从开头替换
print('hello\r world\r  nihao xixihei\r pigpig')  #  pigpig xixihei

import time

# for i in range(101):
#     print("\r{:3}%".format(i),end=' ')
#     time.sleep(0.05)

# 格式化操作
num = 3
print("num is %+04d" % num)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值