Python基础

#####清屏功能:#转自廖雪峰Python#

    再cmd环境中,写:
import os
os.system('cls')

 CTRL+F6为 重启  restart

1、数据类型和变量

Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。

注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。

Python还允许用r''表示''内部的字符串默认不转义

为了简化,Python允许用'''...'''的格式表示多行内容

地板除 10 // 3 得到的结果为3

转义字符的使用,请打印出以下变量的值:

n = 123
f = 456.789
s1 = 'Hello, world'   s1 = '\'Hello, world\''  print("s1 =", s1)
s2 = 'Hello, \'Adam\''  s2 = '\'Hello, \\\'Adam\\\''  print s2
s3 = r'Hello, "Bart"'
# Python还允许用r''表示''内部的字符串默认不转义
s3 = 'r\'Hello, "Bart"\''
print s3
s4 = r'''Hello, Lisa!'''
s4 = 'r\'\'\'Hello, Lisa!\'\'\''
print s4
2、字符串和编码
ASCII编码是1个字节,而Unicode编码通常是2个字节,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,
常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节,节约空间

python是以unicode的,1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
%%来表示一个%:转义需要输出 "%"
在Python中,采用的格式化方式和C语言是一致的,用%实现
'Hi, %s, you have $%d.' % ('Michael', 1000000)
print('%2d-%02d' % (3, 1))   #输出 3-01
print('%.2f' % 3.1415926) #输出3.14

str和bytes互相转换时,需要指定编码。最常用的编码是UTF-8
# 小明的成绩从去年的72分提升到了今年的85分,
# 请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',
# 只保留小数点后1位:
s1 = 72
s2 = 85
r = (s2-s1)/s1*100
print (r)
print('Hello, {0}, 成绩提升了{1:.1f}%'.format('小明', r))
print('%s成绩提升了 %.1f%%' % ('小明', r))
 
3.使用list和tuple
List:
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
list里的元素可以包含list,S=['python','jack',['java','mysql'],123]
S中java:S[2][0],可以视为二维数组
Tuple:一种有序列列表叫元组,元素在初始化时被确定,以后不可修改
只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:t=(1,)
实例一个指向list可变的Tuple
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y']) 
 #其实变的不是tuple的元素,而是list的元素 tuple所谓的“不变”是说,tuple的每个元素,指向永远不变
 
4.条件判断
在议论input():
s = input('birth: ')
birth = int(s)  #input()函数返回的是str,需要强制类型转换为整数
if birth < 2000:
    print('00前')
else:
    print('00后')
    
    
5.循环
range(101)就可以生成0-100的整数序列
sum = 0
for x in range(101):
    sum = sum + x
print(sum)  #5050
while循环
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
continue循环
continue的作用是提前结束本轮循环,并直接开始下一轮循环。
如果我们想只打印奇数,可以用continue语句跳过某些循环:
n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)
    
6.使用dic 和set
dic:
python内置了字典 dic dictionary,比如Java里的key-value值对
d={'a':1,'b':2,'c':3}
>>> d[a]
也可以通过key放入,d['aa']=1
dic有的优点:
1.查找和插入的时间随着元素的+而+
2.需要占用大量的内存,空间换取时间的做法
注意点:dic的key是不可变对象,在python中 字符串 int 可作为key,而list是不可变的,不可以做为key
set:
不存储value,key是唯一的  s=set([1,1,2,3,4])
s.add(5),s.remove(key)
set可以看成数学意义上的无序和无重复元素的集合,两个set可以做数学交集 并集操作
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}

再议不可变对象

str是不变对象,而list是可变对象

>>> a = 'abc'
>>> b = a.replace('a', 'A') >>> b 'Abc' >>> a 'abc'

a是变量,而'abc'才是字符串对象!有些时候,我们经常说,对象a的内容是'abc',但其实是指,a本身是一个变量,它指向的对象的内容才是'abc'
当我们调用a.replace('a', 'A')时,实际上调用方法replace是作用在字符串对象'abc'上的,而这个方法虽然名字叫replace,但却没有改变字符串'abc'的内容
。相反,replace方法创建了一个新字符串'Abc'并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串'abc',但变量b却指向新字符串'Abc'了:
?tuple虽然是不变对象,但试试把(1, 2, 3)和(1, [2, 3])放入dict或set中,并解释结果。?
ss=set([t[0],[t[1][0],t[1][1]]])  报错unhashable type: 'list'
tuple是不可变的,但是其元素list是可变的,set的key需要不可变的对象
print('%s的十六进制为: %s' %(x,hex(x)))


转载于:https://www.cnblogs.com/smartwen666/p/7691776.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值