3.1python基础01

一、python入门

1.1Python环境搭建

1.2 注释

  • Python 单行注释
    Python 使用井号#作为单行注释的符号
  • Python 多行注释
    Python 使用三个连续的单引号’''或者三个连续的双引号"""注释多行内容

1.3 python标识符命名规范

简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。

  • 命令规则

    • 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
    • 标识符不能和 Python 中的保留字相同
    • Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符
    • 除非特定场景需要,应避免使用以下划线开头的标识符。
      • 以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from…import* 的方式导入;
      • 以双下划线开头的标识符(如__add)表示类的私有成员;
      • 以双下划线作为开头和结尾的标识符(如 __ini__),是专用标识符
    • 应尽量避免使用汉字作为标识符
  • 标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循

    • 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。
    • 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。
    • 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。
    • 模块内部的类名,可以采用 “下划线+首字母大写” 的形式,如 _Book;
    • 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;
    • 常量命名应全部使用大写字母,单词之间可以用下划线分割;

1.4 Python关键字(保留字)

保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

1.5 Python内置函数

Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。

>>> dir(__builtins__)

二、python变量类型和运算符

2.1 变量的定义和使用

a,b=1,2

2.1.1 Python是弱类型的语言

弱类型语言有两个特点:

  • 变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
  • 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。

2.2数值类型

Python中数有四种数值类型:整数、长整数、浮点数和复数。

  • 整型, 如 1, -1, 0

  • 长整型,是比较大的整数,如 234234243324

  • 浮点型,如 1.23、3E-2

  • 复数,如 1 + 2j、 1.1 + 2.2j

在 Python 中查看类型,使用 type() 内置函数。

>>> type(2)
int
>>> type("2")
str

2.2.1十六进制、八进制和二进制

  • 十六进制:在 Pthon 中使用 0x 开头的“数字”表示十六进制的数。对于 9 以后的数字,没有对应的阿拉伯数字。则使用 a 表示 10 , b 表示 11 ,依次类推,最后 f 表示 15。 在十六进制表达中不区分“字母”的大小写

  • 八进制:在 Python 中使用 0o 开头的数字表示八进制, 注意 0 后面是英文字母 o

  • 二进制:0b 开关的表达式表示二进制。在二进制表达式中,只能使用数字 0 与 1

hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1)
print("hex2Value: ", hex2)
hex1Value:  69
hex2Value:  1199

2.2.2Python 数值类型转换

  • int(x) 将 x 转换为一个整数。

  • float(x) 将 x 转换到一个浮点数。

  • complex(x) 将 x 转换到一个复数,实数部分为 x ,虚数部分为 0 。

>>> a = 3.1415926
>>> int(a)
3
##转换为复数表达式。

>>> complex(a)
(3.1415926+0j)

2.2.3数值和表达式

‘/’除法运算的结果为小数,即浮点数

#无论操作数是整数还是浮点数,结果总都是浮点数
>>> 4.0 / 2
2.0
>>> 1 / 1
1.0

如果你想丢弃小数部分,即执行整除运算,可使用双斜杠 // 。

#无论操作数是整数还是浮点数,得到的商不保留浮点数的尾数
>>>4//2
2
>>>5.0//2
2.0

求余(求模)运算符,x % y的结果为x除以y的余数

>>> 10 % 3
1
>>> 2.75 % 0.5
0.25
>>> 10 % -3
-2
>>> 10 // -3
-4

乘方(求幂)运算符。 请注意,乘方运算符的优先级比求负(单目减)高,因此 -32 等价于 -(32) 。如果你要计算的是 (-3)**2 ,必须使用括号进行明确。

>>> -3 ** 2
-9
>>> (-3) ** 2
9

2.3Python字符串

2.3.1字符串连接和复制


#在操作两 个整型或浮点型值时, + 是相加操作符。但是,在用于两个字符串时,它将字符串 连接起来,成为“字符串连接”操作符。
>>> 'Alice' + 'Bob'
'AliceBob'
#如果你对一个字符串和一个整型值使用加操作符,Python就不知道如何处理
>>> 'Alice' + 42
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-5-4e9a9e71481a> in <module>
----> 1 'Alice' + 42


TypeError: can only concatenate str (not "int") to str

##在用于两个整型或浮点型值时,* 操作符表示乘法。 但* 操作符用于一个字符串 值和一个整型值时, 它变成了“字符串复制”操作符。
>>> 'Alice' * 5
'AliceAliceAliceAliceAlice'

2.3.2Python 访问字符串中的值

>>> var2 = "Runoob"
>>> print ("var2[1:5]: ", var2[1:5])
var2[1:5]:  unoo
        
#in 关键字的用法类似于操作系统,用于判断一个某个元素是否在一个列表或字符串中。

>>> if( "H" in a) :
>>>     print("H 在变量 a 中")
>>> else :
>>>     print("H 不在变量 a 中")
H 在变量 a 中



#not 关键字用于取反
>>> if( "M" not in a) :
>>>     print("M 不在变量 a 中")
>>> else :
>>>     print("M 在变量 a 中")
M 不在变量 a 中
        

2.3.3Python字符串格式化

用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

>>> "我叫%s,今年%d岁!" % ('小明', 10)
'我叫小明,今年10岁!'

Python 字符串格式化符号:

  • %s : 格式化字符串 ;

  • %d : 格式化整数 ;

  • %f : 格式化浮点数字,可指定小数点后的精度 ;

指定小数精度
%m.nf
%.nf
m 表示最小宽度,n 表示输出精度,.是必须存在的。


f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)

2.3.4单引号字符串以及对引号转义

单引号和双引号,大多数情况完全相同

'Let's go!'
报错

#反斜杠( \ )对引号进行转义
'Let\'s go!'

2.3.5 Python原始字符串

转义字符有时候会带来一些麻烦,例如我要表示一个包含 Windows 路径D:\Program Files\Python 3.8\python.exe这样的字符串,在 Python 程序中直接这样写肯定是不行的,不管是普通字符串还是长字符串。因为\的特殊性,我们需要对字符串中的每个\都进行转义,也就是写成D:\Program Files\Python 3.8\python.exe这种形式才行。

在普通字符串或者长字符串的开头加上r前缀,就变成了原始字符串,具体格式为:

str1 = r'原始字符串内容'
str2 = r"""原始字符串内容""
rstr = r'D:\Program Files\Python 3.8\python.exe'
print(rstr)

2.3.6 Unicode 字符串

https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896

Python 程序代码中可能存在若干种语言文字的标识符和字符串用于显示、输出或注释。为了存储和显示这些不同的语言文字,不同的国家和组织制定了若干种字符集标准。常见的字符集有 ASCII 字符集、简体中文 GB2312 字符集、繁体中文 Big5 字符集、简体中文 GB18030 字符集、Unicode 字符集等。

  • ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是由美国国家标准学会(American National Standard Institute,ANSI)制定的基于拉丁字母的一套电脑编码系统,ASCII 字符集是现今最通用的单字节编码系统,等同于国际标准 ISO/IEC 646。
  • GB2312和GB18030字符集是由中国制定的汉字编码字符集
  • Big5字符集是繁体中文社区中最常用的电脑汉字字符集标准
  • Unicode 是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

在Python3中,所有的字符串都是Unicode字符串,在 Unicode 中有很多方式将数字 23383 表示成程序中的数据,包括 UTF-8、UTF-16、UTF-32

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D05wg0Cx-1656062146825)(https://boostnote.io/api/teams/dlm1ZMj21/files/0971c779c2cf97bc40e136e29a66b04b029eb5ef84f40cae80904530464c4d1c-image.png)]

2.3.7 Python三引号

Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

>>> para_str = """这是一个多行字符串的实例
>>> 多行字符串可以使用制表符
>>> TAB ( \t )。
>>> 也可以使用换行符 [ \n ]。
>>> """
>>> print (para_str)

2.4 Python bytes类型及用法

bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的。

如果采用合适的字符集,字符串可以转换成字节串;反过来,字节串也可以恢复成对应的字符串。

#利用字符串的encode()方法编码成bytes,默认使用utf-8字符集
a= “学习”.encode(‘utf-8)

#调用 bytes 对象的 decode() 方法将其解码成字符串
st= a.decode(‘utf-8)

2.5 Python bool布尔类型

  • True 和 False 是 Python 中的关键字,当作为 Python 代码输入时,一定要注意字母的大小写,否则解释器会报错。
  • bool 类型就是用于代表某个事情的真(对)或假(错),如果这个事情是正确的,用 True(或 1)代表;如果这个事情是错误的,用 False(或 0)代表。

2.6 运算符

2.6.1 Python赋值运算符

#连续赋值
A=B=C=100
#扩展后的赋值运算符
x += y #类似于x = x + y
x -= y #类似于x = x - y

= 和 == 是两个不同的运算符,= 用来赋值,而 == 用来判断两边的值是否相等

2.6.2 Python三目运算符(三元运算符)

exp1 if contion else exp2

condition 是判断条件,exp1 和 exp2 是两个表达式。如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。

2.6.3Python 运算符优先级

运算符说明Python运算符优先级结合性
小括号( )19
索引运算符x[i] 或 x[i1: i2 [:i3]]18
属性访问x.attribute17
乘方**16
按位取反~15
符号运算符+(正号)、-(负号)14
乘除*、/、//、%13
加减+、-12
位移>>、<<11
按位与&10
按位异或^9
按位或|8
比较运算符==、!=、>、>=、<、<=7
is 运算符is、is not6
in 运算符in、not in5
逻辑非not4
逻辑与and3
逻辑或or2
逗号运算符exp1, exp21
4+4<<2
#类似于(4+4) << 2
  • Python 运算符结合性

100 / 25 * 16,/和*的优先级相同,应该先执行哪一个呢?

所谓结合性,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫左结合性,先执行右边的叫右结合性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值