首页 > 编程语言 > 详细

python基础 2次了解

时间:2021-04-01 23:52:16      阅读:51      评论:0      收藏:0      [点我收藏+]

间接引用和和直接引用

堆区 (值),栈区(变量名对映内存地址)

赋值 x = y ,传参 print(x) 传递的都是栈区的数据

新知识点

  1. f内的{ }可以当作表达式运行
a=input("请输入")
print(f‘{{{a}}}‘)
输出
请输入654
{654}#####################带花括号输出 

print(f‘{10+3}‘)           #表达式直接输出
输出
13

    1. f‘{ 字符串表达式 是可以提取计算 }‘(想提取字符串内表达式 或字符串内的表达式运行)
    2. 两个{{{变量}}} 变量输出有{ }
  1. .formate新加
例如  
先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
 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

今日内容

  1. 可变不可变类型
# 列表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地址不同  上面三个都被设计成了不可分割的整体
  1. 显示的bool
    1. 隐藏的bool 每个数都可以代表
    2. 除去00,None,空 [] 空列表 空字符串都为false
  2. 逻辑运算符
    1. not把紧跟其后结果取反
    2. and逻辑与 用来连接左右两个值 同时为真才为真 判断真假
    3. or逻辑或 只要一个为真
    4. 优先级 not>and>or 真的需要用记得用括号
  3. 成员运算符
    1. xxx in xxx 是否存在里 字符串只要有一个宅里面就为真
    2. 字典只判断key
    3. xxx not in xxxxx
  4. 省份运算
    1. is判断id是否相等
  5. 判断
    1. if判断 if elif else
a =79
if a >= 90:
    print("youxiu")
elif a >= 80:
    print(‘lianghao‘)
elif a >= 70:                           #看清楚是大于等于输出 、苦笑
    print("bujige")                      #注意每个判断后的冒号
else:
    print(‘henchajin‘)
  1. 基本数据类型及其内置方法 (每个缩进4个空格规范) #p95
    1. 循环之while
      1. while 条件: (基本语法 )
        1. 代码1
        2. 代码2
        3. 代码3
a =[98,16,[123]]
count=0
while count<5:                  #条件循环
    print(a)
    count +=1
print("运行完毕")
                                 #死循环
while 3>0:
    print(a)
      1. while+break
        1. 跳出全部
      2. while+continue
        1. 跳出当前
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个字符串分隔
      1. while+else
count=0
while count<6:
    if count == 4:
        count+=1
        continue    #//break的话会被打断下面代码 
    print(count)
    count+=1

else:
    print("在没有被break打断的情况下才会运行")
  1. 浅拷贝()
    1. 赋值的话list1改list2也会跟着改(就是地址一样)
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)
  • 深拷贝 deepcopy(浅拷贝完全独立)
import copy
a[1245[123]]

b=copy.deepcopy(a)
print(id(a))                       #深copy  完全区分开 复制一份
print(id(b))
b[2][0]=987                        #完全区分新地址
print(b)

print(a)

课前复习

  1. 循环之for循环
    1. for循环的语法与基本使用
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")
    1. for循环应用
    2. for循环嵌套
for i in range(3):
    print("外层",i)
    for j in range(5):              ############终止for循环只有break
        print("内层",j)
    1. for+break
    2. for+continue
    3. for+else
  1. 总结 1、相同之处:都是循环,for循环可以干的事,while循环也可以干
    1. 2、不同之处: while循环称之为条件循环,循环次数取决于条件何时变为假
      1. for循环称之为"取值循环",循环次数取决in后包含的值的个数

  1. 基本数据类型及内置方法
    1. 数学int
      1. 作用
      2. 定义
      3. 类型转换
      4. 使用
  2. 字符串
    1. str
    2. 内置方法
      1. 按照索引取值 正向取 变量名[位置0什么的] 反向取变量名[位置-1什么的]
      2. 只能取不能改
      3. 切片索引拓展 变量名
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翻译分开 



  1. 列表
  2. range( 前取后不取 )创建连续数 有 步长
    1. 可以按照索引取值配合for
  3. print(“123”,end=“ ”)
  4. type( )查看类型
  5. 转换
    1. bin()10转2
    2. oct()10转八
    3. hex()10转16
  6. 二进制转10
    1. int(000,8或者2或者16)
  7. float(“ ”)定义带小数的
    1. 字符串转浮点型

任务

需要掌握

striplstriprstrip   /去除左右两边的 空格或者*lowerupper             /全小写  ,全大写
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

python基础 2次了解

原文:https://www.cnblogs.com/OUYANGjt/p/14607651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!