Python语法大全,语法总结-python基础

对Python的基本知识进行了重温和总结。

1.一般用反斜杠 / 将Python的一行语句分为多行显示

total = item\_one + \\
        item\_two + \\
        item\_three

2.raw_input 输入内容 遇见回车终止并跳出

raw\_input("\\n\\nPress the enter key to exit.")

3.数据类型之List -- 列表

个人理解类似C++中的数组

list = \[ 'Ma', 786 , 2.23, 'john', 70.2 \]
tinylist \= \[123, 'john'\]
 
print list               # 输出完整列表
print list\[0\]            # 输出列表的第一个元素
print list\[1:3\]          # 输出第二个至第三个元素 
print list\[2:\]           # 输出从第三个开始至列表末尾的所有元素
print tinylist \* 2       # 输出列表两次
print list + tinylist    # 打印组合的列表

4.数据类型之 Tuple -- 元组

相当于一个只读的List

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple \= (123, 'john')
 
print tuple               # 输出完整元组
print tuple\[0\]            # 输出元组的第一个元素
print tuple\[1:3\]          # 输出第二个至第三个的元素 
print tuple\[2:\]           # 输出从第三个开始至列表末尾的所有元素
print tinytuple \* 2       # 输出元组两次
print tuple + tinytuple   # 打印组合的元组

5.数据类型之Dictionary -- 字典

dict = {}
dict\['one'\] = "This is one"
dict\[2\] = "This is two"
 
tinydict \= {'name': 'john','code':6734, 'dept': 'sales'}
 
 
print dict\['one'\]          # 输出键为'one' 的值
print dict\[2\]              # 输出键为 2 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

6.判断数据类型 之 type 与 isinstance

\>>> class A:
...     pass
... 
\>>> class B(A):
...     pass
... 
\>>> isinstance(A(), A)
True
\>>> type(A()) == A
False
\>>> isinstance(B(), A)
True
\>>> type(B()) == A 
False

区别就是:

type()不会认为子类是一种父类类型。

isinstance()会认为子类是一种父类类型。

7.逻辑运算符

x and y -- x为False , 返回False,反之,返回y

x or y -- x非零,返回x,否则返回y

not x -- x为True,返回False,x为False,返回True

8.成员运算符

in 如果在指定的序列中找到值返回 True,否则返回 False。

not in 如果在指定的序列中没有找到值返回 True,否则返回 False。

9.身份运算符

is -- is 是判断两个标识符是不是引用自一个对象

is not -- is not 是判断两个标识符是不是引用自不同对象

10.条件语句(if)

if 判断条件1:
    执行语句1......
elif 判断条件2:
    执行语句2......
elif 判断条件3:
    执行语句3......
else:
    执行语句4......

11.循环之while

count = 0
while (count < 9):
   print 'The count is:', count
   count \= count + 1
 
print "Good bye!"

12.循环之for

for letter in 'Python':     # 第一个实例
   print '当前字母 :', letter
 
fruits \= \['banana', 'apple',  'mango'\]
for fruit in fruits:        # 第二个实例
   print '当前水果 :', fruit
 
print "Good bye!"

13.循环嵌套

嵌套循环求出100以内的素数

i = 2
while(i < 100):
   j \= 2
   while(j <= (i/j)):
      if not(i%j): break
      j \= j + 1
   if (j > i/j) : print i, " 是素数"
   i \= i + 1
 
print "Good bye!"

14.Python字符串的三引号

python中三引号可以将复杂的字符串进行复制:

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

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

15.关于Python中 Unicode 和 ASCII

计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。

ASCII编码和Unicode编码的区别:

ASCII编码是1个字节,而Unicode编码通常是2个字节,举例如下。

字母 A 用ASCII编码是十进制的65,二进制的01000001;

字符 0 用ASCII编码是十进制的48,二进制的00110000,注意字符 '0' 和整数

0 是不同的;

汉字 中 已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。

如果把ASCII编码的 A 用Unicode编码,只需要在前面补0就可以,因此, A 的Unicode编码是00000000 01000001。

16.datetime模块获取时间

import datetime
i \= datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是  %s" %i.day)
print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是  %s" %i.second)

17.Python函数

函数参数的说明:

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

  • **不可变类型:**变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

  • **可变类型:**变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

  • **不可变类型:**类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

  • **可变类型:**类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

lamda匿名函数:只包含一个语句

# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
 
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )

18.变量的作用域

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:

total = 0; # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
   #返回2个参数的和."
   total = arg1 + arg2; # total在这里是局部变量.
   print "函数内是局部变量 : ", total
   return total;
 
#调用sum函数
sum( 10, 20 );
print "函数外是全局变量 : ", total 

结果 局部变量为 30 全局变量为0

全局变量想作用于函数内,需加 global

19.导入模块相关

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1、当前目录

2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。

3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

20.包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 init.py 文件, 该文件的内容可以为空。int.py用于标识当前文件夹是一个包。

相关推荐
深度学习lover1 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
XiaoLeisj2 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
API快乐传递者2 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
励志成为嵌入式工程师3 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉3 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer3 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
hairenjing11234 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
记录成长java5 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet