python基础学习笔记(一)

第一天

1.编写python文件,称为python程序脚本
  • #开头的作用:说明、解释、调试
  • print作为输出函数,可以在程序中输出一些字符
  • 函数就是为了完成一些功能
  • 字母、数字、下划线,数字不能作为开头。

第二天:数据交换

  • python特殊特性,交换a,b:
  • a,b = b,a
  • print(a,b)

第三天:字符类型

1.字符串类型:输出print(a,b,c)
  • 换行输出:
    print(a)
    print(b)
    print(c) 三行输出
2.type()函数 返回一个数据类型或者变量的数据类型结果
res = type(love) #<class 'str'>   str = string字符串
3.大字符串:三引号
s = '''很好比如说你很好我也很好'''
s = '''很好比如说
你很好我也很好'''  #可以换行
4.单、双和三引号可以相互嵌套,但是不能自己嵌套自己。
单双引号定义的字符串不能随意换行,需要换行时指明换行符
s = '''床前明月光,疑是"地上"霜,举头望'明'月,低头思故乡'''
5.转义字符:\n表示换行,\t表示一个制表符
s = '窗前\n明月光'
s = r'床前\n明月光' #前面加r可使转义字符失效
6.数字类型number
#整型int
varn1 = 251 
varn2 = -5555

#浮点型float
varn3 = 3.1415926 

#十六进制
varn4 = 0x10   

#二进制bytes
varn5 = b'01111000022' 

# 复数
varn6 = 5+6j  #complex复数类型

#布尔类型
varn7 = True  #bool类型
varn8 = False

print(varn8,type(varn8))  #打印布尔类型

第四天

1.记录一组数据用列表,用中括号定义,并且每个数据之间用英文逗号隔开
#列表中存储的数据可以是任意类型的数据
varlist = [12,34,221,45,'sa',"3.1415926"] 
#可以通过下标的方式获取
#下标对应  0  1  2   3  4    5
#varlist = [12, 34, 221, 45, 'sa', "3.1415926"]
#      -6  -5 -4  -3  -2    -1
print(varlist,type(varlist))
print(varlist[0])
print(varlist[-6])

#列表中也可以存储一个列表,称为二级列表,或者多维列表
#标号    0  1  2    3    4  5    6
varlist1 = [12, 34, 221, [1,3,2,5], 45, 'sa', "3.1415926"]
# 标号 0 1 2 3
#  [1,3,2,5]
print(varlist1[3][1]) #打印列表中列表的一个元素
2.元组使用()定义,列表使用[]定义
#tuple元组类型
vart = (1,2,3,4,'a',"ddddaa")
print(vart,type(vart))
#元组只有一个元素时,需要在元素之后加一个逗号,不然会报错,或者不是元组了。
vart1 = (123)
print(vart1,type(vart1)) #输出int类型,或者输出其他类型,不是元组类型
vart1 = (123,)
print(vart1, type(vart1)) #输出tuple类型

#元组的其他定义方式
vart2 = 1,2,3 #变量与元素不对应,变为元组
print(vart2,type(vart2))

##元组和列表的区别
+元组用小括号定义,列表用中括号定义
+列表中的值是可以改变的,元组中的值不可以改变
+元组和列表都是存储多个数据时使用


第五天:Dict字典类型

  • 字典可以存储一组或多组数据时使用,使用大括号{}来定义
  • 字典是 键值对 的存储方式 name : admin
  • 键和值之间用冒号进行隔离,多组键值对用逗号进行分隔开
  • 键必须是字符串或数字类型,值可以是任意类型
  • 键名不能重复(否则会覆盖先定义的值),值可以重复
  • 在之前的python版本中,字典中的键是无序的
比如需要记录一本书的相关数据 书名、作者、价格…
vard = {'title':'《鬼谷子》','author':'鬼谷子','price':'46.7$'}
print(vard,type(vard))
# {'title': '《鬼谷子》', 'author': '鬼谷子', 'price': '46.7$'} <class 'dict'>

#获取字典中的值,按键获取
print(vard['title'])
print(vard['author'])

第六天:set集合类型

1.set集合是一个 无序且元素不重复的 集合的数据类型
2.set集合使用 大括号或者set()方法来定义
3.集合的定义方式
vars = {1,2,3,'a','b',1}
vars = set('123456')  #输出是无序的
print(vars)
如果需要定义一个空集合时 只能使用 set()方法,因为使用大括号时定义的是字典
vars = {}  #<class 'dict'输出是字典
vars = set()
print(vars,type(vars))  #<class 'set'>输出是集合类型
集合类型主要用于运算,交集、差集、并集和对称集合
a = {1,2,3,'a','er'}
b = {1,'a',22,444}
print(a & b)#交集
print(a | b)#并集
print(a - b)#差集
print(a ^ b)#对称集合

第七天:数据类型转换

字符串 string
数字类型 Number
    整型 int
    浮点型 float
    复数
    布尔 bool
列表 list
元组 tuple
字典 dict
集合 set

可变数据类型:列表、字典、集合
不可变数据类型:字符串、数字,元组

容器类型数据:字符串、列表、元组、集合、字典
非容器类数据:数字、布尔类型

#数据类型转换:把一个数据类型转化为另一种数据类型转换,
#原因:不同的数据类型不能进行计算

# 一、自动数据类型转换
#转换顺序,结果向更高精度转换: True ==> 整型 ==> 浮点 ==> 复数
a = 123
b = True
print(a+b)
print(12.5+22)
print(True+12.34)
**if语句**
if a:
    print('真')
else:
    print('假')

# 二、强制数据类型转换
'''下面的函数,可以把其他类型的数据,转换为对应的数据类型
str()
int()
float()
bool()
list()
tuple()
dict()
set()
'''
# c = 123
# c = 'love'
# c = 3.14
# c = True
# c = [1,2,3]
# c = (22,33)
c = {22,33}
# c = {'a':1,'b':2}
# 可以把所有的其他类型转换为字符串类型
print(c,type(c))
res = str(c)  #不是所有类型都能转换
print(res, type(res))
#字符串转数字类型时,如果字符串中时纯数字,可以转换
#其他容器类型不能转换为数字int类型一样,不过转换的结果是浮点类型
#bool可以把其他类型转换布尔类型的TRUE或者Flase
#需要总结,哪些情况转bool的结果是Flase

''空字符串
‘0’True
0
0.0
False
[]
{}
set()

第八天:容器类型转换

#list 列表
'''
字符串 转换为列表时 会把字符串中的每一个字符当做列表的元素
数字类型是 非容器类型,不能转换为列表
集合 可以转换为 list列表类型
元组 可以转换为 list列表类型
字典 可以转换为 list列表类型,但只能保留字典中的键
'''
n = '123'
res = list(n)
print(n,type(n),res,type(res))

#tuple元组
# 数字类型,非容器类型不能转换为元组
# 其他容器转换为tuple元组时,和list列表一样
n = '123'
res = tuple(n)
print(n, type(n), res, type(res))

#set集合
# 数字类型不能转换为集合
# 字符串、列表、元组 可以转换为集合,结果是无序的
#字典转换为集合时,只保留了键key
n = 'acfg'
res = set(n)
print(n, type(n), res, type(res))

#dict字典
# 数字类型,非容器类型不能转换为字典
# 字符串不能转换为字典
# 列表要求是一个二级列表,并且每个二级元素只能有两个值
# 元组要求是一个二级元组,并且每个二级元素只能有两个值
n = [['s','w'],[5,7]]
# n = ((1,2),(3,4))
res = dict(n)
print(n, type(n), res, type(res))

第九天:运算符:算、字、赋、比、逻、位、

#一、算术运算符 + - * / ** // %
a = -9
b = 2
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a ** b)
print(a // b)   #结果取整
print(a % b)

#二、字符串运算
# 1.字符串和数字不能直接运算
# 2.两个字符串相加,是字符串拼接
l = 'love'
i = 'i ' + l + ' you'
# i = f'i {l} you'
# i = 'i {} you'.format(l)
# i = 'i {l} you'.format(l=l)
print(i)
# 3.字符串如果和数字 使用* 那么就是重复前面的字符串
print('1'+'1')

#三、赋值运算符:= += -= *= /= %= **= //= (c=c+10)
g = 10
g += 20
print(g)


#四、比较运算符
a = 10
b = 20
# print(a == b)
# print(a != b)
# print(a >= b)
# print(a <= b)

#五、逻辑运算符:and or not
a = False
b = True

# print(a and b)
# print(40 and 30)  #都是真,则返回后面一个值
# print(0 and 20)     #返回假
# print(a or b)
print(30 or 20) #都为真时,返回前面第一个值
print(not a )
print(not b)

#六、二进制与位运算
#1.十进制 转为 二进制
a = 125
#bin()函数 可以转换为二进制
# print(bin(125))  #转换为二进制
# print(bin(99990907))

#2.二进制 转换为 十进制
#按权展开求和
'''
0b 0101 1011
'''
# int()函数将会把任意数转换为十进制数
# print(int(0b00101011))

# & 按位 与 运算:参与运算的两个值,如果两个相应的二进制为都为1,则按位与的结果都为1,否则都为0
a = 0b11010001
b = 0b10011101
print(bin(a & b))

# | 按位 或 运算
print(bin(a | b))

# ^ 按位 异或 运算:当两个对应的二进制相异时,结果为1
print(bin(a | b))

# 左移运算符:运算的若干位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0
print(bin(a << 2))
# 右移运算符:运算的若干位全部右移若干位,由“>>”左边的数指定移动的位数,低位丢弃,高位补0
print(bin(a >> 2))
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值