python学习(超基础部分Day1)

学习平台:B站

学习链接:python编程基础入门-廖雪峰_哔哩哔哩_bilibili

廖雪峰的官方网站:安装Python - Python教程 - 廖雪峰的官方网站

up主:放羊Wa

1)解释器和编译器的区别

解释器是一句一句翻译执行,而编译器是全部拿过来执行。

2)基本的语句

输出语句:(以下是python 2 的内容)

print 1,2,3    输出结果为:1 2 3

a = 100

print a          输出结果为:100

print "a=",a   输出结果为:a=100

print "a=%d" % a

如果是python 3 ,打印的时候要用括号括起来:

print( 值1, 值2, 值3 )

(我目前在用的是3.11.11,现在好像连4都已经出来了)

3)交互模式

在terminal中敲出python,回车后出现三个箭头,也就是: >>>,也就是进入了交互模式,可以一行一行地运行了。

4)数据类型和运算符

在python中,变量是关联对象的一个符号。

它们就像java中定义的对象一样,有自己的方法,python里任何一个东西都被当成了一个对象。

python的核心数据类型和内置对象为:数字类型、字符串str、布尔类型bool、空值None。

数字类型包括:整型(int)、浮点型(float)、复数(complex)。

数字常量的表示:

十进制:0,100,-5,99999999999999999999999

二进制(0b开头):0b1101                                                                   ——支持二进制非常少见了

八进制(0o开头):0o66(54),0o11(9)

十六进制(0x开头):0x1A或0x1a(26),0x1a2b34d(27439949),0xFF(255)

这些进制打印的时候默认都是按照十进制打印的。

浮点数的表示:

十进制:3.14,3.0,3.,.14(但是python 3不支持只有一个小数点)

科学计数法:(小数e/E + n次幂,移动小数点用的)

6.18E-1  (0.618)

2.9979e8(299790000.0)

2.9979e-08(2.9979e-08)

复数(complex)的表示:(格式为 a+bj / a+bJ,也就是实部加虚部)

1+2j(打印出来有括号  (1+2j)     )

8.2j( 8.2j   没有实部只有虚部也是可以的)

1+3J(   (1+3j)   )

布尔类型(bool)的表示:

只有两种类型:真True (值为1), 假False(值为0)

即使是这样也是可以运行的:

if(1):
    print(True)

空值(None)的表示:

这是一个特殊的常量,不表示任何类型。它和其他类型比较永远返回空值。

算术运算符:

加减乘除一样,此外还有一个整数除:地板除  //

10/3 = 3.3333333333333335   (这里小数和整数的转换不太一样,,所以会有 5)

10 // 3 = 3

幂运算 **

a = 2

a ** 0.5 = a ** ( 1/ 2 ) = 1.4142135623730951(此时是平方根)

a ** 2 = 4(此时是平方)【感觉就像是java里面的 Math.pow(a, 2) 】

is / is not 运算符:

is判断两个变量是否绑定同一对象,is not正相反。

a is b  ------->   True (之前让a = b了)

del语句:

用于删除对象,同时解除与对象的关联,如果可能则释入对象。

del a(删除了a和它绑定的数)

复合运算符:

同java

比较运算符:

大部分同java(嗯,python 3.11.11也是支持 != 的)

这里可以直接判断一个数是否在一个区间内:

20 < a < 100  (因为a值为20,所以返回False)

if 20 > a:
    print(True)

生成对象的函数:

float(obj) 用于字符串或数字转换为浮点数,如果不给出参数,则返回0.0

int( x[, base = 10 ] )  用数字或字符串转换为整数,如果不给出参数,则返回0

complex( r = 0.0, i = 0.0 )  用数字生成一个复数(实部为r,虚部为i)

bool( x )  用 x 生成一个布尔值(True / False)

str( obj = ' ' )   用对象转换为字符串

bool函数返回假值False的情况:

False  逻辑假值

None  空值

0,0.0,0j  所有的数字0

type运算符:

type(b) 可以返回指定的对象类类型。

其他:

"" 空字符串

() 空元组

[] 空列表

{} 空字典

set() 空集合

5)数据变化

代码段、数据段、堆、栈(后三个可以变,但是代码段一旦运行就不能变了)

b = 2

这里 a = b,b就是一个表达式,用a去复制b。但这里因为是引用类型的,所以不会在空间中产生新的数据。

a = [1,2,3,4]  (应该是数组类型)

b = a

print(b)    就会打印为 [1,2,3,4]

a[0] = 100 则a的值变为 [100,2,3,4]

这种情况被称为“浅拷贝”(copy),虽然节省空间,但有一个坏处就是一荣俱荣,一损俱损。想要安全就要用到深拷贝(deepcopy)。

在Python中,可以使用copy模块的copy()函数来实现浅拷贝

import copy

original_list = [1, 2, [3, 4]]

shallow_copy_list = copy.copy(original_list)

深拷贝可以通过copy模块的deepcopy()函数来实现

import copy

original_list = [1, 2, [3, 4]]

deep_copy_list = copy.deepcopy(original_list)

python支持多个对象赋值:

a = 10; b = 20; c = "1234" 或者 a,b,c = 10, 20, "1234"

有一个地方要注意,python中不可以直接把两个表达式连在一起成为字符串,也就是:

c = 123+"123" 会报错。

可以改成 c = 123 + int("123")

这里还有一个泛型转换:c = a + int( 23.5242 ) = 33

如果是字符串传进去会包错:c = a + int( "497591" )

在 Python 中,泛型允许我们定义一个结构,比如一个类或一个函数,它可以适应多种类型而不仅仅是一个。这种方式可以保持代码的灵活性和通用性,同时仍然受益于类型检查的优势。

 6)常用函数

abs()  取x的绝对值

round( number[ , ndigits ] )   对数值进行四舍五入,ndigits是小数向右取整的位数。

例如:round( 3.52792, 3 ) = 3.528

pow( x y , z=None )    相当于 x ** y 或者 x ** y % z

help(函数名)  帮助函数,可以调出一个函数的帮助文档

7)语句

语句由一些表达式构成,通常一条语句可以独立的完成一部分事情并形成结果。(达成不同的结果使用的是控制语句,一类是分支、一类是循环)【语句是构成程序的最基本单位

条件语句:

if 真值表达式:

        语句1

elif 真值表达式:

        语句2

...

else:

        语句n

这里else和elif都是子句。

pass语句:

又名空语句,用来填充语法空白,表示略过,什么也没做

pass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值