Python 入门记录一

仅为记录自学python时的笔记。

目录

#缩进为python精髓

#python 数据类型

#python 常用操作符

#python 条件和分支

#python 列表 利用栈存储

#python 元组 新概念: 带上了枷锁的列表

#python 字符串, 无法轻易修改, 和元组一样, 使用切片(拼接)

#python 序列


#----------------------------------------------------------------------------

#缩进为python精髓

#赋值皆为引用 a = 1, b = a id(a)==id(b) True

#python 变量必须初始化
#BIF:input()默认为字符串
#原始字符串:r""用于处理反斜杠遇见转义字符
#例:str = r"C:/no" 但是原始字符串末尾不可有/
#可以这样处理str = r"C:/now"+"//"
#多行字符串 使用三个单引号:"""字符串内容""" 例:
'''
print(""""asdad
asdadas
dasda""")
'''
#random模块:import导入
#random模块中有randint(x,y)函数,会返回一个随机的整数(x,y之间)。
#----------------------------------------------------------------------------

#python 数据类型

#整型无大小限制,除了计算机内存限制(不分长短型)
#类型转换
#BIF:int()转换为int, str()转换为str, float()
#----int()将小数转化为整数为向下取整,四舍五入: int(fnum+0.5)
#BIF:type(x)输出x数据类型
#BIF:isintance(x,y)返回bool类型, x:待测 y:数据类型, 相同为True 否则False
#----------------------------------------------------------------------------

#python 常用操作符

#1: 算术操作符
#python 无++, --操作!! 可以+=1 -=1
#python / 不会有类型的约束,即int类型10/3!=3 为十六位小数
# // 地板除法(向下取整除), 它会返回整除结果的整数部,。
#类型:若有一个float则为float 否则为int
#列表,字符串都可以使用+,*操作符, 两边类型必须一致!
# ** 幂运算
#2: 逻辑操作符
# and(&&) or(||) not
#优先级 not > and > or
# and 结果为真时,等于后者 5 and 3 : 3
#短路逻辑 (惰性求值)
# or 结果为真时,等于前者 5 or 3 : 5(除了前者为0)
# not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 : 4
#3: 比较操作符
# 字符串比较:字典序, 即依此比较字符的ASCII码值
# 列表的比较: 比较列表的第一个元素, 相等则向下比较
#----------------------------------------------------------------------------

#python 条件和分支

#python 没有else if 为elif!!!
#条件表达式(三元操作符) c = x if x < y else y
#断言: assert() 当后条件为假时,系统会自动崩溃,抛出异常。
#for循环语法:for 目标 in 表达式
#BIF len()计算字符串, 列表长度
#BIF range([start,] stop[, step=1] ): 常配合for循环使用, (不包含stop)
#--有三个参数,其中用中括号括起来的两个表示这两个参数是可选的
#--step=1 表示第三个参数的值默认值是1,表示递加多少
#--range这个BIF的作用为生成一个从start参数的值开始到stop参数的结束的数字序列
#--因为range()在for循环中可以用作下标的索引值!!

list1 = [5,4,3,2,1]
for i in range(len(list1)):
    print(list1[i],end=",")

#----------------------------------------------------------------------------

#python 列表 利用栈存储

#python支持负索引,指定的元素为序列长度+负索引对应的元素。
#--创建一个普通列表:里面数据类型相同, 使用中括号
#--创建一个混合列表:数据类型可以不同!!!
#--创建一个空列表
#--向列表中添加元素:BIF:
#----append(元素)
#----extend(列表1) 把另一个列表的内容扩展到自己列表中, 可以直接+运算符(不推荐)
#----insert(参数1,参数2),把参数2插入到参数1前面,0为开始
#python 从列表中获取元素: 可以使用列表索引值
#从列表删除元素, BIF:
#----remove(元素的名字), 若有多个重复元素值, 只会其中删除最前面那个
#----del不是列表的方法!! del + member[1] or del + member(删除列表)
#----pop(索引值), 若无参数,弹出最后一个
#列表分片 member[a:b] 返回一个列表内容为索引值a到b(不包括b)
#member[n:]n为n和冒号,代表每次跳过几个元素
#--a不写, 默认为0, b默认不写,到最后
#列表中的列表:类似于多维数组,可以多维索引访问!
#BIF dir() 罗列出列表的所有BIF
#BIF count(元素) 返回元素出现的个数
#--index(元素,a,b) 在a-b(不包含b)范围第一个出现的位置
#--reverse() 逆转
#--sort() 默认从小到大(归并排序) sort(reverse=True) 从大到小
#--sort()还有两个参数, 可用作自定义排序
#列表的拷贝 list1 = list2 等同c传递地址, 两列表一同改变
#例如: list1.pop() list2最后一个元素也会弹出
#但是 list1 = [1,2] list2不会改变 因为该list1为一个新的'标签'覆盖了旧的list1
#此时list1和list2的地址已经不相同,通过id()BIF
#-- list1 = list2[:] 不一同改变
#分片理解:
#(x > y and [x] or [y])[0]
#Python还未加入三元操作符之前,使用 and 和 or 搭配来实现三元操作符的功能
#解析:优先级: '>' > and > or 括号内将x或者y转换为列表
#后面[0]为取列表第一个元素,即x或y
#列表推导式(列表解析)

#[ 表达式 for 变量 in 序列或迭代对象 条件]

#例如: [i*i for i in range(10)]
#[0,1,4,9,16,25,36,64,81]
#----------------------------------------------------------------------------

#python 元组 新概念: 带上了枷锁的列表

#--元组和列表十分相似,  元组无法改变!
#--创建元组:使用小括号, 注意!!逗号是关键,比如:要创建只有一个元素的元组,要加,
#--例:temp = (1) temp为int类型
#------temp = 1,2 temp为元组, temp = () 空元组
#------8 * (8) = 64    8*(8,)  8个元组
#--更新和删除元组
#--例:t = (1,2,3,4)
#--在2后面插10 t = t[:2] + (10,) + t[2:]
#--删除同理: 使用切片
#--元组可以使用的操作符: =, *(+..), >(..), in(no in), and(or)
#----------------------------------------------------------------------------

#python 字符串, 无法轻易修改, 和元组一样, 使用切片(拼接)

#字符串join(), upper(), lower(), casefold(), lstrip()等BIF
#不改变字符串本身, 改变的是返回的字符串
#字符串有负索引,指定的字符为字符串长度+负索引对应的字符。
#--str.join(sub),  以str为分隔符, 插入到sub中所有字符之间
#--例: str = "hh" str.join("12345"): 1hh2hh3hh4hh5
#--count(ss) 返回ss在字符串中出现的次数

#--S.count(sub[, start[, end]]) -> int
#--find()和index()一点不同,若找不到前者返回-1,后者抛出异常

#S.find(sub[, start[, end]]) -> int
#S.index(sub[, start[, end]]) -> int

#--lstrip(), rstrip(), 把字符串左边(末尾)的空格删去
#--strip(字符), 默认删除前后所有空格, 可指定删除字符
#--replace(old,new,count) 把字符串中old替换为new, count替换个数(若有多个)
#--split(参数, n) 按参数分割字符串, 返回列表, 默认按空格, n为分割几次,默认1次
'''
strs = 'xxx:nihjaoa:aaaa'
role, words = strs.split(':',1)#前后要对应!!
print(role+'  '+words)

'''
#--format() 格式化字符串 通过{}和:来代替%
#--"{0},{1}".format("aa",123)
#--"{},{}".format("aa","bb")
#--"{name},{age}".format(name="aa",age=123)
#--若想规定数据类型
#--'{0}{1:.2lf}'.format('PI=',3.1415) 注意没有%, 有一个:
#--输出: 例: "%d + %d = %d" % (4,5,9) 多个参数要使用元组传参
#--进制转换:
'''
while True:
    num = int(input('请输入一个整数,输入-1结束。\n'))
        if num == -1:
        break
    print('十进制->十六进制: {0:d}->{1:x}'.format(num,num))
    print('十进制->八进制:{0:d}->{1:o}'.format(num,num))
    print('十进制->二进制:{0:d}->{1}'.format(num,bin(num)))

'''
#转换为二进制使用BIF: bin()

'''
反转字符串
1: 切片:一次跳-1,即从后向前跳完成反转
str1 = '123456'
str2 = str1[::-1]

2: reversed()函数
str1 = '123456'
str2 = ''.join(reversed(str1))

'''

#----------------------------------------------------------------------------

#python 序列

#列表,元组和字符串的共同的:统称为序列
#--都可以通过索引得到每一个元素,默认索引值都从0开始
#--可以通过分片的方法得到一个范围内的元素的集合
#--有很多共同的操作符(重复操作符,拼接操作符,成员关系操作符)
#序列常见的BIF
#--list() 把字符串,元组转换为列表
#--tuple() 把字符串,列表转换为元组
#--max() 返回序列或参数集合终点最大值!! min()相反
#--sum(iterable [, start=0]) 返回序列iterable和可选参数start的总和
#--sorted(iterable) 排序序列
#--reversed() 反转,返回一个迭代器对象,用list()等等来接收
#--enumerate() 返回一个迭代器对象, 枚举, 前面多了索引值, 里面为元组
#--例:a = [5,6,4,7] list(enumerate(a)): [(0, 5), (1, 6), (2, 4), (3, 7)]
#--zip(a,b) 合并两个序列,以元组存储索引值相同的元素, 数目以第一个参数的长度决定
#--例:a = [5,6,4,7] b = [1,2,3,4,5]
#-- c = list(zip(a,b)) c: [(5, 1), (6, 2), (4, 3), (7, 4)]

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值