11.1Python学习日志

01 Python程序的构成

程序由模块组成,模块由语句组成,有上到下依次执行

02代码的组织和缩进

隔一段时间Ctrl+s保存

03使用行

在想要分行的地方末尾加上\

b='abcdefghijklmh'

b='abcde\

fghijk\

lmh'

04对象

  • 标识: 唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数id(obj)可返回对象obj的标识
  • 类型:对象存储的“数据”类型。可以使用type(obj)获得对象的所属类型
  • 值:对象存储的数据的信息。使用print(obj)直接打印出值

例子:

a = 3
print(a)
print(id(a))
print(type(a))
b = "gougou"
print(b)
print(id(b))
print(type(b))

05引用

变量位于:栈内存

对象位于:堆内存

栈是连续的空间,堆是无序的空间

Python是动态类型语言:变量不需要显式声明类型,自动确定数据类型

06标识符规则:是给变量,类,模块起名字

四大规则:1.区分大小写

                  2.第一个字符必须是字母,下划线。后面的除了这两种还可以是数字

                  3.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法,如_init_

                  4.不能使用关键字‘if’‘or’‘while’等

标识符命名规则:1.模块和包名:全小写字母,尽量简单。多个单词之间用下划线 e.g.math,os,sys

                             2.函数名:全小写字母,多个单词用下划线隔开 e.g.phone,my_name

                             3.类名:首字母大写,采用驼峰原则。多个单词时,每个单词第一个首字母大                                    写,其余小写 e.g.MyPhone,MyClass

                             4.常量名:全大写,多个之间下划线 e.g.SPEED

07使用Python系统帮助查看关键字

help()运行后出现交互窗口

08变量和简单赋值语句

变量名=表达式,把对象的地址给了变量

变量在使用前必须先初始化,即赋值

09删除变量和垃圾回收机制

  • 通过del语句删除不再使用的变量
  • 如果对象没有变量引用,就会被垃圾回收站回收,释放内存空间
a = 123
del a
print(a)
#报错,a没有被定义

10 常量

Python中的常量被定义后,逻辑上不能再做修改,实际上再次赋值可以做更改

MAX_AGE=150
print(MAX_AGE)
MAX_AGE=180
print(MAX_AGE)

11链式赋值

a=b=1123

同一个对象赋值给多个变量

12系列解包赋值

  • 系列数据赋值给对应相同个数的变量(个数一致)

          a,b,c=4,5,6              a=4;b=5;c=6

  • 变量值交换
a,b=1,2
a,b=b,a
print(a,b)

13 基本内置数据类型

四种类型:整型int,浮点型float(可使用科学计数法314e-2),布尔型bool(表示真假只有True和Flase),字符串型str(“”或‘’引起都可)

14 数字和基本运算符

  • / 浮点数除法
  • // 整数除法(只保留小数点前的)
  • % 取余(除后的余数)
  • ** 幂

使用divmod0()同时得到商和余数e.g.divmod0(13,3)>>>(4,1)

15 三种进制

0b或0B开头为二进制

0o或0O开头为八进制

0x或0X开头为十六进制

16 使用int()实现类型转换

  • 浮点数直接舍去小数部分
  • 布尔值True转为1,False转为0,e.g.int(True)结果为 1
  • 字符串符合整数格式(浮点数格式不行)则直接转为对应整数,否则报错

17 Python可以做任意大的整数运算,不会溢出

18 浮点数_自动转换_强制转换_增强赋值运算符

1.类型转换和四舍五入

        类似于int(),也可以使用float()将其他类型转为浮点数

        整数和浮点数运算,结果自动转型为浮点数

        round(value)可以返回四舍五入的值。但不会改变原有值,而是产生新的值

2.增强型

        e.g.x += 2        x=x+2

              y *=x+2       y=y*(x+2)是对整体!

19 布尔值

        Python中有一些特殊的布尔类型值为False,例如False、0、0.0、空值、空序列对象(空列表,空元祖,空集合,空字典,空字符串)、空range对象、空迭代对象。

print (bool(""))        #False
print (bool([]))        #False
print (bool("False"))        #True

20 运算符

1.逻辑运算符

  • or 逻辑或      
  • and 逻辑与
  •  not 逻辑非
a=1
b=2
c=a or b
print (c)

2.比较运算符

返回1为真,返回0为假

Python里可以进行连续比较,e.g.if(3<a<10)

代码短路的例子:

a= 100>= 200 and 50<(3/0)        #返回值为False,不会出现报错,原因是执行完and前面的代码已经出现了结果,后面的部分会不被执行

3.位运算符

&  按位与运算符:两个二进制相应位进行and运算

|   按位或运算度:两个二进制相应位进行or运算

^  按位异或运算符:当两对应的二进制位相异时,结果为1

~  按位取反运算符:对数据的每个二进制取反

<< 左移动运算符:运算输的每个二进位全部左移若干为,<<右边的数指定移动的位数,高位丢弃,低位补零

>> 右移动运算符

a=0b1010
b=0b1001
c=a&b
print(bin(a&b))        #bin可以将其二进制表示出来

4.字符串加法运算表示拼接

a=“3”
b=“2”
c=a+b        #结果为32

字符串乘法表示复制

a="abc"
print(a*3)        #结果为abcabcabc

5.同一运算符

is用于判断两个变量引用对象是否为同一个,即比较对象的地址

==用于判断两个变量引用对象值是否相等

  • 整数缓存问题:命令行模式(Python Console)仅会对较小的整数进行缓存范围为(-5,256),底层用数组实现,连续分配空间,便于查找;文件模式下,所有数字会被缓存,范围是(-无穷,+无穷),不在(-5,256)出现的数,缓存到链表中,不连续分配空间

6.成员运算符

in  如果在指定的序列中找到值返回True,否则返回False

not in 如果在指定的序列中没找到值返回True

a = "10,20,30"
#b = "10"
print (str(10) in a )        #True 如果是字符串的情况,需要将10先变为字符串类型,否则整数型会报错

a=[10,20,30]
print(10 not in a)        #False

7.运算符优先级问题

实际应用中复杂的表达式用小括号来组织

位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

21 字符串

1.字符串基本特点

单字符也是作为一个字符串使用的

Python字符串是不可以修改的

2.字符串的编码

Python直接支持unicode,可以表示世界上任何书面语言的字符,默认16位Unicode编码

        使用ord()可以把字符

转换为对应的Unicode码

        使用chr()可以把十进制数字转换成对应的字符

3.引号创建字符串

连续三个单引号或双引号,创建多行字符串,且保留原来格式

当字符串里面包含双引号的时候可以使用转义字符\e.g.“My name is \“Tom\””

4.空字符串和len函数

Python允许空字符串存在

len()用于计算字符串含有多少字符

5.转义字符

\n        换行

\t        制表符

\"        双引号

\'        单引号

6.字符串拼接

除了用‘‘’’+“”以外,还可以将多个字面字符串直接放在一起实现拼接‘aa’‘bb’结果是‘aabb’

7.不换行打印

连续调用print打印时,会自动调用换行符,要实现不换行,通过参数end=“”。同时这也能实现末尾添加任何内容

print("lmh",end='')
print("lmh",end='??')
print("lmh")

#结果 lmh lmh??lmh

8.从控制台读取字符串

使用input()读取控制台的输入

water = int(input("请输入每天喝的水(ml):"))
print("您每月喝的水为:"+str(water*30))

#请输入每天喝的水(ml):2000
#您每月喝的水为:60000

9.使用replace()实现字符串替换

a = "abcdefghijklmn"
a = a.replace('c','勾')
print(a)
print(a)


#ab勾defghijklmn
#ab勾defghijklmn

看似改变了字符串,实际上老对象并没有改变,只是改变a的赋值,重新指向了一个新的对象

10.使用[]提取字符

正向搜索:最左侧第一个字符,【】是0,第二个字符【】是1

反向搜索:最右侧第一个字符,【】是-1,倒二【】是-2

a=“abcdefghijklmh”
print(a[0],a[1])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值