Python基本语法|入门必看篇

数字

调用random包创建随机数
randrange(start,stop,step)

import random
print(random.randrange(1,10))

数据类型转换

int()用整数转换其他数据类型格式数据
float()用浮点数转换其他数据类型格式数据
str()用字符串转换其他数据类型格式数据

字符串

操作

a="hello,world!"
print(a[1]) #返回位置为1的字符,第一个字符的位置为0
print(a[2:5])#返回位置为2-5的字符,左闭右开
print(a[-5:-2])#从末尾开始数,顺序为倒数第5到倒数第2的位置的字符
print(len(a))#字符串长度
print(a.lower())
print(a.upper())
print(a.replace("world","hello"))#将world替换为hello
print(a.split(","))#以a字符串中的“,”为节点,分割为两个字符串

检查

txt="China is a great country"
x = "ain" not in txt
print(x) #若txt中有ait,则输出结果为true,否则为false

布尔值的检查方法

import numpy as np
bools=np.array([False,False,True,False])
bools.any()#检查数组中是否至少有一个true
bools.all()#检查数组中是否每个值都为true

合并

a="hello"
b="world"
c=a+b
print(c)
print(a+" "+b)

加号只能连接字符串或只链接数字,不可以组合字符串和数字,组合字符串和数字用farmat()

age=22
txt="i am not a fooler,and my old {} ,{}"
print(txt.format(age,age))
#默认将两个age分别填入中括号内,注意txt的字符串形式,首尾要有引号
txt = "For only {price:.2f} dollars!"
print(txt.format(price = 49))
#将49作为保留两位的浮点数据,插入到中括号内
txt = "Hello, welcome to my world."
print(txt.find("q"))#对于找不到的值find返回-1,index报错
print(txt.index("q"))

列表

  • 列表(List)是一种有序和可更改的集合。允许重复的成员。

调用元素

list = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(list[1:4])#索引调用列表时含左不含右
print(list[-4:-1])#负索引左闭右开,输出orange至melon
for x in list
	print(x)#逐个打印list中的所有元素,注意缩进

添加元素、删除元素

b=list(range(5))
a=list(range(4))
a.append("orange")#在最后面添加完整项目orange
b.extend("apple")#分别将添加的项目拆分为五个字符,a,p,p,l,e添加至最后
a.insert(2,"pink")#在指定位置添加完整项目pink
a.remove("3")#删除指定元素
a.pop()#删除指定位置的元素,若未指定则默认删除最后一项
del a[2:3]#以索引形式删除某个或某个范围内的元素
del a #完整删除列表
a.clear()#删除列表中所有元素
a.reverse()#反转表中元素的顺序
a.sort()#对列表进行排序(默认为升序)

复制表

a=list(range(5))
b=a.copy()
c=list(a)

对两个表进行处理

a=["a","b","c"]
b=[1,2,3]
c=a+b
for x in b:
	a.append(x)
print(a)#c与最终的a输出结果相同

元组

  • 元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。
    由于元祖不可更改的特性,因此应优先将其转化成列表的形式进行操作
单项元祖
a=tuple("apple",)#单项元组后面需要有逗号
b=tuple(1,2,3)
del a#不能删除元素,只能删除整个元祖
c=a+b;print(c)#可以合并两个元祖

集合

  • 集合(Set)是一个无序和无索引的集合。没有重复的成员。
a={1,2,3,4,4}#return{1,2,3,4}
for x in a:
print(x)#无序无索引,只能用for来遍历
print(2 in a)#检查2是否在a中,显示为true
a.add(6)#添加项目
a.update(["orange", "mango", "grapes"])#将三个完整元素添加至集合
a.update("orange", "mango", "grapes")#插入不重复的字母(元素)至集合最后
a.remove(3) ,a.discard(3)#删除某元素
a.clear(),del a#清空和删除集合
b=set(("a","b","c"))#双括号构建集合
c=a.union(b)#union连接两个集合
a.difference(b)#返回存在x中但不存在y中的元素
a.intersection(b)#返回两个集合的交集

字典

  • 字典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员
p={
    "a":1,
    "b":2,
    "c":3
}等价于
p=dict(a=1,b=2,c=3)
x=p["a"]#获取a的键的值
x=p.get("a")#获取a的键的值
p["b"]=2021#修改某个键的值
for x in p:
    print(p[x])#输出字典中的值
或者是for x in p.values():
print(x)
for x in p:
    print(x)#输出字典中的键名
for x,y in p.items():
    print(x,y)#遍历键和值
p["d"]=222#直接添加键,并为其赋值
p.pop("a")#删除指定键对应的值,注意括号内是键
a.clear(),del a#删除
q=p.copy() ,q=dict(p)#复制字典
q=0
r=p.fromkeys(x,y)#将p中字典的所有值赋予0
x=p.items()#以元组的形式返回字典中的所有键值对
x=p,setdefault("a","d")#获取键为a的值,如果a不存在,则插入值为d的a

IF ELSE语句

  • 等于:a == b
  • 不等于:a != b
  • 小于:a < b
  • 小于等于:a <= b
  • 大于:a > b
  • 大于等于:a >= b
a = 90
b = 80
if b > a:
  print("b is greater than a")
elif a == b:#elif 表示之前的条件不正确,那换用此条件
  print("a and b are equal")
else:#此前的条件未捕获到的所有情况,直接返回就可
    print("a is greater than b")
//单行if语句
if b>a:print("A")
print("A") if a>b else print("B")#a>b返回A,注意顺序和无冒号
print("A") if a>b else [print("=") if a==b] else print("C")#若a>b 返回A,若等于返回“=”,其他C,中间中括号看做一组
if b>a:
	pass#用pass跳过不显示输出内容

while循环

i = 1
while i < 7:
  print(i)
  if i == 3:
    break
  i += 1 #在i=3时退出循环
i=1
while i<7:
    i+=1
    if i==3:
        break
    print(i) #i=3时终止循环,print属于if后执行的动作,因此只输出2
i = 0
while i < 7:
  i += 1 
  if i == 3:
    continue
  print(i)##i=3时if后面不执行,continue下一次迭代,即跳过输出i=3的值
i=1
while i<6:
    print(i)
    i+=1
else:
    print("i is no longer less than 6")

for循环

通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句,不需要预先设置索引变量

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue//break//
  print(x)#不打印香蕉
for x in range(2,10,2):
	print(x)#range从左闭右开,步长为2
else:#else指定循环结束时输出的信息
	print("i love u")

嵌套循环

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
  for y in fruits:
    print(x, y)#三种水果,三种形容词,两两组合共9种可能

函数

def my_function():
  print("Hello from a function")

my_function()#定义并调用函数

有关参数的调用

def function(country="china"):
    print("i am from "+country)
fucntion()#默认显示china
function("korea")#以Korea替换China

以list传参

def my_function(food):
  for x in food:
    print(x)
fruits=["apple","banana"]

my_function(fruits)#将fruits作为参数传入food,Apple和banana都将作为x执行for循环

return返回值,可理解为设置函数公式

def my_function(x):
    return 5*x
print(my_function(3))

关键字参数

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)
my_function("David","Ada","Alice")#分别将三个字符串按序赋值
或者是
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")#设定顺序及赋值

任意参数(如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。
这样,函数将接收一个参数元组,并可以相应地访问各项。)

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Phoebe", "Jennifer", "Rory")
或者是
kids=("Phoebe", "Jennifer", "Rory")
my_function(*kids)

递归函数

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

lambda函数

当把lambda用作另一个函数内的匿名函数时,带着参数创建函数:
利用匿名函数计算

def function(n):
    return lambda a:a*n
abc=function(2)#n=2
print(abc(11))#a=11,输出为22

利用匿名函数进行操作

strings=["foo","card","bar","aaaa","abab"]
strings.sort(key=lambda x:len(list(x)))
print(strings)#根据字符串长度给列表排序

类/对象

创建类
class myclass:
    x=5
p1=myclass()
print(p1.x)

init()函数,,用于将值赋给对象属性,或者在创建对象是需要执行其他操作,__init__函数(方法)的第一个参数必须为self,后续参数为自己定义:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("Bill", 63)
p1.myfunc()

创建父类与子类

class Person:
    def __init__(self,fname,lname):
        self.firstname = fname
        self.lastname = lname
    def printname(self):
        print(self.firstname,self.lastname)
        
class student(Person):
    pass
x=student("elon","musk")
x.printname()
x = Person('Bell','Gates')
x.printname()

日期

调用datetime,创建datetime

import datetime
x = datetime.datetime.now()

striftime()把日期对象格式化为可读字符串的方法

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称

import datetime
x=datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))

文件处理

文件打开:
open() 函数有两个参数:文件名和模式。

有四种打开文件的不同方法(模式):

“r” - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
“a” - 追加 - 打开供追加的文件,如果不存在则创建该文件。
“w” - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
“x” - 创建 - 创建指定的文件,如果文件存在则返回错误。

文件读取

f.open("lianxu.txt","r")
f.write("i love u!")
print(f.read())
print(f.read())#读取文件的前五个字符
print(f.readline())#读取文件的第一行
f.close()

OK!以上为本次的基础部分,多为语法和知识点,如有补充欢迎评论~~要开始啃工具包了!冲冲冲!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值