Python基础语法

0_HelloWorld

对于一个程序员来说,学习任何一门语言都要从HelloWorld开始
Python的HelloWorld相对于其他语言比如C++,Java来说简直简单到爆
只需要一行就可以搞定

>>> print("HelloWorld")
HelloWorld

当然,代码最终还是要写在文件中的
我们可以在IDE或者文本编辑器中输入

print("HelloWorld")

然后

  • 保存文件
  • 切换到文件所在目录
  • 打开命令行 输入 python 文件名.py 后回车

这样就可以看到该文件的执行结果

1_Python基础语法

1.1_缩进格式

python中没有{},所有代码都是通过缩进来控制代码格式的
比如

一段js代码

function A(){
    console.log(1);
}

一段python代码

def A():
    print(1)

从某些角度上来看,python的缩进更适合手敲代码,而不适合复制粘贴

还有python语句一行结束后不需要加上分号
但是比如if while for…语句结束都要加上冒号

for i in range(1,10):
    print(i)

1.2_注释

一般来说大部分的语言

单行注释:       //注释内容
多行注释:       /*注释内容*/
文档注释:

    /**
    * 文档注释
    *内容
    */

而python不一样

单行注释:   #
多行注释:   
    """
    注释内容
    """

三引号如果没有赋值给变量的话,那么就是多行注释或者文档注释

1.3_字面常量

比如 1 2 4 或者”a”,”b”,”abc”
这样数字或者字符串,它们的值是不能被修改的

1.4_标识符

Identifiers
标识符一般可以包括

  • 变量名
  • 函数名(类之外) / 方法名(类中)
  • 类名

在python中定义标识符需要遵守以下规则

  • 标识符是由 大小写字母(a-zA-Z),数字(0-9),下划线(_)组成 [php,js,java还可以使用$,但是python不行]
  • 数字不能作为开头
  • 区分大小写
  • 不能使用关键字作为标识符,最好不要使用内置的东西
  • 见名知意

python标识符的规范
- abc_def
- abcDef
- AbcDef

1.5_运算符

算术运算符

+
-
*
/  浮点除法
// 整数除法
** 幂 还有pow()方法也可以进行幂运算

赋值运算符

= 
算术运算符 加上 = (比如 += -=)
位运算符 加上 =   (比如 &= |=)

a = a + 1   # 两步运算
a += 1      # 一步运算

比较运算符

==
!=
<
>
<=
>=

带有比较运算符和逻辑运算符的表达式值的类型为布尔值
比如1==1 的值是True

逻辑运算符

and 
or
not

# 注意
'a' and 'b' -> 'b'
'a' or 'b' -> 'a'

not '0' ->False

In [21]: 1 and 0
Out[21]: 0

In [22]: 2 and 1
Out[22]: 1

In [23]: '' and 1
Out[23]: ''

python中的and是短路与
or是短路或

成员运算符

in
not in
# 判断元素是否在容器中(比如序列 集合 字典等)

# 注意
字典的成员运算是判断 变量的值是否能在字典中找到对应的key
而不是找value

身份运算符

is
is not

就是比较内存地址

比如
a = {1,2,3}
b = {2,1,3}
a == b      # True
a is b      # False

位运算符

把数字当做二进制数进行计算
>> << >>>


a = 5&6         #按位与
b = 5|6         #按位或
c = 5^6         #按位异或
d = 5^6^6       #按位异或两次相同的值
e = ~5          #按位取反
print(a)
print(b)
print(c)
print(d)
print(e)

# 运行结果
4
7
3
5
-6

关于二进制运算的深入会在之后补充

另外要注意的是
还有python是没有 ++/–
可以通过()来控制运算符的优先级

三元运算符

变量 = value1 if 条件表达式 else value2
# 条件表达式为True 变量=value1
# 反之 变量= value2

1.6_表达式

2+3 这就是一个表达式 值为5
上面提过的1==1 是一个表达式 这个表达式是布尔表达式 值为True

可以将表达式看成是一个值

1.7_中文输入

py3中字符串都是unicode格式的,py3默认支持utf-8格式的编码
而py2是支持ascii码的

如果想要在python2中使用中文的话

# -*- coding:utf-8 -*-

还有
另外linux中python文件还要加一行

#!/usr/bin/env python

这行是python解释器的路径
来执行python文件(在windows下有没有这个无所谓 因为已经设置了环境变量了)

1.8_帮助

查看帮助可以使用help()

type() 可以查看对象的数据类型
id() 可以查看对象的内存地址

查看关键字

n [57]: keyword.kwlist

判断某字符的内容知否为关键字

In [58]: keyword.iskeyword('def')
Out[58]: True

In [59]: keyword.iskeyword('class')
Out[59]: True

In [60]: keyword.iskeyword('True')
Out[60]: True

In [61]: keyword.iskeyword('main')
Out[61]: False

通过dir() 可以查看模块中可以使用的所有变量和函数

dir(__builtins__) 可以查看python内置的函数/变量
查看类的所有属性名

class A:
    pass

print(dir(A))
# ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

查看类的属性dict

class A:
    pass


{
    '__module__': '__main__', 
    '__dict__': <attribute '__dict__' of 'A' objects>, 
    '__weakref__': <attribute '__weakref__' of 'A' objects>, 
    '__doc__': None
}

1.9_一切皆为对象

python中一切皆为对象
不仅类的实例 函数也可以看做对象
dir(函数名) 也能看到许多属性或方法

python中 一个简单的数字也是一个对象 字符串也是一个对象

在内存中 标识符指向对象,如果给标识符重新赋值的话,那么标识符就会指向其他的对象

In [7]: a = 1

In [8]: id(a)
Out[8]: 1810325664

In [9]: a = 2

In [10]: id(a)
Out[10]: 1810325696

还可以这样

In [79]: a = [1,1,1,1,1,1]

In [80]: id(a[0]) == id(a[1])
Out[80]: True

In [81]: id(a[1]) == id(a[2])
Out[81]: True

In [82]: id(a[3]) == id(a[4])
Out[82]: True

In [83]: id(a[4]) == id(a[5])
Out[83]: True

In [86]: id(a[5]) == id(a[0])
Out[86]: True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值