间接引用和和直接引用
堆区 (值),栈区(变量名对映内存地址)
赋值 x = y ,传参 print(x) 传递的都是栈区的数据
新知识点
a=input("请输入")
print(f‘{{{a}}}‘)
输出
请输入654
{654}#####################带花括号输出
print(f‘{10+3}‘) #表达式直接输出
输出
13
例如
先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
x=input(‘qingfhus‘)
print(‘我爸爸是{0}‘.format(x) )#format前有点但是不能有别的变量 变量是放在他后面的括号里
print("{x:=<10}".format(x="开始执行"))
print("{x:=>10}".format(x="开始执行"))##############注意 :=<10 大于小于居左居右
print("{x:=^10}".format(x="开始执行"))
输出
开始执行======
======开始执行
===开始执行===
print("{x:.3f}".format(x=123546.123567))################ :.想要保留几位 四舍五入精确
输出
123546.124
今日内容
# 列表list是有序的
元素是可以被修改
# list=[11,22,33]
# 元组 tuple元素一级元素整体不可被修改
(二三级可修改ps:本身可被修改的)不能增加或删除
# tuple=(123,123,1231,)建议元组后加逗号 好区分也不会报错
# 索引(赋值数=变量[0]),切片(赋值数=变量[0:2])
# 可以for循环
# 可迭代对象(元组列表字符串)可互相进行转换
# tuple count指定元素 统计出现次数 index(?)获取索引某一个元素位置
# 字典 dic(是无序的 )可变
info= {"k1": "v2" , "3": "4"}
#键值对 字典的value可以是任意值类型 字典的key 字典列表不可以(
布尔值可以但是会和0.1重复)
print(info)
字典查询 v=info["k1"] 先用key查询 列表内用索引查询指定元素 不能切片
支持删除 del.info[想删除的key}
#默认循环key(for循环)
# for i in info.keys(): #查询key
# for i in info.values(): #查询value
# for k,v in info.items(): #查询key和value(整个键值对)
# print(k,v)
更正错误True=1 false=0 key重复只能保留1个
# 1.根据序列,创建字典,并指定统一的值
dic={}
v=dic.fromkeys(["1","2"],123)
int是不可变类型
float是不可变类型
str是不可变类型
id地址不同 上面三个都被设计成了不可分割的整体
a =79
if a >= 90:
print("youxiu")
elif a >= 80:
print(‘lianghao‘)
elif a >= 70: #看清楚是大于等于输出 、苦笑
print("bujige") #注意每个判断后的冒号
else:
print(‘henchajin‘)
a =[98,16,[123]]
count=0
while count<5: #条件循环
print(a)
count +=1
print("运行完毕")
#死循环
while 3>0:
print(a)
a=123
b=456
while 1:
name=eval(input(‘qindhuru‘))
pwd=eval(input(‘qhdau‘))
if name == a and pwd == b:
print("denhgluchengogng")
break #break全部退出
else:
print("zhanghaomimachuowu")
continue 要在continue前加高一级代码后添加同级代码毫无意义 #退出当前
print("="*20) #*20个字符串分隔
count=0
while count<6:
if count == 4:
count+=1
continue #//break的话会被打断下面代码
print(count)
count+=1
else:
print("在没有被break打断的情况下才会运行")
b=a.copy()
print(id(a))
print(id(b))
#浅copy只能copy第一层 不能copy第一层中列表
a =[98,16,[123]]
b=a.copy() #注意 第一层
print(id(a))
print(id(b))
b[2][0]=987
print(b)
print(a)
import copy
a[12,45,[123]]
b=copy.deepcopy(a)
print(id(a)) #深copy 完全区分开 复制一份
print(id(b))
b[2][0]=987 #完全区分新地址
print(b)
print(a)
课前复习
a={"1":"123"}
for b in a: range( )创建连续数 有 步长
print(b ,a[b]) #取字典看k,y
列3.4
a=123
b=456
for i in range(3):
name=eval(input(‘qindhuru‘))
pwd=eval(input(‘qhdau‘))
if name==a and pwd==b:
print("dengeuchenggong")
break
else:
print("cuo")
for i in range(3):
print("外层",i)
for j in range(5): ############终止for循环只有break
print("内层",j)
a=‘321987‘
print(a[0:5]) #顾头不顾尾
a=‘321987‘
print(a[0:5:步长])
反向步长
a=‘321987‘
print(a[5:0:负数步长])
len长度
print(len(变量))
strip 移除空白
变量名.strip()#默认移除左右两侧 得到新的值 不会改变原值 去除(“*”)
int_a=input("youname").strip()
int_b=input("age").strip()
if int_a=="123"and int_b=="123":
print("chenggong")
else:
print("chuowu")
切分split:把一个字符串按照某种分隔符进行切分,得到一个列表
info=’tao:ge‘ 默认分隔符是空格
info.split(‘:‘)可以指定分隔例如 :
sep翻译分开
任务
需要掌握
strip,lstrip,rstrip /去除左右两边的 空格或者*等
lower,upper /全小写 ,全大写
startswith endsswith /用什么开头 ,用什么结尾
format的三中方法
split rsplit 按什么分隔(会清除分隔符)
join 间隔添加连接 “_”.join
replace 使用方法如下
a="how are you"
res=a.replace("you","sb")可以指定同样的数可以改几个(“you”,“sb”,个数)
print(res)
输出 how are sb 替换(前面放需要替换的,后面放更行的,有默认的可以不写)默认把所有填的相同值改 可以不用改后面假数字就可以了
isdigit 判断字符串是否由数字组成
了解
没找到 返回负1 find rfind,
直接报错 index,rindex,
统计次数 count()
center, print(.center(规定的数量,符号)) 居中显示
ljust.rjust 和上面一样 左右对齐不够用符号填充
zfill 默认用0填充 只要填写数量即可
expandtabs \n换行 \t制表符
控制制表符代表的空格数
caplize,无参 单纯首字母大写swapcase.无参大小写反转 title每个单词首字母大写
is数字系列
islower 判断是否全是小写
isupper 全是大写判断
istitle 判断每个首字母是否大写
isalnum 判断字母或数字判断
islpha 字母组成判断
isspace 由空格组成判断
isidentifier 内置关键字判断 自定义判断标识符是否合法
is其他
关于数字
num1=b‘4‘ #bytes
num2=u‘4‘ #unicode,python3中无需加u就是unicode
num3=‘四‘ #中文数字
num4=‘Ⅳ‘ #罗马数字
# isdigit只能识别:num1、num2
# print(num1.isdigit()) # True
# print(num2.isdigit()) # True
# print(num3.isdigit()) # False
# print(num4.isdigit()) # False
# isnumberic可以识别:num2、num3、num4
# print(num2.isnumeric()) # True
# print(num3.isnumeric()) # True
# print(num4.isnumeric()) # True
# isdecimal只能识别:num2
print(num2.isdecimal()) # True
print(num3.isdecimal()) # False
print(num4.isdecimal()) # False
原文:https://www.cnblogs.com/OUYANGjt/p/14607651.html