简明的python基础

简明的python基础

一、简单的输出

  1. print的基础用法:print默认换行,如果要实现不换行,需要指定结尾符号 end=’’

    print("Hello");
    print("Hello",end=' ')
    print("world!");
    

二、变量与基本数据类型

  1. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,赋值号是“=”。

  2. python中 的变量赋值不需要数据类型的声明,数据类型根据具体的赋值确定。

  3. 标识符:

    • 在python中,标识符由字母、数字、下划线组成
    • 在python中,所有的标识符可以包括英文、数字以及下划线_,但不能以数字开头。
    • 标识符是区分大小写的
    • python3中直接支持中文符号,包括标识符名
  4. 保留字: 保留字不能作常数或变数,或任何其它标识符名称。所有python的关键字只包含小写字母。

  5. Numbers(数字)数据类型:用于存储数值。python支持不同 的数字类型:int,float,complex(复数),布尔类型。python支持很长的整数。

三、注释

  1. 单行注释用“#”
  2. 多行注释用‘’‘或者“”“

四、基本运算

  1. 算术运算

    运算符包括:+,-,*,/,//(取整除,返回商的整数部分),%

  2. 比较运算

    比较运算符:>,<,==,<=,>=,!=

    比较运算符的结果为True,或者是False。

  3. 赋值运算

    运算符:=,+=,-=,*=。/=,%=,**=,//=

  4. 逻辑运算

    运算符: and(与),or(或),not(非);

    逻辑运算中,非0 的值视作True。

    逻辑运算中,False的值就是0.

    逻辑运算中,True的值就是1.

    逻辑运算中,非0 的值只是视作True,但并不等于True。只有1等于true。

    逻辑”或“ or : x or y如果x是true,则返回True,否则返回y的计算值。

    逻辑”非“ not: not x ,如果x为true,则返回false;如果x为False,则返回True。

五、字符串

  1. 字符串可以用双引号,也可以用单引号。

  2. 能够通过某一种标示的字符串中使用另外一种标示符。

    print("He said 'Hello'")
    输出:He said 'Hello'
    
  3. 转义字符是反斜杠"", 如果不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串。

  4. 多行字符串可以通过三个连续的单引号(’’’)或是双引号(""")来进行标示。

  5. 使用+ 进行字符串链接。

    "Hello"+" World"
    输出:Hello World
    
  6. 使用* 进行字符串链接

    “Bye” * 2
    输出:ByeBye
    
  7. python中没有单独的单个字符类型,要注意字符串和数字之间的区别。

    4+5
    输出:9
    "4"+"5"
    输出:45
    

六、list列表

  1. 列表是python中使用最频繁的数据类型。列表是写在方括号[]之间、元素之间用逗号分隔开。

    list1= [1,2,3,4,5,6]
    print(list1)
    输出:[1,2,3,4,5,6]
    
  2. 列表中元素的类型可以不相同,它支持数字,字符串,甚至可以包含列表(嵌套)。

    list2=[1,2,3,4,5,6,"Hello World",[8,9,10,11,12]]
    peint(list2)
    输出:[1,2,3,4,5,6,"Hello World",[8,9,10,11,12]]
    
  3. 列表元素访问:可以通过索引(下标)来访问列表元素。单个列表元素访问的语法格式为:列表名[下标]。注意:下标访问不要越界。

  4. 列表截取(切片)的语法格式为:列表名[头下标:尾下标]

    list3=[1,2,3,4,5,6]
    list3[0:3]
    输出:[1,2,3]
    #列表截取(切片)返回一个包含所需内容的新列表。
    #结果不包含尾下标那个元素。
    list3[-3:-1]
    输出:[4,5]
    #切片步长
    list3[::2]
    输出:[1,3,5]
    
  5. 访问嵌套列表:层层深入

    list4 = [1,2,3,4,5,6,"hello python",[8,9,10,11,12]]
    print(list4[-1][1:])
    输出:[9,10,11,12]
    
  6. 字符串元素访问

    • 字符串是一种特殊列表,可以按照列表元素的访问方法来访问字符串中的元素。

      str1= "hello,changsha!"
      print(str1[2:5])
      输出:llo
      

七、tuple元组

  1. 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。元组中元素的类型可以不同,和列表类似,也支持嵌套。

    tuple1=(1,2,3,4,5,6,"hello python",[8,9,10,11,12],(13,14))
    print(tuple1)
    输出:(1,2,3,4,5,6,"hello python",[8,9,10,11,12],(13,14))
    
  2. 元组的元素访问和截取方式和列表相同,通过下标来操作。

  3. 元组一旦定义好不能修改,是只读的。

八、set集合

  1. 集合(set)是一个无序、且不含重复元素的序列。集合主要用来进行成员关系测试和删除重复元素。可以用大括号{}或者set()函数创建集合。

    #自动去除重复元素
    set1={1,2,35,5,3,1}
    print(set1)
    输出:{1,3,5}
    
  2. 集合的操作:交,并,差,补。

    set1={1,2,3}
    set2={2,4,5}
    #集合的并
    set1|set2
    输出:{1,2,3,4,5}
    #集合的交
    set1&set2
    输出:{2}
    #集合的差
    set1-set2
    输出:{1,3}
    #集合的补,两个集合中不同时存在的元素集合
    set1^set2
    输出:{1,3,4,5}
    #集合的计算
    (set1|set2)-(set1&set2)
    输出:{1,3,4,5}
    

九、Dictionary字典

  1. 字典是一种映射类型,用"{}"标识,它是一个无序的建(key):值(value)对 集合建(key)必须使用不可变类型,在同一个字典中,建(key)是唯一的字典当中的元素是通过建来存取的。
dict1= {"name":"giggle","height":176,"weight":72}
dict1["height"]
输出:176
#修改字典某项的值
dict1["weight"]=73
print(dict1)
输出:{'weight':73,'name':'giggle','height':176}
#在字典中增加一项
dict1["set"]="M"
print(dict1)
输出:{'weight':73,'name':'giggle','height':176,'sex':'M'}
  1. 构建字典

    #构建空字典
    dict2= {}
    print(dict2)
    输出:{}
    #通过元组序列构建字典
    dict2=dict({('name','giggle'),('height',176)})
    print(dict2)
    输出:{'name':'giggle','height':176}
    
  2. 字典内建方法

    字典类型也有一些内置的函数,例如:clear()、keys()、values()

    dict2.keys()
    输出:dict_keys({'name','height'})
    dict2.values()
    输出:dict_values({'giggle',176})
    dict2.clear()
    print(dict2)
    输出:{}
    

十、类型转换

  1. 数据类型转换,只需要将数据类型作为函数名即可使用。这些函数返回一个新的对象,标示转换的值,如:int(),float()和str()

    x= "6"
    print(x,type(x))
    x=int("6")
    print(x,type(x))
    输出:
    6  <class 'str'>
    6  <class 'int'>
    
  2. 字符和数字的转换要使用 ord()和chr()

    ord("a")
    输出:97
    chr(65)
    输出:'A'
    
  3. 表达式计算:表达式字符串到数值的转换

    x = 8
    calc = "5*x+9"
    eval(calc)
    输出”49
    

十一、python的行规则

  1. python中没有强制的语句终止字符
  2. python语句中一般以新行(换行)作为语句的结束符
  3. 直接把一条长语句中间断开成多行不行!可以使用斜杠()将一行的语句分为多行显示。
  4. 语句中包含[],{},()括号就不需要使用多行连接符

十二、流程控制

  1. 三种基本结构:顺序、条件(选择、分支)、循环

  2. 条件语句

    • 语句结构1

    if 条件表达式:

    语句块1

    • 代码块是通过缩进来指示的

    • 缩进表示一个代码块的开始,逆缩进则表示一个代码块的结束。

    • 声明以冒号:字符结束,并且开启一个缩进级别

      print("请输入体重(kg):")
      weight=float(input())
      
      if weoght >90 :
      	print("胖子,你该减肥了!!!")
      

      输出:

      请输入体重(kg):

      100

      胖子,你该减肥了!!!

      70

    • 语句结构2

      if 条件表达式:

      语句块1

      else:

      语句块2

      print("请输入体重(kg):")
      weight=float(input())
      
      if weoght >90 :
      	print("胖子,你该减肥了!!!")
      else:
      	print("小样,身材保持不错呀!")
      

      输出:

      请输出体重(kg):

      100

      胖子,你该减肥了!!!

      70

      小样,身材保持不错呀!

    • 语句结构3

      if 条件表达式1:

      语句块1

      elif 条件表达式2:

      语句块2

      else:

      语句块3

#条件语句:计算BMI指数
print("请输入体重(kg):")
weight=float(input())
print("请输身高(m):")
height=float(input())

BMI=weight/height**2

if BMI<20:
	print("你的 BMI指数是%.2f,太轻了哟!" %BMI)
elif  BMI>25:
	print("你的BMI指数是%。2f,太重了哟!"%BMI)
else:
	print("你的BMI指数是%。2f,非常正常,请保持!"%BMI)

请输入体重(kg):

72

请输入身高(m):

1.76

你的BMI指数是23.24,非常正常,请保持!

十三、循环语句

循环语句允许执行一条语句或语句块多次python提供了while循环和for循环

  1. while循环

    • 语句结构

      while 条件表达式:

      语句块

      #统计6出现在2的100次方中的次数
      num = 2**100
      print(num)
      count=0
      while num >0:
      	if num % 10 == 6:
      	count +=1;
      	num =num //10
      	
      print(count)
      

      1267650600228229401496703205376

      5

  2. for循环语句

    • 语句结构

      for 循环变量 in 序列:

      ​ 语句块

      #统计5出现在2的100次方中的次数
      num = 2**100
      count = 0
      for digit in str(num):
      	if digit=="6":
      		count+=1
      print(count)
      

      5

  3. 使用for和range来枚举列表中的元素

    #第一种:输出从0 开始的十个数
    for i in range(10)
    	print(i)
    #输出:0,1,2,3,4,5,6,7,8,9
    #第二种:输出从1开始到10号位置的数
    for i in range(1,10)
    	print(i)
    #输出:1,2,3,4,5,6,7,8,9
    
  4. 列表推导式

  • 列表推导式(list Comprehension)提供了一个创建和操作列表的有力工具。

  • 列表推导式由一个表达式以及紧跟着这个表达式的for语句构成,for语句还可以跟0个或多个if或for语句

lst1 = [1,2,3]
lst2 = [3,4,5]
[x*y for x in lst1 for y in lst2]
#输出:[3,4,5,6,8,10,9,12,15]
  • 数值判断可以链接使用,例如1<x<3能够判断变量x是否在1和3之间
[x for x in lst1 if 4 >x >1]
#输出:[2,3]
  1. 循环嵌套(多重循环)

    #九九乘法表
    for i in range(1,10):
    	for j in range(1,i +1):
    		result = j * i
    		print('%s x %s = %-5s' % (j,i,result), end=' ')
    	print()
    

十四、break语句

  1. break语句用在while和for循环中

  2. break语句用来终止循环语句,即循环条件没有False或者序列还没被完全递归完,也会停止执行循环语句

    #统计第一个9在2的100次方中出现的位置
    num = 2 **100
    pos =0
    for digit in str(num):
    	pos+=1;
    	if digit == "9":
    		break
    print("2**100 is : %d \n the first posion of 9 is pos.%d" %(num,pos))
    
  3. 如果在嵌套循环中,break语句将停止执行本层的循环

十五、continue语句

continue语句用来跳过当前循环的剩余语句,然后继续进行下一轮循环

#求在2 的100次方中删除所有的9后的数字
num = 2**100
without9 = ''
for digit in str(num):
	if digit =='9':
		continue
	without9+=digit
print("2**100 is :%d \n without 9 is :%s" %(num,without9))

十六、pass语句

pass语句是空语句,是为了保持程序结构的完整性,一般用做占位语句

#求在2 的100次方中删除所有的9后的数字
num = 2**100
without9 = ''
for digit in str(num):
	if digit =='9':
		pass
	else:
	without9+=digit
print("2**100 is :%d \n without 9 is :%s" %(num,without9))

十七、函数

  1. 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

  2. 函数能提高应用的模块性,和代码的重复利用率

  3. python提供了许多内建函数,比如:print()

  4. 开发者也可以自己创建函数,这被叫做用户自定义函数

  5. 函数定于语法:

    def functionname(parameters):

    "函数_文档字符串"

    function_suitr

    return [expression]

  6. 函数通过"def"关键字进行声明,后接函数标识符名称和圆括号()

  7. 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数

  8. return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None

    #定义一个求n!的函数
    def fact(n):
    	result=1
    	for i in range(1,n+1):
    	return result
    	
    fact(5)
    #输出:120
    
    #打印一张从0-9的阶层表,每2个一行
    for i in range(0,9+1):
    	item = fact(i)
    	print("%i !=%-10d" %(i,item),end=" ")
    	if i%2==1:
    		print()
    
  9. 可选参数以集合 的方式出现在函数声明中并紧跟着必须参数,可选参数可以在函数声明中被赋予一个默认值。已命名的参数需要赋值。

  10. 函数的第一个语句可以选择性地使用文档字符串——用于存放函数说明

  11. 函数可以返回一个元组(使用元组拆包可以有效返回多个值)

十八、全局变量与局部变量

  1. 全局变量在函数之外声明
  2. 局部变量在函数内声明
  3. 函数参数也是局部变量,不需要在函数内部重复定义!
  4. 全局变量可以不需要任何特殊的声明即能读取,但如果想要修改全局变量的值,就必须在函数开始之处用global关键字进行声明,否则Python将此变量按照新的局部变量处理

十九、类class

  1. 类(class) 用来描述具有相同的属性和方法的对象的集合

  2. 它定义了该集合中每个对象所共有的属性和方法

  3. 对象是类的实例

  4. 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾:

    class ClassName:

    ‘类的帮助信息’ #类文档字符串

    class_suite #类体

    class_suite 由类成员,方法,数据属性组成

    #定义一个叫做DeepLearner的类
    class DeepLearner(object):
    	'DeepLearner是深度学习者的类,这是有关这个类的帮助文档'
    	
    	#learnerCount变量是一个类的属性,它的值将在这个类的所有实例之间共享。你可以在内部类或着外部类使用DeepLearner.learnerCount访问
    	learnerCount = 0
    	#__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法
    	#类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,按照惯例它的名称是self
    	#self代表类的实例,参数self在定义类的方法时是必须要的,虽然在调用是不必传入相应的参数
    	
    	def __init__(self , name, schoolName):
    		self.name = name 
    		self.schoolName =schoolName
    		DeepLearner.learnerCount =DeepLearner.learnerCount+1
    		
    	def getName(self):
    		return self.name
    	def getschoolName(self):
    		return self.schoolName
    	def displayCount(self):
    		print("Total DeepLearner count is %d" % DeepLearner.learnerCount)
    	def displayLearner(self):
    		print("Name: %s,school: %s" % (self.name,self.schoolName))
    	
    
  5. 打印类帮助文档信息

    print(DeepLearner.__doc__)
    
  6. 实例化和调用

    #实例化其他编程语言中一般用关键字new,但是在python中并没有这个关键字,类的实例化类似函数调用方式
    #新建一个对象
    
    newLearner1 = DeepLearner('giggle','zhejiang University')
    newLearner2 = DeepLearner('sherry','zhejiang University')
    #使用点号.来访问对象的属性和方法
    
    print(DeepLearner.learnerCount)
    newLearner1.displayCount()
    newLearner2.displeyCount()
    print(newLearner1.getName(),newLearner1.getschoolName())
    print(newLearner2.getName(),newLearner2.getschoolName())
    newLearner1.displayLearner()
    newLearner2.displayLearner()
    

    输出:

    2

    Total Deeplearner count is 2

    Total Deeplearner count is 2

    giggle zhejiang University

    sherry zhejiang University

    Name:giggle,School:zhejiang University

    Name:sherry,School:zhejiang University

二十、文件

python针对文件的处理有很多内建的函数库可以调用

  1. 写文件

    #写文件
    with open("text.txt","wt") as out_file:
    	out_file.write("该文本会写入到文件中\n看到我了吧!")
    #读文件read  a file
    with open("text.txt","rt") as in_file:
    	text= in_file.read()
    print(text)
    

    输出:

    该文本会写入到文件中

    看到我了吧!

二十一、异常

Python中的异常由try-excrpt[exceptionname]块处理

def except_function():
	try:
		#故意除零
		10/0
	except ZeroDivisionErrot:
		print("发生除零异常啦。")
	else:
		#正常情况
		print("一切正常啦。")
		pass
	finally:
		#无论是否发生异常都将执行最后的代码
		print("finally 必须被执行,不管有没有发生异常。")

except_function()

发生除零异常啦。

finally必须被执行,不管有没有发生异常。

二十二、导入外部库

  1. 外部库可以使用import[libname]关键字来导入

  2. 可以用from [libname] import [funcname] 来导入所需要的函数

    improt random
    form time import clock
    import numpy as np
    import matplotlib.pyplot as plt
    
    randomint = random.randint(1,100)
    print(randomint)
    

    77

二十三、获取帮助信息

  1. 调用dir()来显示该对象的所有方法

    dir(1)
    
  2. 调用help()会显示其文档

    help(init)
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值