【Python】初学自用笔记 第一篇 语言基础

前言

      python是一门便捷优雅的计算机语言,为了加入学校的自然语言处理实验室,我开始学习python,并在这里记录我的学习历程。

      在学习python之前,我学过了一些C++,所以在C++学习里已经理解甚至适应了的东西,我就不会再在这里记录了,所以这个系列的笔记依然是自用的,我只会记录一些自己学之前不知道或不清楚的东西,并写下自己对它的理解。

编程规范

缩进  缩进就是在一行代码前打四个空格,也可以直接敲键盘上的tab。python对缩进的使用很严格,不会像C++那样每一行代码前都可以随意打空格或者直接顶格,所以在写代码时,没有要求就不要随意缩进;其次,在python里,要用到缩进的语句一般是代码段,比如 if 语句,for 语句和 while 语句。

句末无标点  不用像C++那样每句最后都要有个分号,这就是Python的优越性嘛。

注释  想给代码加注释,单行的话用#来加;如果要加多行注释,就得用三个单引号或三个双引号把注释括起来。

a = input()
b = input()
a = int(a)
b = int(b)
'''以上语句的意思是,
输入a和b,
定义a和b是整数'''
c = a + b
print(c)#输出a与b的和——c。

数据类型

整型  就是整数类型的数据,其实就是整数,有特点的是如果要用很大的数,比如1000000000,可以表示为 1_000_000_000_000。python中的数都没有大小限制。

浮点型  就是带小数点的数,可以用科学计数法,比如2.2e12就代表2_212_000_000_000。

字符串  用单引号或双引号把任意文本括起来,里面的文本就是字符串,但这里需要注意的是,字符串不包括外边的引号;

关于字符串的一些注意点

1. 单个字符:单个字符也属于字符串;

2. 关于引号:若要在字符串里表现单引号,就在字符串外用双引号,若要用双引号则相反;

                      但如果字符串里单双都有,则外面无所谓,里面的每一个引号前加一个转义字符  \ 就行了;

print("He said,\"I\'m fine,thank you!\"")
#输出 He said,"I'm fine,thank you!"

3. 转义字符:用 \ 可以转移很多种字符,比如 \n 表示换行,\t 表示制表符,\\ 表示 \ ;

                      若不希望 \ 在字符串中被理解成转义符,可以在引号前加一个 r 成为原生(raw)字符串,这样里面的 \ 就只是普通的字符了;但不能用到有关单双引号冲突的字符串,那会导致编译错误;

print(r"This\is\a\notebook.")
#输出 This\is\a\notebook.

4. 多行字符:可以用三个单引号或双引号将多行字符串括起来,例如:

print('''锄禾日当午,
汗滴禾下土。
谁知盘中餐,
粒粒皆辛苦。''')
'''输出 
      锄禾日当午,
      汗滴禾下土。
      谁知盘中餐,
      粒粒皆辛苦。'''

                     多行输出时,若不想换行,可在一行结尾加上撇杠 \ ,这样就直接两行合在一行输出;

print('''锄禾日当午,\

          汗滴禾下土.\

          谁知盘中餐,\

          粒粒皆辛苦。''')
'''输出
        锄禾日当午,汗滴禾下土。谁知盘中餐,粒粒皆辛苦。'''

布尔值  只有 True 和 False 这两种。

空值  用None表示,表示什么也没有,也不是0。

强制类型转换

数值类型(int、float、complex、bool)

整型 int(x)

  • 将浮点型数据强制转换成整型,它会默认将小数点后的数值舍去,不存在四舍五入
  • 将布尔值强制转换成整型,它会默认将True和False的值转变为1和0
  • 复数不能强制转化成整型,它会报错
  • 字符串能够强制转化为整型,但首先字符串必须是全数字,否则不行,会报错
  • int只能对 int float bool str(必须是全数字) 进行转换

浮点型 float(x)

  • 将整型强制转化为浮点型,它会默认在整型之后面加上小数点.0
  • 将布尔值强制转化为浮点型,它会默认将Ture和False的值转化为1.0和0.0
  • 复数不能转化为浮点型,它会报错
  • 字符串能够强制转化为浮点型,但首先字符串必须是全数字,否则不行,会报错

复数 complex(x)

  • 将整型强制转化为复数,它会默认在整型后面加上 0j
  • 将浮点型强制转换为复数,同上
  • 将布尔值强制转化为复数,它会将True转化为 1+0j,False转化为 0j
  • 将字符串强制转化为复数,但首先字符串必须是全数字,否则不行,会报错

布尔值 bool(x)

  • bool 可以转换所有的数据类型均为True
  • 唯独有以下九种情况 会为False:
整数浮点数复数布尔值字符串元组列表集合系统关键字字典
00.00jFalse""()[]set()None{}

注:None 系统关键字 无特殊意义 代表啥也没有一般用于初始化变量的时候


容器类型(str、list、tuple、set、dict)

容器类型进行强制转化,只能相互转化,不能转化为数据类型

字符串 str(x)

  • 所有数据类型都可以强制转化成字符串str
  • 规律: 在原有类型基础上,在外套一层引号即可

列表 list(x)

  • 所有数据类型都可以强制转化成列表list
  • 强制转换规律:
字符串→列表把字符串当中的每一个字符当成列表中的新元素,其它都是在原有数据类型上,在外面套一个[]即可
字典→列表会在外套一层 [] 同时只保留字典里的键,而忽略字典里的值

元组 tuple(x)

  • 所有数据类型都可以强制转化成元组tuple
  • 强制转换规律:如果是字符串,把字符串当中的每一个字符当成元组中的新元素,其它都是在原有数据类型上,在外面套一个 () 即可
  • 将字典强制转化为元组时,它会在外套一层 () 同时只保留字典里的键,而忽略字典里的值

集合 set(x)

  • 所有数据类型都可以强制转化成集合set
  • 强制转换规律:如果是字符串,把字符串当中的每一个字符当成列表中的新元素,(列表中的字符串会无序排列,因为集合本是无序排列)其它都是在原有数据类型上,在外面套一个 {} 即可
  • 将字典强制转化为集合时,它会在外套一层{}同时只保留字典里的键,而忽略字典里的值

其他重要转换格式

  • dict(x):强制转化成字典dict
  • repr(x):将x转化成一个表达式字符串
  • chr(x):将整数x转化为一个字符
  • unichr(x) :将一个整数x转换为Unicode字符
  • ord(x):将字符x转换成为对应的整数值
  • hex(x):将整数x转换成为一个16进制字符串
  • oct(x):将整数x转换成为一个8进制字符串
  • eval(str):计算在字符串中的有效python表达式,并返回一个对象

type()函数可以判断数据类型

变量

用途  变量用于存储数据;

规范  变量名可以是各种文字的字母,可以是数字和符号 _ ,但依然不能用数字开头;

         注意赋值语句的左端是变量,右端是赋给变量的东西,数字和布尔值可以直接写,但是字符           串还是要用引号括起来;

连续赋值  可以在一句里进行多次赋值:

a=b=c=1
#依次将1赋值给c,b,a。

多重赋值  还可以用一个赋值号给多个变量按顺序赋值;

                多个变量同时赋不同的值,值的数据类型可以不同:

year,month,day,date=2022,11,5,Saturday
"""等价于:
year=2022
month=11
day=5
date=Saturday"""

类型规定 变量得在需要的时候规定类型,因为一般默认输入的是字符串,所以可以用强制类型转换的方式来得到想要类型的变量,例如:

#输入a,将a的类型转换整型:
a=input()
a=int(a)
#或者将两句合成一句:
a=int(input())

“常量”  一般用大写字母表示常量,但是不能保证它不会被改变。

输入 输出

输入  用 input() 来输入,默认输入的是字符。对于输入数字来说,在 input() 外,可以做强制类型转换,也就是加上int()、float()、complex() 或 bool(),但是最好不要在输入时就强制转换,因为不知道后面会用到什么类型的数;

a = int(input())
'''等价于a = input()
         a = int(a)'''
b = float(input())#注意,在python里面将数据强制转换成实型也就是浮点型,只能用float,不能用double!
c = complex(input())#将数值强制转换为复数。
d = bool(input())#强制转换为布尔值,只要是非零的数据都会输出True。

多行输入 可以用for循环来做,具体如下:

##指定行数输入,以输出10行为例:
a=[input() for i in range(1,10)]

##行数不定,以下面为例:
a,b,c=map(int,input().split())
s=[input() for i in range(1,a+1)]##在input语句后加上for循环语句,外面还要有方括号!
text=list(s)
for i in text:
    i=int(i)
    if i*i>b*b+c*c:
        print("NE")
    else:
        print("DA")

输入提示 在运行时先打印出提示,引导用户输入数据,应注意括号里的提示语句作为字符串,外边要有引号。示例如下:

integer=input("Please input a number:")
#运行后会先输出 Please input a number: ,用户才可输入数据。

输出  用 print( ) 来输出。

逗号的应用  可以在括号里面用逗号隔开多个包在引号里的字符串,这样就会输出多个用空格隔开的字符串;

自动计算  里面也可以进行四则运算,它会输出结果;

解释函数  往里面写一个python,就会输出对于这个已经定义了的函数的描述。

print("I'm","your","father.")
'''会输出 I'm your father.
   因为每个字符串中间都用逗号隔开,所以在输出的语句里,逗号就变成了空格。'''

运算符

算术运算符:大体与C++相同,有三点不同,“/”在python里就是传统意义上的除法,而“//”才是整除,“**”是乘方的意思,2**8就是2的8次方。

比较运算符:和C++相同,只是返回值不同,C++的返回值是0或1,而python的返回值是True或False

赋值运算符:“=”就是赋值符,python也有自赋值运算符,格式同C++,注意在python里对一个数取相反数这样写:a=-a

逻辑运算符:and  or  not  ;返回值依旧是True或False

后记

第一次实验室培训所学到的python知识还不多,好好巩固,继续努力!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值