Python学习日记2

目录

一.保留字

二.标识符

标识符的命名规则:

以下划线开头的特殊情况:

三.变量

四.基本数据类型

(1)数字类型:

不同进制数:

浮点数:

复数:

(2)字符串类型

1.字符串在python中属于不可变序列。

2.通常使用单引号' '或双引号" "或"""  """三引号将字符串括起来表示字符串。

3.注意字符串开始和结束的引号形式要相同

4.转义字符:指反斜杠\+特殊字符,通常转义字符具有特殊功能。

(3)布尔类型

五.数据类型转换

(1)int函数:

(2)float函数:

(3)str函数:

(4)complex(real,imag):

(5)repr(x)

(6)eval(str)

(7)chr()

(8)ord()

(9)hex()

(10)oct()

六.运算符

(1)算术运算符

(2)赋值运算符

(3)比较运算符

(4)逻辑运算符

(5)位运算符

(6)运算符的优先级


一.保留字

保留字是指Python语言中被赋予特定意义的一些单词

保留字含义
if条件判断语句关键字
elif条件判断语句关键字
else条件判断语句关键字
for循环语句关键字
in用于遍历序列或成员测试
while循环语句关键字
break用于跳出循环
continue用于跳过当前循环迭代,进入下一次迭代
def用于定义函数
class用于定义类
import用于导入模块
from通常与import一起使用,从模块中导入特定的对象
return用于从函数中返回值
None表示空值或不存在的值
True布尔值 “真”
False布尔值 “假”
and布尔逻辑运算符 “与”
or布尔逻辑运算符 “或”
not布尔逻辑运算符 “非”
is用于对象同一性测试
try异常处理语句关键字
except异常处理语句关键字
finally异常处理语句关键字
raise用于引发异常

这些保留字不能拿去当做变量等作用使用,每个保留字有其特定的使用意义。

二.标识符

标识符指的是用来标识变量、函数、类和模块以及其他对象的,也就是给这些东西取名字,这个名字就是标识符。

注:在Python中,标识符是严格区分大小写的

eg.
NUM和NUm是两个不同的变量

标识符的命名规则:


1.标识符由字母、数字以及下划线组成,并且第一个字符不能是数字。

2.不能使用Python中的保留字。

3.不能使用特殊字符。

以下划线开头的特殊情况:


1.以单划线开头的标识符(如_width)表示不能直接访问类的属性。

注:以单个下划线开头的变量名(如_width)在 Python 中有一定的约定含义。按照惯例,以单个下划线开头的名称被视为 “内部使用” 或 “私有” 的提示,但这只是一种约定,并不是严格的访问控制。

2.以双划线开头和结尾的是Python的专用表示,如__init__()表示构造函数。

注:中文字符可作为变量的标识符使用,并给中文变量赋值。

测试 = 10
print(测试)

结果:
10

三.变量

变量可以通过=来赋值。

四.基本数据类型

(1)数字类型:

不同进制数:

十进制数:直接写数字,像1025等都是合法的十进制数表示。

二进制数:有前缀0b0B,例如0b1010表示二进制数。

八进制数:有前缀0o0O,例如0o12表示八进制数。

十六进制数:有前缀0x0X,例如0x0A表示十六进制数。

浮点数:

如1.235这样的数

科学计数法表示浮点数:eg.1.2e-2

注:在使用浮点数运算时,可能会出现小数位数不确定的情况,如0.1+0.2会计算出0.30000004这样的情况。

复数:

用j或J表示虚部,形如1+2j

还可以单独得到实部和虚部:
 

s = 1+2j
print(s.real)
print(s.imag)

得到结果:
1.0
2.0

还可以用函数complex(re,im)表示,re表示实部,im表示虚部。

(2)字符串类型

1.字符串在python中属于不可变序列。

        这意味着一旦创建了一个字符串对象,就不能对其进行修改。

eg.

        当创建一个字符串时,例如s = "hello",这个字符串对象在内存中被分配了特定的存储位置,并且其字符内容是固定的。如果尝试对字符串进行修改操作,比如s[0]='H',Python 会报错。这是因为这种修改违背了字符串不可变的特性。

        针对想要修改字符串的情况,想要解决就需要创建新的字符串对象进行拼接、修改等操作或者使用可变序列(列表)。

2.通常使用单引号' '或双引号" "或"""  """三引号将字符串括起来表示字符串。

        这三个引号的使用有略微区别:单引号和双引号的字符序列必须在同一行,而三引号的字符序列可以分布在连续的多行。

注:print在输出三引号的不同行字符序列时,会自动换行

print("""你好
蟒蛇""")

结果:
你好
蟒蛇

如果想要不自动换行可以用replace将换行符替换成空字符串:

print("""你好
蟒蛇""".replace('\n',''))

结果:
你好蟒蛇

3.注意字符串开始和结束的引号形式要相同

4.转义字符:
指反斜杠\+特殊字符,通常转义字符具有特殊功能。

  • \n
    • 表示换行符。例如:print("第一行\n第二行"),输出结果为两行,中间有换行。
  • \t
    • 表示水平制表符,通常用于在文本中创建固定宽度的间隔。例如:print("姓名\t年龄"),会在 “姓名” 和 “年龄” 之间产生一定的间隔。
  • \
    • 表示反斜杠本身,或者作为续行符。如果要在字符串中表示一个反斜杠,就需要使用转义字符,如print("C:\\Users\\"),这里的两个反斜杠实际上表示一个反斜杠,或者需要多行表示一个字符串可以+\。
  • \r
    • 表示回车符,它会将光标移动到行首。例如:print("abc\rdef"),输出结果为 “defc”,因为 “def” 覆盖了 “abc” 的前三个字符。
  • \b
    • 表示退格符,它会删除前一个字符。例如:print("abc\b"),输出结果为 “ab”。
  • \f
    • 表示换页符,在现代文本处理中较少用到。
  • \’
    • 用于在单引号括起来的字符串中表示单引号字符本身。例如:print('I \'m a student')
  • \”
    • 用于在双引号括起来的字符串中表示双引号字符本身。例如:print("He said, \"Hello!\"")
  • \0dd
    • \0dd 是一种八进制转义序列,其中 \0 是起始标记,dd 是两位八进制数字(0 - 7)

        \0dd使用方法举例:在字符串中,'\012' 表示换行符(八进制的 12 等于十进制的 10,而十进制的 10 对应的 ASCII 码就是换行符 '\n')。

s = "Hello\012World"
print(s)

结果:
Hello
World
  • \xhh
    • \xhh是一种十六进制转义序列,其中 \x 是起始标记,hh 是两位十六进制数字(00-ff)

        使用方法与\0dd类似。这两种都是将ASCII值转换为对应的字符,如上面的\012转为十进制为10其ASCII值对应字符\n,也就是说如果你算出来等于65还可以表示为字符A。

注:
如果想要转义字符不在字符串中发挥作用,可以在字符串前面加上r:

print("你好,\x0aPython")

结果:
你好,
Python

print(r"你好,\x0aPython")

结果:
你好,\x0aPython

(3)布尔类型

布尔类型:用来表示真和假的值,True和False被称为布尔值,它们也可以转换为数值,分别表示为1和0。

在Python中一下情况进行真值判断为假。

1.False和None

2.数值中的零,如0/0.0,虚数的0等。

3.空序列,包括字符串、空元组、空列表和空字典。

4.自定义对象的实例,对象的__bool__方法返回False或者__len__方法返回0,也就是相当于调用自定义函数得到指定的返回值。

五.数据类型转换

(1)int函数:

将一个数值或字符串转换为整数类型。

(2)float函数:

将一个数值或字符串转换为浮点数类型。

(3)str函数:

将对象转换为字符串类型。这是一个非常常用的函数,几乎可以将任何 Python 对象转换为其字符串表示形式。

(4)complex(real,imag):

创建一个复数

(5)repr(x)

函数用于返回一个对象的可打印表示形式,通常是一个字符串。这个函数与str函数有些区别:
1.区别于str()函数

  • 首先,repr()str()虽然都能将对象转换为字符串,但它们的侧重点有所不同。
  • str()主要是为了让用户能方便地阅读对象的字符串表示形式,它更注重可读性。例如对于字符串对象,str()返回的就是字符串本身,不需要额外的引号包裹(如果是可打印字符)。比如x = "hello"str(x)就是"hello"
  • repr()更侧重于返回对象的 “官方” 表示形式,这个形式是可以被 Python 解释器识别的,通常更适合用于调试和开发。例如x = "hello"repr(x)"'hello'",多了一层引号,这是因为在 Python 代码中如果要表示一个字符串常量,需要用引号包裹起来。

2.对于特殊字符和不可打印字符的处理

  • 如果对象包含特殊字符或者不可打印字符,repr()会以一种转义的方式来表示。
  • 例如:
    • 如果x = "a\tb"(其中\t是制表符),s
      eg.
      
      print(chr(65))
      
      
      结果为:A
      tr(x)可能会显示为"a b"(根据显示环境可能会有一定的格式调整),而repr(x)会显示为"'a\\tb'",这里\\是对\的转义,使得这个字符串表示能够准确地反映对象的内容,并且可以在代码中被正确解析。

(6)eval(str)

将字符串作为 Python 表达式进行求值,并返回求值的结果,这个返回的值依据内部的表达式而定。

eg.

s = "1 + 2",使用eval(s)会计算这个字符串表达式,返回结果3

s="1.1+1.3",使用eval(s)会计算这个字符串表达式,返回结果2.4,输出的类型是浮点型。

(7)chr()

它接受一个整数(表示ASCII)作为参数,并返回对应ASCII值的字符。

eg.

print(chr(65))


结果:
A

因为65对应的ASCII值为A

(8)ord()

它与chr()函数的功能相反。ord()函数接受一个字符(长度为 1 的字符串)作为输入,并返回该字符对应的 ASCII值

print(ord('A'))

结果:
65

(9)hex()

将一个整数转换为十六进制字符串

(10)oct()

将一个整数转换为十六进制字符串

六.运算符

(1)算术运算符

  1. 加法运算符(+)
    • 功能:用于求两个数的和。在 Python 中,它不仅可以用于数字类型(如整数、浮点数)的相加,还可以用于字符串、列表、元组等类型的连接操作。
    • 示例
      • 数字相加:3 + 5的结果是 8;3.5+2.5的结果是 6.0。
      • 字符串连接:"hello" + "world"的结果是"helloworld"
      • 列表连接:[1, 2] + [3, 4]的结果是[1, 2, 3, 4]
  2. 减法运算符(-)
    • 功能:用于求两个数的差。
    • 示例8 - 3的结果是 5;5.5-2.5的结果是 3.0。
  3. 乘法运算符(*)
    • 功能:用于求两个数的乘积。对于数字类型,执行乘法运算;对于字符串和列表类型,它表示重复操作。
    • 示例
      • 数字相乘:4 * 3的结果是 12;2.5 * 4的结果是 10.0。
      • 字符串重复:"a" * 3的结果是"aaa"
      • 列表重复:[1] * 5的结果是[1, 1, 1, 1, 1]
  4. 除法运算符(/)
    • 功能:用于求两个数的商,在 Python 3 中,该运算符执行的是真除法,结果总是返回一个浮点数。
    • 示例8 / 2的结果是 4.0;5 / 2的结果是 2.5。
  5. 整除运算符(//)
    • 功能:用于求两个数相除的整数部分(向下取整)。
    • 示例7 // 2的结果是 3;-7 // 2的结果是 - 4(向负无穷方向取整)。
  6. 取余运算符(%)
    • 功能:用于求两个数相除的余数。
    • 示例7 % 2的结果是 1;10 % 3的结果是 1。
  7. 幂运算符(**)
    • 功能:用于求一个数的幂次方。
    • 示例2 ** 3的结果是 8,表示 2 的 3 次方;3.0 ** 2的结果是 9.0,表示 3.0 的 2 次方

(2)赋值运算符

  1. 基本赋值运算符(=)
    • 功能:将等号右边的值赋给等号左边的变量。这是最基本的赋值操作。
    • 示例
      • x = 5,将整数 5 赋给变量 x。
      • s = "hello",将字符串 "hello" 赋给变量 s。
  2. 复合赋值运算符
    • 加法赋值运算符(+=)
      • 功能:等效于变量 = 变量 + 表达式。先将变量与表达式的值相加,再将结果赋给变量。
      • 示例
        • x = 3,执行x += 2后,x 的值变为 5,相当于执行了x = x+2
        • 对于字符串也适用,如s = "he",执行s += "llo"后,s 的值变为 "hello",相当于s = s + "llo"
    • 减法赋值运算符(-=)
      • 功能:等效于变量 = 变量 - 表达式
      • 示例
        • x = 5,执行x -= 3后,x 的值变为 2,相当于x = x - 3
    • 乘法赋值运算符(*=)
      • 功能:等效于变量 = 变量 * 表达式
      • 示例
        • x = 2,执行x *= 3后,x 的值变为 6,相当于x = x * 3
        • 对于字符串,如s = "a",执行s *= 3后,s 的值变为 "aaa",相当于s = s * 3
    • 除法赋值运算符(/=)
      • 功能:等效于变量 = 变量 / 表达式
      • 示例
        • x = 6,执行x /= 2后,x 的值变为 3.0,相当于x = x/2
    • 整除赋值运算符(//=)
      • 功能:等效于变量 = 变量 // 表达式
      • 示例
        • x = 7,执行x //= 2后,x 的值变为 3,相当于x = x//2
    • 取余赋值运算符(%=)
      • 功能:等效于变量 = 变量 % 表达式
      • 示例
        • x = 7,执行x %= 2后,x 的值变为 1,相当于x = x%2
    • 幂赋值运算符(**=)
      • 功能:等效于变量 = 变量 ** 表达式
      • 示例
        • x = 2,执行x **= 3后,x 的值变为 8,相当于x = x**3

(3)比较运算符

  1. 等于(==)
    • 功能:比较两个值是否相等,如果相等则返回True,否则返回False
    • 示例
      • 数值比较:3 == 3返回True3 == 5返回False
      • 字符串比较:"hello" == "hello"返回True"hello" == "world"返回False
      • 不同类型之间比较:在 Python 中,不同类型的值进行==比较时,通常会根据一定的规则进行转换后再比较(例如,数字和字符串数字可能会进行转换后比较),不过这种比较方式在编写代码时应谨慎使用。例如,3 == "3"在 Python 中会返回False(Python 3 中严格区分类型,不会自动进行类型转换后比较相等性)。
  2. 不等于(!=)
    • 功能:比较两个值是否不相等,如果不相等则返回True,否则返回False
    • 示例
      • 3!= 5返回True3!= 3返回False
      • "hello"!= "world"返回True"hello"!= "hello"返回False
  3. 大于(>)
    • 功能:判断左边的值是否大于右边的值,如果是则返回True,否则返回False
    • 示例
      • 5 > 3返回True3 > 5返回False
  4. 小于(<)
    • 功能:判断左边的值是否小于右边的值,如果是则返回True,否则返回False
    • 示例
      • 3 < 5返回True5 < 3返回False
  5. 大于等于(>=)
    • 功能:判断左边的值是否大于或等于右边的值,如果是则返回True,否则返回False
    • 示例
      • 5 >= 3返回True3 >= 3返回True3 >= 5返回False
  6. 小于等于(<=)
    • 功能:判断左边的值是否小于或等于右边的值,如果是则返回True,否则返回False
    • 示例
      • 3 <= 5返回True3 <= 3返回True5 <= 3返回False

(4)逻辑运算符

  1. 逻辑与(and)
    • 功能:当使用and连接两个表达式时,只有当两个表达式都为True时,整个逻辑表达式的结果才为True;如果其中一个表达式为False,则整个表达式为False。逻辑与运算会按照从左到右的顺序进行计算,一旦发现某个表达式为False,就不会再计算后面的表达式(这种特性称为短路求值)。
    • 示例
      • True and True结果为True
      • True and False结果为False
      • 在实际代码中,例如x = 5; y = 10; (x > 3 and y < 15)结果为True,因为x > 3Truey < 15True
  2. 逻辑或(or)
    • 功能:当使用or连接两个表达式时,只要其中一个表达式为True,整个逻辑表达式的结果就为True;只有当两个表达式都为False时,整个表达式才为False。同样,逻辑或运算也具有短路求值的特性,即一旦发现某个表达式为True,就不会再计算后面的表达式。
    • 示例
      • True or True结果为True
      • False or True结果为True
      • False or False结果为False
      • 在代码中,如x = 2; y = 3; (x > 5 or y < 5)结果为True,因为y < 5True
  3. 逻辑非(not)
    • 功能:对一个表达式取反。如果表达式原本为True,使用not操作后变为False;如果表达式原本为False,使用not操作后变为True
    • 示例
      • not True结果为False
      • not False结果为True
      • 在实际应用中,例如x = 5; not (x > 10)结果为True,因为x > 10False,取反后为True

(5)位运算符

  1. 按位与(&)
    • 功能:对两个操作数的二进制位进行与运算。只有当两个对应的二进制位都为1时,结果位才为1,否则为0。
    • 示例
      • 计算3 & 5:
        • 3的二进制表示为0011(假设为8位二进制数,这里只显示低4位)。
        • 5的二进制表示为0101。
        • 按位与运算:
          • 0011
            & 0101
           
           

          0001

        • 所以3 & 5的结果为1。
  2. 按位或(|)
    • 功能:对两个操作数的二进制位进行或运算。只要两个对应的二进制位中有一个为1,结果位就为1;只有当两个位都为0时,结果位才为0。
    • 示例
      • 计算3 | 5:
        • 3的二进制表示为0011。
        • 5的二进制表示为0101。
        • 按位或运算:
          • 0011
            | 0101
           
           

          0111

        • 所以3 | 5的结果为7。
  3. 按位异或(^)
    • 功能:对两个操作数的二进制位进行异或运算。当两个对应的二进制位不同时(一个为0,一个为1),结果位为1;当两个位相同时(都为0或都为1),结果位为0。
    • 示例
      • 计算3 ^ 5:
        • 3的二进制表示为0011。
        • 5的二进制表示为0101。
        • 按位异或运算:
          • 0011
            ^ 0101
           
           

          0110

        • 所以3 ^ 5的结果为6。
  4. 按位取反(~)
    • 功能:对操作数的二进制位进行取反操作,0变为1,1变为0。需要注意的是,在Python中,由于整数是有符号数,按位取反后的结果是对该数补码的操作。
    • 示例
      • 计算~3:
        • 3的二进制表示为0011(假设为8位二进制数)。
        • 按位取反得到1100,这是补码形式。在有符号数中,1100表示 - 4。
        • 所以~3的结果为 - 4。
  5. 左移(<<)
    • 功能:将操作数的二进制位向左移动指定的位数,右边空出的位用0填充。左移一位相当于乘以2。
    • 示例
      • 计算3 << 1:
        • 3的二进制表示为0011。
        • 左移1位后得到0110,结果为6,相当于3×2。
  6. 右移(>>)
    • 功能:将操作数的二进制位向右移动指定的位数,左边空出的位如果是有符号数则用符号位填充(正数用0填充,负数用1填充),如果是无符号数则用0填充。右移一位相当于除以2(取整)。
    • 示例
      • 计算6 >> 1:
        • 6的二进制表示为0110。
        • 右移1位后得到0011,结果为3,相当于6÷2。

(6)运算符的优先级

优先级高的先执行,优先级低的后执行,优先级相同的按照从左向右的顺序运行。括号的优先级最高,所以一般使用括号来限定运算次序,避免运算次序发生错误。

运算优先级从高到低顺序的列表如下:

优先级顺序运算符
1括号 ()
2幂运算符 **
3一元运算符(+-~
4乘(*)、除(/)、整除(//)、取余(%
5加(+)、减(-
6按位左移(<<)、按位右移(>>
7按位与(&
8按位异或(^
9按位或(&
10比较运算符(==!=><>=<=
11逻辑非(not)、逻辑与(and)、逻辑或(or
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值