python与c语言相比较之基本语法整理

news/2024/7/19 12:32:21 标签: python, 字符串, 列表

python_0">python基本语法整理:

笔记

1.不需要semicolon(分号);

2.indentation(缩进)代替{};

3.变量不需要声明 declare type(数据类型),可以直接赋值。

print

1.不需要格式符号%d,%f…

2.字符串可以用 一对单引号或者一队双引号标注。(符合都是英文输入法下输入)

3.每次print执行完之后,都会默认换行。

python">print("hello worid",end='')#end=规定打印结束用什么来结尾
print('ho')

4.一个print函数打印多个字符串

python">print(a, b, c)
#默认字符串用空格隔开
python">print("hello" * 3)
#打印“”里面的内容3次
python">print("hello"+"world")#把两个字符串加起来

5.打印特殊符号

python">print("hello\\")#打印字符串里面的' " \n \t   或者位于句末的 \ 时(转义字符)
python">结果:hello\
python">string = r'\n\t'#加上 r 会自动给字符串所有 \(不包括句末的)转义
print(string)
结果:\n\t

6.打印多行字符串,使用三个单引号或者三个双引号

python">print('''hello
world''')#打印结果会自动换行
结果:hello
world
if else:注意冒号与缩进
python">if a == 1:
	print(' a == 1')
elif a == 2:
	print(' a == 2')
else:
	pass #什么都不写的时候用

1.三元操做

python">s = a if a < b else b#如果a<b,则s=a,否则s=b

2.其它用法

写在else里面的代码只有循环结束之后才会运行,中间有break,会直接退出,不运行else后面的代码。

python">for i in l:#表示一个循环 i在l里面循环
    if i == 1:
        break
    else:
        print("l列表的长度为2")

else也可以和try语句一起使用,如果try语句没有抛出异常(exception),则运行else里面的语句。

python">try:
    raise OSError
exception OSError:
    print('Error')
else:
    print('NO error')
运算符

1.逻辑运算符

&& 和
|| 或者
! 非

2.算术运算符

python">#/ :数学意义上的除法
#//:为下限除法,操作数为小数,结果依然为整数

3.比较符 < > 等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUKv9Vaj-1593847072144)(D:\python\python\python资源\老师ppt\图解\Python的表达式.png)]

数据类型

1.序列(sequence):列表、元组、字典
有序可变序列:列表list

python">#1.创建:
list = []#创建空列表
list1 = [1,2,3,4,5,6]#从0开始有序
#2.修改:list[index] = 修改值
list1[0] = 2
#3.添加元素 append(element) extend(list)  insert(index,element)
list1.append(3)#追加一个元素3,列表最后位置,一次只能追加一个
list1.extend([0,2,4])#相当于list3 = list1 + [0,2,4]
list1.insert(0,'hello')#将一个元素放到指定的位置
#4.删除元素:remove(elemt)  pop(index)
list1.remove(0)#删除元素0
list1.pop(3)#删除在index(序号或者索引在3这个位置的元素,并返回这个元素)
#5.切片(slice) [start:stop:step]
list5 =list1[1:3]#截取index从1到3不包含3的元素
list6 = list1[1:9:3]#截取index从1 到9 不包含9的元素,步长为3
list7 = list1[:]#copy
#6.比较
list1 == list2#只有所有元素相同时才为true
list1<list2#比较第一个不相同的元素
#7.检查是否有一个元素
if "hello" in list1:
    print('yes')
#8.计数给定元素出现次数
list1.count(1)
#9.一个元素第一次出现的index
list1.index('hello',3,7)#返回hello这个元素在[3,7)内第一次出现的位置
#10.倒序 
list1.reverse()
#11.排序
list1.sort()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YI1k1Qur-1593847072148)(D:\python\python\python资源\老师ppt\图解\Python的列表.png)]

有序不可变序列:元组tuple

python">#空元组
tuple = ()
tuple1 = (0,1,2,4)
tuple2 = (1,)#必须加逗号
tuple3 = tuple3*2
tuple4 = tuple[:2] + ('hello',) + tuple3
####元组的值不能修改 添加只能赋值如tuple4 排序用sorted  查找用index(index)  取元素 tuple4[3] 
## 元组去重  变成集合
set(tuple1)
##解包
a,b,c = tuple1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gdZCiqzH-1593847072151)(D:\python\python\python资源\老师ppt\图解\Python的元组.png)]

无序可变序列:字典dict

python">#创建 key是唯一的 操作key来操作dict  通过输入key,来获取,或者重新赋值,相对应的某个value。
#可以使用in 和not in,但是查找的是key,不是value。
d = {}#空字典
dict = {'key':value}
dict1 = {'apple' : '🍎', 'banana' : '🍌', a : b, 1 : 2}
#或者
dict1 = dict( ( ('apple', '🍎'), ('banana', '🍌'), (a, b), (1 , 2) ) ) 
print(dict1['apple'])
print(dict1[a])
print(dict1[1])
python">dict1['apple'] = 苹果 #重新赋值
#如果apple这个key不存在,python会自动创建一个item
python">###fromkeys(),创建一个新的dict。可以用在如果在这个字典里所有keys都对应同样的value时。
###keys(), 返回dict里面的所有keys。一般用在for里面。类似的还有values(), items()
###get(),可以自定义,当access一个不存在的key时,返回的值。
###clear(),清空一个字典。彻底清除这一个指针(e.g. dict1)所指向的数据。
###pop(key),返回,输入的key所对应的value,并且删除整个item
###popitem(), 随机删除并返回一个item
###setdefault(key, value) 在这个字典里添加一个item
###update(dict),用一个字典来更新另外一个。(只更新两个字典中都有的key,所对应的value)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dJWNP6Sk-1593847072155)(D:\python\python\python资源\老师ppt\图解\Python的字典.png)]

2.集合set

python">#集合是无序 不支持index索引 可以增删元素 支持in, not in,集合元素不重复
set = {}#空集合不能这样定义   字典能这样定义
s = set([])#空集合
set1 = {1, 3, 4, 2, 5, 4} #没有映射关系
#或者
set1 = set([1, 3, 4, 2, 5, 4])
#set()可以接收list, tuple, string
print(set1)
#创建一个不能修改的函数 frozenset
s2 = forzenset(0,1,3,4,2,5)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e8fn9HH1-1593847072160)(D:\python\python\python资源\老师ppt\图解\Python的集合.png)]

3.字符串

字符串可以做的事情,查找时顺序(左到右 :0开始,第一个位置),逆序(右到左:-1开始,最后一个位置)

  • 改变大小写
  • 居中,左对齐,右对齐 字符串
  • 判断字符串是否以sub string结束/开始
  • 判断字符串里有无数字,字母,大小写,title(首字母大写)
  • 用指定的字符串,分隔当前字符串
  • 去掉/替换 字符串中指定的sub string

格式化字符串:按照规定的格式输出字符串format

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLA8vN4I-1593847072161)(D:\python\python\python资源\老师ppt\图解\Python的数据输入与输出.png)]

文件操作

简单叙述可能的操作:

.close() 关闭文件
要及时关闭文件,否则写入的内容会停留在缓冲区,并没有真正的存入文件里面
.read() 按照字符个数读取,返回文件内容。默认读取全部内容。
.readline() 按照行数读取
.tell() 返回文件指针的位置 in bytes!
.seek ()移动文件指针
.list() 可以直接将文件的内容变成一个list

在for里面,甚至可以直接将文件当作一个sequence使用:

#假设有个文本文件file 已经打开
for line in file:
print(line)
#.write() 写入字符串
#.writeline() 写入字符串sequence

从文件中写入,读取的数据都是字符串。如果要写入/读取的数据类型不是字符串,可以通过int, float等来转换,或者如果数据类型不容易转换的话,可以使用pickle模块(见模块)。

with语句:使用with语句就不用自己来关闭文件

python">with open('file name','打开方式') as 变量名:
    执行文件操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPF6FQmp-1593847072162)(D:\python\python\python资源\老师ppt\图解\Python的文件.png)]

函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cimqhaxj-1593847072164)(D:\python\python\python资源\老师ppt\图解\Python的系统函数.png)]

模块

通过import模块,可以使用里面已经定义的函数和变量。

python">import random
random_num = random.randint(0, 10)

#或者
import random as r
random_num = r.randint(0, 10)

python">from random import * #执行这个操作,可以直接使用里面的所有变量/函数,不需要加上random.randint,可以直接使用randint
from random import randint #可以直接使用randint

为了使代码更加的简洁,也可以将一些数据(列表,字典)保存到一个单独的文件,方便调用。

OS 操作系统
使用这个模块,可以进行重命名文件,删除创建文件及目录等操作

pickle
方便不是字符串的数据,以二进制的方式,读取/写入到文件。

python">#写入数据
import pickle
student_file = open('student.pkl', 'wb')
#以二进制的方式打开,文件后缀写成pkl方便理解

pickle.dump(list1, student_file)
student_file.close()
#读取数据
import pickle
student_file = open('student.pkl', 'rb')

list2 = pickle.load(student_file)
student_file.close()
异常 exception

命名规则:ExceptionName

程序可能会出现很多种异常 (e.g. ValueError, OSError),针对异常作出相应的反应,就会用到try语句

try语句

如果出现了指定的异常,不会显示原有的traceback语句,而是只会执行except的代码

python">try:
	要执行的代码
except 指定的异常 [as 变量]: #这个变量用来存放出错的具体原因
	如果出现指定的异常,需要执行的代码
[finally:
	不管出不出现异常,都必须执行的代码。
	(一旦出现异常,程序会自动调到对应的except语句中,try里面的一些代码可能不会被执行)

python">try:
	with open('test.txt', 'r') as file1:
		str1 = file1.read(5)
except OSError as reason:
	print('文件出错,具体原因为:' + str(reason))
finally:
	print('exiting...')

自己创造一个异常:

raise exception [( ‘注释’ ) ]

python">raise OSError('要读取的文件不在!')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxrXWdtZ-1593847072165)(D:\python\python\python资源\老师ppt\图解\Python的异常处理.png)]

类 class

命名规则:ClassName

类包含一系列的变量和函数
避免变量与函数重名,否则变量会覆盖函数。

python">class Car():#如果在定义的时候,把其他的类当作参数放进来,那么可以继承这个类的所有变量或者函数
	#变量
	name = 'carro'
	color = 'red'
	
	#函数
	def calculate_speed(self, distance, time):
		speed = distance / time
		print('%s is travelling at %f m/s' % (self.name, speed))
		# 除了在定义变量的部分,使用变量的话,都需要明确是哪一个对象(e.g. self.name而不是name)

类理解为一个模版,对象object则是这个模版刻出来的一个物品。

名规则:ClassName

类包含一系列的变量和函数
避免变量与函数重名,否则变量会覆盖函数。

python">class Car():#如果在定义的时候,把其他的类当作参数放进来,那么可以继承这个类的所有变量或者函数
	#变量
	name = 'carro'
	color = 'red'
	
	#函数
	def calculate_speed(self, distance, time):
		speed = distance / time
		print('%s is travelling at %f m/s' % (self.name, speed))
		# 除了在定义变量的部分,使用变量的话,都需要明确是哪一个对象(e.g. self.name而不是name)

类理解为一个模版,对象object则是这个模版刻出来的一个物品。


http://www.niftyadmin.cn/n/1758340.html

相关文章

python爬虫正则表达式re库简介

python爬虫&#xff1a; 实际上爬虫一共就四个主要步骤&#xff1a; 明确目标 (要知道你准备在哪个范围或者网站去搜索)爬 (将所有的网站的内容全部爬下来)取 (去掉对我们没用处的数据)处理数据&#xff08;按照我们想要的方式存储和使用&#xff09; 我们down下了的数据是全…

python内置数据库sqlite3

Python内置数据库&#xff1a;sqlite 导入sqlite3 import sqlite3创建与SQLite数据库的连接 使用sqlite3.connect()函数连接数据库&#xff0c;返回一connection对象&#xff0c;通过这个对象与数据库进行交互。数据库文件的格式是filename.db,如果该数据库文件不存在&#x…

Python基本语法整理

基本格式 不需要分号&#xff08;;&#xff09;。用缩进来代替{}&#xff0c;习惯四个空格一个缩进。变量是不需要声明数据类型&#xff08;declare type&#xff09;的&#xff0c;可以直接赋值。符合都是英文输入法状态输入的。 print 不需要格式符号%f&#xff0c;%d…字…

json的读写方式与Python和字典与json的相互转化

json的读写方式与Python和字典与json的相互转化 一. python与json对象 1.json定义[python内置] json:javascript原生的对象。&#xff08;不需要第三方解析&#xff0c;由浏览器自动进行解析&#xff09; 2.json对象的定义 jsonobj {dict}; 3.json组件的引入&#xff1a…

计算机网络教程 谢希仁版第一章

第一章 &#xff1a; 概述 1.1 计算机网络在信息时代的作用 1.互联网的基本特点&#xff1a;连通性&#xff0c;共享性 2.计算机网络&#xff08;网络&#xff09;的组成&#xff1a;由若干结点&#xff08;Node&#xff09;和连接这些结点的链路&#xff08;Link&#xff0…

计算机网络教程 谢希仁 第二章 物理层

2.1 物理层的基本概念 1.物理层的功能&#xff1a;怎样连接各种计算机的传输媒体上传输比特流。 2.规程&#xff1a;用于物理层的协议。 3.传输媒体接口的特性&#xff1a;机械特性&#xff1b;电气特性&#xff1b;功能特性&#xff1b;过程特性。 2.2 数据通信的基础知识…

计算机网络教程 谢希仁 第三章 数据链路层

第三章 数据链路层 数据链路层使用的信道主要有两种类型&#xff1a;点对点信道&#xff08;一对一的点对点通信方式&#xff09;&#xff0c;广播信道&#xff08;一对多的广播通信方式&#xff09;。从整个互联网来看&#xff0c;局域网仍属于数据链路层范围。点对点信道最常…

计算机网络教程 谢希仁 第四章 网络层

第四章 网络层 4.1 网络层概述 1.网络层最核心的功能&#xff1a;分组转发和路由选择 分组转发;路由器中需要一个转发表。 路由选择&#xff1a;在发送过程中网络层要决定分组所采用的路由或路径&#xff0c;路由选择直接生成路由表&#xff1b;然后再由路由表生成最终的转…