变量名称

Python没有关键字来表示常量,只能靠程序员自觉。
申明变量时不需要有变量类型,变量命名要求如下:

  • 只能包含数字、字母、下划线_
  • 不能以数字开头
  • 不能有空格
  • 区分大小写
  • 关键字不能作为标识符
  • 不要使用Python内置函数作为自己的标识符
    ![[Pasted image 20230213163313.png]]
# Checking data types

print(type(10)) # Int
print(type(3.14)) # Float
print(type(1 + 3j)) # Complex
print(type('Asabeneh')) # String
print(type([1, 2, 3])) # List
print(type({'name':'Asabeneh'})) # Dictionary
print(type({9.8, 3.14, 2.7})) # Set
print(type((9.8, 3.14, 2.7))) # Tuple

注释

单行注释用#,多行用三个双引号或单引号

数据类型

整型、浮点型和字符串数据类型

整数类型

都是int,十进制,可以很大,取决于及其硬件,没有long和short类型

  • 二进制:0b或0B
  • 八进制:0o或0O
  • 十六进制:0x或0X

浮点数

python支持float,双精度,也可用科学计数法来表示
如 3.75e3 == 3750.0
浮点数的加、减法可能会不精确,可以导入模块来处理

浮点型和整型可以相等

42 != ‘42’ 42 == 42.0 42 == 0042.000

字符串

  • 普通字符:可用单引号或双引号来表示:‘a’、‘hello!’、‘123 asha’、‘’
  • 原始字符串(raw string):在不同字符串前面加r,这样的话字符串中的特殊字符不会转义
  • python中的变量必须先定义 python变量需要指定类型吗_python

  • 长字符串:包含了换行缩进等排版字符,可以用三重单引号或三重双引号包裹,这样的话会输出换行

python中的变量必须先定义 python变量需要指定类型吗_Python_02

字符串的连接

Python中使用 + 号可以实现对于多个字符串的连接:
print(‘123 ‘+’’+‘1ww ad’) 输出结果为 ‘123 1ww ad’
但是请注意不能 ‘a’+1 ,这是无效的,Python不能自动进行类型转换。

字符串的复制

Python中使用 ==*==号可以实现对于字符串的复制:
print('123 ’ * 2) 输出结果为 ‘123123’
注意:*号可以用在两个数字之间或一个字符串和整型值之间,其余不可。

转义字符和原字符

转义字符

  • \t :表示用空格填充每组剩下来的字符(每四个为一组,即制表位)
• print(“hello world”) = hello world(之间三个空格)
  • \r :将光标回退到本行开头输入
• print(“hello\r”) = hello
• print(“hello\rr”)
  • \b:回退一格
• print(“hello\rworld”) = hellword

原字符 = 禁用转义字符

即不希望使用转义字符,而是使用原字符,可以通过在字符串之前加r或R

• print(r"hello\nworld") = hello\nworld
  • print(r’hello\nworld\(这里表示最末尾有一个反斜线)') 会报错,因为末尾会把’变为原字符,但是偶数个反斜杠可以

复数类型

1+2j表示实部是1,复部是2。

可以利用type查看数据类型:

布尔类型

bool是int的子类,任何数据类型都可以通过bool()转化为布尔值(True或False)。

  • 有东西/值为True
  • 无东西/值为False,None、False、0、0.0、0j、“”、‘’、[]、{}和()都是False

数据类型转化

显示转化

利用int()和float()

隐式转化

布尔值会将True和False转为1/0或1.0/0.0

python中的变量必须先定义 python变量需要指定类型吗_开发语言_03

Python基础函数

print()

print()可以输出数字、字符串或含有运算符的表达式,但表达式需为正确有效的值,如 2+’as’ 就不可以。
python是依靠缩进来区分代码的层级的,但是也可以加上分号提高代码的可读性。

format()

‘{key : fill, align, sign,0,width, precision, type}’.format(para1…)
参数介绍:

  • fill:用来指定填充字符,默认为空格
  • align:指定对齐方式:>为右对齐,<为左对齐,^为居中对齐
  • sign:指定是否保留正负号:+为保留正负号,-为仅保留负号
  • 宽度前面如果加0则表示用0填充
  • width:指定宽度
  • precision:指定精确度
  • type:指定类型,如b为二进制,x为十六进制
    函数运用:
  • 可以用0,1…来表示填充的内容
  • 也可以用关键词来填充
  • python中的变量必须先定义 python变量需要指定类型吗_开发语言_04

  • 填充物、对齐和宽度
  • 填充物(fill):填充的物品,此处是用以填充的字符,数字等,值得注意的是填写引号、括号等需要用\转义符转义。
  • 对齐(align):对齐方式有三种居中(^)、>为右对齐、<为左对齐
  • 宽度(width):填入参数为数据即所占位置多少的参数
  • 用等号填充
  • sign参数保留正负号
  • 用引号填充
  • 指定精度(.nf)、分隔符(,)、进制(o,b,d,x)
  • o,b,d,x:二进制、八进制,十进制、十六进制

input()

input()函数具有输出的功能,会等待用户输入文本,并按回车键(不包含).
输入值为str,将会保存为字符串形式,可以用int或float转化。
a = input(“what do you want?”)

len()

len(‘ahs a’) 的值为5,len(“”)==len(‘’)==0
len函数允许传入字符串或包含字符串的变量。

str()、int()和float()

  • str函数可以把括号中的转化为字符串形式
  • str(29) == ‘29’
  • str(-2.9) == ‘-2.9’
  • int函数可以把字符串、浮点数转化为整数。但是不能将一个求值为整数的值给int,如 two=2,int(‘two’) 或 int(‘2.1’)
  • int(‘-9.9’) 会报错
  • int(‘-99’) == -99
  • int(1.99) == 1
  • int(1.01) == 1
  • float函数可以把字符串、整数转化为浮点数
  • float(‘-3.14’) == -3.14
  • float(‘-1’) == -1.0

字符串查找

str.find(sub[,start[,end]])

在索引start到end之间查找子字符串sub

  • 如果找到返回最左端位置的索引,如果没有找到返回-1
  • 如果start省略说明查找从字符串头开始
  • 如果end省略说明查找到字符串尾结束
  • 如果全部省略就是查找全部字符串

str.rfind(sub[,start[,end]])

  • 与find方法类似,区别是如果返回找到的最后一个位置的字符串索引值(但是返回的也是这个字符串的最开始的位置)
  • 若没有找到就返回-1
  • 如果在查找的范围内只找到一处子字符串,那么这里find和rfind方法返回值相同的
  • 字符串索引是从0开始

round()

round(number,digits) 将返回x的值,该值四舍五入到小数点后的n位数字。

  • 参数:
  • digits>0,四舍五入到指定的小数位
  • digits=0, 四舍五入到最接近的整数
  • digits<0 ,在小数点左侧进行四舍五入
  • 如果round()函数只有number这个参数,等同于digits=0
  • 四舍六入规则:
  • 要求保留位数的后一位<=4,则不进位,如round(5.214,2)保留小数点后两位,结果是 5.21
  • 要求保留位数的后一位“=5”,且该位数后面没有数字,不进位,如round(5.215,2),结果为5.21。==但注意:在python 3中,对于X.5,当X为偶数时,不进位,为奇数时进位。如round(1.5)=2 round(2.5)=2 ,即“奇进偶不进”;==在python 2中,会保留距离0更远的数值;不过具体的规则还和计算机精度有关。
  • 要求保留位数的后一位“=5”,且该位数后面有数字,则进位,如round(5.2151,2),结果为5.22
  • 要求保留位数的后一位“>=6”,则进位。如round(5.216,2),结果为5.22
    除非对精度没有什么明确要求,否则尽量避免用round()函数。
    使用math模块中的一些函数,比如math.ceil(天花板除法,向上取整),math.floor()(向下取整,int是截断,区别是负数时floor远离0,int靠近0)。
  • python自带整除,python2中是/,3中是//,还有div函数。
  • 字符串格式化可以做截断使用,例如 “%.2f” % value(保留两位小数并变成字符串……如果还想用浮点数请披上float()的外衣)
price = 12.567
print(f"苹果的价格是{price:.2f}") # 苹果的价格是12.57

type()和id()

type()会输出变量类型,<class ‘str’>…
id()会输出该元素的地址,123131332…,变量多次赋值之后,会指向新的空间