【Python学习笔记】一、基础语法

1.导入python模块的三种写法

(以导入math模块为例)

# ①导入math模块,但调用时函数名前需加math前缀
import math
print(math.floor(20.6))

# ②导入math模块中的floor函数:
from math import floor
print(floor(20.6))

# ③导入math模块中的所有函数:
from math import *
print(floor(20.6))

2.声明变量

x=20 #声明整数型变量
y=20.6 #声明浮点型变量
s="asdf" #声明字符串类型变量
z=True #声明布尔型变量
print(x,y,s,z) #输出结果为:20 20.6 asdf True(输出结果自带空格)

3.数字运算

print(3/2)# 输出结果为1.5
print(3//2)# 输出结果为1(//为整除运算符)
print(3.0//2)# 输出结果为1.0(分子分母只要有一个是浮点数,计算结果就是浮点数,取余%也是如此)
print(3**2)# 输出结果为9(**为幂运算符)

4.进制转换

print(bin(12)) #十进制转二进制
print(oct(1234)) #十进制转八进制
print(hex(54321)) #十进制转十六进制

#二进制转十进制:
print(0b10110)
print(int("10110",2))

#八进制转十进制:
print(0o76531)
print(int("76531",8))
 
#十六进制转十进制:
print(0xF35AE)
print(int("0xF35AE",16))

print(bin(0xF012E)) #十六进制转二进制
print(hex(0b1101101)) #二进制转十六进制
>>>num=17
>>>print("{:b}".format(num),"{:#b}".format(num)) #十进制转二进制
10001 0b10001
>>>print("{:o}".format(num)) #十进制转八进制
21
>>>print("{:x}".format(num)) #十进制转十六进制
11

5.数字的格式化输出

x=1234.56789
print(format(x,'0.2f'),6) #保留两位小数,紧接着输出6
print(format(x,',')) #每千位用逗号(,)分隔
print(format(x,',.2f')) #上面两种结合一起

print(format(x,'X>12')) #在12个字符内右对齐,左边补X
print(format(x,'X<12.3f')) #在12个字符内左对齐,右边补X,尾数保留3位
print(format(x,'X^12')) #在12个字符内中心对齐,两边补X

print(format(x,'e')) #科学计数法形式
print(format(x,'0.2E')) #科学计数法形式+尾数保留2位

'''
Output:
1234.57 6
1,234.56789
1,234.57

XX1234.56789
1234.568XXXX
X1234.56789X

1.234568e+03
1.23E+03
'''

保留两位小数的两种不同写法:

>>>print('%.2f'%3.3561)
3.36
>>>print(format(3.3561,'.2f'))
3.36

6.获取用户输入

# input函数接受的是字符串类型的参数,即不管输入什么数据都会以字符串形式返回
# 要输入整型或浮点型需要进行转换
name=input("请输入:")
age=int(input())
salary=float(input())

特殊输入格式(输入中包含空格逗号等):

#一句输入多个字符串:
>>>a,b=input().split() #这样输入的a和b都是字符串,左边可以是任意多个变量
5 20
>>>a
'5'
>>>b
'20'

#一句输入多个整数:
>>>a,b=map(int,input().split()) #若浮点数则改为float即可
10 20
>>>a+b
30

#输入中包含逗号(',')
>>>a,b=input().split(',')
dsa,qwe
>>>a
'dsa'
>>>b
'qwe'
>>>a+b
'dsaqwe'

#还可以把读取的值存到一个列表里: 
>>>L=input().split()
1 5 6 2 2555 3
>>>L
['1', '5', '6', '2', '2555', '3']

>>>L=map(int,input().split())
1 5 25 63 8789
>>>L 
<map object at 0x000002124905F9B0> #整数型直接输出L无法输出列表,需用list(L)
>>>list(L)
[1, 5, 25, 63, 8789]

另一种一句输入多个值的方法:

import sys
a,b,c = map(int,sys.stdin.readline().split()) #一行输入3个整数
str1,str2 = map(str,sys.stdin.readline().split()) #一行输入2个字符串

7.字符串基础

print("'啊啊啊'"+'"啊啊啊"'+"\'啊\"啊") #输出仅单(双)引号字符串可用双(单)引号括起来#输出单双引号混合字符串可用转义符(\)

x=2000
print(len(str(x))) #len函数获取字符串长度

print("Hello\nworld") #字符串换行(\n)
print(r"Hello\nworld") #字符串前加r可原样输出字符串

s = """
I sasd sacdas
    sdsa sw wqqq      556
cc
"""
print(s) #长字符串(三个单或双引号括起来),会保留原始格式

print("dsada\
  sdas")  #将换行符转义,使其被自动忽略,所以输出不会换行

'''
Output:
'啊啊啊'"啊啊啊"'啊"啊
4
Hello
world
Hello\nworld

I sasd sacdas
    sdsa sw wqqq      556
cc

dsada  sdas
'''

8.print函数输出

print(1,2,3) #print函数默认换行,加空格
print(1,2,3,sep="") #空格换为sep字符
print(1,2,3,end="") #行末将换行符\n换为end字符
print("000")
"""
Output:
1 2 3
123
1 2 3000
"""

9.赋值操作

x,y,z=1,2,3
x,y=y,x
print(x,y,z)
#Output:2 1 3

x=y=z=3
print(x,y,x)
#Output:3 3 3

10.条件语句

a=input("请输入一个字符串:")
if a.startswith("a") and a.endswith("c"): #字符串首字母为a且尾字母为c
    if not a=="abc": #字符串不为abc
        print("qq")
    else:
        print("zz")
elif a.startswith("c") or a.startswith("d"): #字符串首字母为c或首字母为d
    print("ww")
else:
    print("ee")

11.比较运算符

#x==y x<y x>y x<=y x>=y x!=y
x=15
if 20>x>10:
    print(1)
else:
    print(2)

x=[1,2,3]
y=[1,2,3]
print(id(x)) #id函数取地址(1267805938248)
print(id(y)) #(1267805938312)
print(x==y) #x等于y (True)
print(x is y) #x和y是同个对象 (False)
print(x is not y) #x和y是不同的对象 (True)

a="qwert"
b="we"
print(b in a) #b是a容器的成员 (True)
print(b not in a) #b不是a容器的成员 (False)

12.断言

#断言需使用assert语句
#当断言条件不满足时抛出异常,程序中断,后面语句不会执行
#当条件满足时程序正常执行

x=50
assert 30>x>10 #默认情况下只显示抛出异常的位置
assert 30>x>10,'x的值必须在10到30之间' #可为assert语句指定异常描述
print(11)

13.循环

#for循环
num=[1,2,5,8]
for i in num:
    print(i,end=" ")
print('\n')

for j in range(1,10,2):
    print(j,end=" ")
print('\n')
#循环的else子句,作用是当循环正常退出时执行(即没有执行break语句)
#while循环和for循环的else子句用法相同

import random #导入随机数模块
x=0
while x<10:
    x+=1
    if x==random.randint(1,20): #产生一个1到20的随机整数
        print(x)
        break; #break和continue要加分号(;)
else:
    print("没有while中断循环")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值