Python基础 - 4.基础语法

本文详细介绍了Python的基础语法,包括注释、行和缩进的规则、标识符和关键字的使用,以及pass语句的作用。此外,还涵盖了多行语句、引号的使用、等待用户输入的方法、各种运算符的解释,如算术、比较、赋值和位运算符,并解释了数据类型的分类,如数值、字符串、列表、元组、集合和字典。最后,提到了习题和本章项目的源码链接。

注释

Python中的注释:

1 单行注释 # …

2 多行注释 ‘’’ …… ‘’’ “”"…."""

行和缩进

学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

标识符和关键字

Python中的标识符特点(其他编程语言的大同小异):

  • 第一个字符必须是字母或下划线

  • 其他字符可以是字母、下划线、数字

  • 标识符对大小写敏感

标识符不可以是关键字

Python中有33个关键字,通过如下命令可以查看

import keyword 
print(keyword.kwlist)

在这里插入图片描述

  • 特殊值(首字母大写):True、False、None

  • 运算符:is in not or and

  • 条件判断:if else elif

  • 循环:while for continue break

  • 异常:try except finally raise

  • 函数和类:def pass class global return

  • 其他:yield with nonlocal lambda import as

pass语句

空语句,用于占位。

多行语句

Python语句中一般以新行作为为语句的结束符。

但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

total = item_one + \\

item_two + \\

item_three

语句中包含[], {} 或 () 括号就不需要使用多行连接符。如下实例:

days = ['Monday', 'Tuesday', 'Wednesday',

'Thursday', 'Friday']

引号

Python 接收单引号(’ ),双引号(" ),三引号(’’’ “”")
来表示字符串,引号的开始与结束必须的相同类型的。

其中三引号可以由多行组成,编写多行文本的快捷语法,常用语文档字符串,在文件的特定地点,被当做注释。

word = 'word' 
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

等待用户输入

print("How old are you?")
age = input()
print ("so %s old" %age )

运算符

操作数、运算符

操作数:变量或数值常量

运算符:一些特殊的符合±*/

比如:8-3中,8和3属于操作数。减号属于运算符。

Python中的运算符:

1 算术运算符。

包括:+(加) -(减)*(乘) /(除) //(整除) %(求余) **(幂)

a = 8 
b = 3
print(a + b) \# 11
print(a - b) \# 5
print(a \* b) \# 24
 print(a / b) \# 2.6666666666666
print(a // b) \# 2
print(a % b) \# 2
print(a \*\* b) \# 512

2 比较运算符

包括:>(大于)、>=(大于或等于)、<(小于)、<=(小于或等于)、==(等于)、!=(不等于)

3 赋值运算符

包括:=(赋值语句)、+=(加法赋值)、-=(减法赋值)、*=(乘法赋值)、/=(除法赋值)、**=(幂赋值)、//=(整除赋值)、%=(求余赋值)

a += 1 就是指 a = a + 1。其他类似

注意:python中没有a++之类的操作。

4 位运算符

&(位与)、|(位或)、^(异或)、~(位反)、<<(左移)、>>(右移)

注意:

  • 位与的特点:0&0=0 0&1=0 1&0=0 1&1=1

  • 位或的特点:0|0=0 0|1=1 1|0=1 1|1=1

  • 异或的特点:0^0=0 0^1=1 1^0=1 1^1=0(相同为0,不同为1;不进位加法)

  • 位反的特点:~0=1 ~1=0

  • 左移的特点:左移一位就是乘以2

  • 右移的特点:右移一位就是除以2(整除)

  • 1字节(byte)=8位(bit)

  • 1位就是指0或1

  • 1字节长度是8位,取值范围-128~127(有符号),0~255(无符号)

a = 19  # 0b 0001 0011 

b = 25 # 0b 0001 1001

print(a & b)  # 0b 0001 0001 17

a = 19 # 0b 0001 0011

b = 25 # 0b 0001 1001

print(a | b)  # 0b 0001 1011 27

a = 19 # 0b 0001 0011

b = 25 # 0b 0001 1001

print(a ^ b)  # 0b 0000 1010 10

a = 19 # 0b 0001 0011

print(~a)  # 0b 1110 1100 -20

a = 19 # 0b 0001 0011

print(a <<1) # 0b 0010 0110 38

a = 19 # 0b 0001 0011

print(a >>1) # 0b 0000 1001 9

5 逻辑运算符

and(逻辑与)or(逻辑或) not(逻辑非)

注意:位运算符是对整数进行操作。逻辑运算是对布尔型进行操作。

  • True and True = True; True and False = False; False and True = False; False and False = False

  • True or True = True; True or False = True; False or True = True; False or False = False

  • not True = False;not False = True

6 成员运算符

in(在序列中)、not in(不在序列中)

注意:主要是对序列进行操作。包括列表、元组、字符串

value1 =  "hello" 

print( 'h' in value1)  # True

 print( 'ha' in value1)  # False

 print( 'h' notin value1)  # False

print( 'ha' notin value1)  # True

7 身份运算符

is(两个标识符是同一个对象)、is not(两个标识符不是同一个对象)

a =  "hello"  

b =  "hello" 

print(a is b)  # True

print(a isnot b)  # False

c =  "helloworld" 

print(a is c)  # False

print(a isnot c)  # True

8 优先级。

略。如果希望哪个运算符优先执行,自己加括号。

数据类型

Python3中的数据类型

  • Number数值

    • int整数

    • float浮点数

    • bool浮点数

    • complex复数

  • string字符串

  • list列表

  • tuple元组

  • set集合

  • dict字典

通过type()函数可以查看变量对应的数据类型

 value1 = 3 

print(type(value1))  #  <class 'int' >

value2 = 3.14

print(type(value2))  #  <class 'float' >

value3 = True

print(type(value3))  #  <class 'bool' >

value4 = 3+4j

print(type(value4))  #  <class 'complex' >

value5 =  "haha" 

print(type(value5))  #  <class 'str' >

value6 = [1,2,3,4,5,6,7]

print(type(value6))  #  <class 'list' >

value7 = ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' )

print(type(value7))  #  <class 'tuple' >

value8 = { 'x' , 'y' , 'z' }

print(type(value8))  #  <class 'set' >

value9 = { "name" : "yangbing" ,  "age" :80,  "height" :152.3,
 "married" :True}

print(type(value9))  #  <class 'dict' >

#注意如下的操作和判断

print(not False)  # True 

print(not True)  # False

print(not 0)  # True

print(not 1)  # False

print(not 3)  # False  # 非0则为True

print(not -1)  # False  # 负数也是非0

print(False == 0)  # True

print(True == 3)  # False 默认True=1

print(Falseis0)  # False 在内存中是不同的概念 但值是相等的

print(1isTrue)  # False

print(1 + True)  # 2

print(0 == 0.0)  # True

print(1 == 1.0)  # True

#与Java不同的是,在python中一个变量是可以变换类型的

a = 1 # int 

print(type(a))  #  <class 'int' >

a = 2.3 # float

print(type(a))  #  <class 'float' >

a = True # bool

print(type(a))  #  <class 'bool' >

#如果变量不需要用了,可以通过del删除
del a  # 删除a变量 
print(a)

在这里插入图片描述

C/C++程序员转python喜欢写del,Java程序员转python不喜欢写del

习题

1 求解a的b次幂。

虚拟环境下执行:python manage.py pow 5 2 显示结果:5**2=25

本章项目源码

URL:https://gitee.com/yuanbaonet/master_python/tree/baoai_python_v4/

对应版本:baoai_python_v4

对应文件:sample/python/p4.py

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值