【Python学习】Python 基础

(一) 数据类型和变量

整数

python可以处理任意大整数,负整数

num1 = 123
num2 = -123

浮点数

小数,可能存在四舍五入的误差

floatNum = 123.123

字符串

以单引号'或双引号"括起来的任意文本
转义字符
\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\

print('my name is \'luna\'')

如果有很多字符需要转义,简化允许使用 r' ',内部的字符串默认不转义

str1 = r'\\\t\\' 

如果字符串有很多换行,\n多了不好阅读,简化可使用''' '''表示多行内容,多行默认不转义r''' '''

print(''' l1
...l2
...l3''')

布尔值

布尔值只有 TrueFalse(注意大小写)

a = True
b = False
print(a and b)
print(a or b)
print(not a)

空值

空值用None表示,不能理解为0,None为一个特殊的空值

变量

大小写英文、数字和_的组合,且不能以数字开头
同一个变量可以反复赋值,且可以是不同类型

a = 1
t_01 = 't01'
Check = True 

常量

不能变得变量,π为常量

PI = 3.14

整数除法有两种

#整数恰好整除,结果也是浮点数
print(9/3)
print(10/3)  
# 两个整数的除法仍然是整数
print(10//3) 

(二)字符串和编码

字符编码

ASCII
大小写英文字母、数字和一些符号
Unicode
Unicode把所有语言都统一到一套编码里,解决了乱码问题。(两个字节表示一个字符)
UTF-8
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。

字符串

Python 3版本中,字符串是以Unicode编码。

print('中文 和 English')

对于单个字符编码,提供了ord()函数获取字符的整数表示,chr()函数吧编码转换成对应的字符:

print(ord('A'))
print(ord('我'))
print(ord(66))

Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
计算字符字节数:len()

# -*- coding: utf-8 -*-
str_a = 'abc'
bytes_a = b'abc'
print(len(str_a))
print(len(bytes_a))

格式化

字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

a1 = 10
b1 = 20
print('a1+b1=%d'%(a1+b1))
a2 = 1.2
b2 = 2.1
print("a2+b2=%f"%(a2+b2))
s1 = 'hello'
s2 = 'python'
print('%s,I\'m %s' %(s1,s2))

# format格式化
name = 'luna'
age = 17
grade = 98
print('哇,{0}今年{1}岁,她的英语成绩是{2}%'.format(name,age,grade))

(三)列表list、元组tuple

list是一种有序的集合,可以随时添加和删除其中的元素。

students = ['a','b','c']
print(students)
print(len(students))

# 访问第一个元素 
print(students[0])
# 访问最后一个元素
print(students[-1])
# 以此类推 获取倒数第二个
print(students[-2])

# 添加元素
students.append('d')
# 指定位置插入元素、
students.insert(1,'K')
print(students)

# 删除列表末尾的元素
students.pop()
print(students)
# 指定位置删除元素
students.pop(1)
print(students)

# 替换指定位置的元素
students[1] = 'c'
print(students)

有序列表叫元组:tupletuplelist非常类似,但是tuple一旦初始化就不能修改。定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来。

# 元组
tups = ('bob','mok','lvf')
print(tups[0])
# 空元组
tup1 = ()
# 只有一个元素
tup2 = (1,)

(四)条件判断

如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了

# if ...
age = 20
if age >= 18:
    print('你的年龄是:',age)
    print('成年')

# if ... else
if age >= 18:
    print('成年')
else:
    print('未成年')

# if...elif...else
if age >= 18:
    print('成年')
elif age < 18:
    print('未成年')
else:
    print('错误')

age1 = int(input('age:'))
if age1 >= 18:
    print('成年')
else:
    print('未成年')

(五)循环

循环有两种,for...in循环、while循环
for...in循环,依次把listtuple中的每个元素迭代出来,for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

name = ['as','you','me']
for n in name:
    print(n)

# Python提供一个range()函数,可以生成一个整数序列
sum = 0
for x in list(range(101)):
    sum = sum + x
print(sum)

while循环,只要条件满足,就不断循环,条件不满足时退出循环

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

sum = 0
active = True
while active:
    for x in range(11):
        sum = sum + x
    print(sum)
    active = False

break语句退出循环

# 循环打印 当等于12时 提前结束
for x in list(range(20)):
    if x > 12:
        break
    print(x)
print('END')

continue语句,跳过当前的这次循环,直接开始下一次循环。

# 循环打印1-100的偶数
for x in list(range(101)):
    if x != 0 and x%2 == 0:
       print(x)
    else:
        continue

(六) 字典dict 、set(键值对集合)

字典dict

字典dict:使用键-值(key-value)存储,具有极快的查找速度。
dict内部存放的顺序和key放入的顺序是没有关系,dict的key必须是不可变对象
dict特点(用空间来换取时间):
1、查找和插入的速度极快,不会随着key的增加而变慢
2、需要占用大量的内存,内存浪费多。

list特点:
1、查找和插入的时间随着元素的增加而增加;
2、占用空间小,浪费内存很少

people = {'luna':95,'koko':90,'tio':80}
# 如果key不存在 返回false
if 'koko' in people:
    print(people)

# 通过get()判断key是否存在
if people.get('luna') != None:
    print(people.get('luna'))

# 删除key
if people.get('luna') != None:
    people.pop('luna')
    print(people)
    
# 添加
people['momo'] = 65
print(people)

set

一组key的集合,不存储value。由于key不能重复,所以在set中,没有重复的key

# key不重复 无序
sets = set([1,2,3,4,5,3,2])
print(sets)
#添加元素
sets.add(6)
sets.add(5)
print(sets)
# 删除元素
sets.remove(1)
print(sets)
# 无序和无重复元素的集合,可做交集、并集等操作
s1 = set([1,2,3])
s2 = set([2,4,5])
print(s1&s2) # 交集
print(s1|s2) # 并集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值