变量名 = 值
python是一门弱数据语言
b = 10 b = 20 b ="hahahaha"
Java 是一门强数据类型语言
int a = 10; a = 20; a = "hahhhhh" //报错
print() ----------- 打印输出
type()---------查看类型
1.只能由有效的字符组成(数字 大小写字母 下划线)
2. 不能以数字开头
3. 不能是关键字或者保留字
4. 变量命名的时候一定有意义
小驼峰 userName
下划线 user_name(推荐)
import keyword
keyword.kwlist
import keyword >>> keyword.kwlist ['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']二、数据类型和数据类型的转换 1、数据类型 1.1 python弱数据类型语言 --------并不等价于 python没有数据类型
数值型
整型 int
浮点数 float
复数(虚数)-------- 一般不用
python要注意字母的大小写 True False (注意这两个都是大写字母)
1 > 2 # False 1 < 2 <3 # True 42 != '42' # True 'Name' == 'name' # False 'M' in 'Magic' # True number = 12 number is 12 # True 注1:不同类型的对象不能使用<、>、<=、=>进行比较,却可以使用==和!=。 注2:浮点类型和整数类型虽然是不同类型,但不影响比较运算。还有,不等于!= 可以写作<> 。1.3 字符型(str)如果是强数据类型语言,字符是一个对象,弱数据类型语言是一种数据类型" " “”" “”" ‘’’ ‘’’
 字符串内可以包含各种语言
ord() ------- 获取字符的整数的表示
chr()--------把编码转换为对应的字符串
**如果字符串内包含引号怎么转换?"I'm ok"**
这个时候我们可以看到 双引号不能够打出来该语句,这个时候我们需要 用到转义符 ()
在这个基础上,我们还可以实现换行 换行符n
关于多行显示来说,字符串本身就是实现多行显示的
字符串可以通过 string[x] 的方式进行索引、分片。
字符串的分片实际可以看作是从字符串中找出来你要截取的东西,复制出来一小段你要的长度,存储在另一个地方,而不会对字符串这个源文件改动。分片获得的每个字符串可以看作是原字符串的一个副本。
name = 'My name is Mike3' print(name[0]) 'M' print(name[-4]) 'M' print(name[11:14]) # from 11th to 14th, 14th one is excluded 'Mik' print(name[11:15]) # from 11th to 15th, 15th one is excluded 'Mike' print(name[5:]) 'me is Mike' print(name[:5]) 'My na'
复合数据类型(引用数据类型)
字符 列表 元组 集合
全局函数: input() ---------标准的输入函数,默认的返回值字符串
Question 1 # 输入一个数,判断数据类型
Answer# num = input(“输入一个数:”)
print(type(num))
Question 2 # 如何转化为int?
Answer# num = int(input(“请输入一个数:”))
print(type(num))
Question 3 # 输入两个数 判断两个数之间所有的关系
Answer# a = input(“请输入一个数a:”)
b = input(“请输入一个数b:”)
print(a)
print(b)
print(“a > b” + str( a > b ))
print(“a = = b” + str( a = b ))
print(“a < b” + str( a < b ))
print(“a >= b” + str( a > = b ))
print(“a <= b” + str( a < =b ))
print(“a ! = b” + str( a ! = b ))
print("%s > %s的结果是%s" %( a,b,(a>b)))
print("%s < %s的结果是%s" %( a,b,(a print("%s == %s的结果是%s" %( a,b,(a==b)))
print("%s >= %s的结果是%s" %( a,b,(a>=b)))
print("%s <= %s的结果是%s" %( a,b,(a<=b)))
print("%s 1= %s的结果是%s" %( a,b,(a!=b)))
以上的三个列子就是输入与输出的基本应用
3.循环与判断 3.1条件控制定义格式
if (条件){
#分支
}
双分支:
if(条件):
#条件满足的语句
else:
#条件满足的语句
多分支:
if(条件):
#条件满足
elif(条件):
#条件满足
用一句话该结构作用:如果…条件是成立的,就做…;反之,就做…
所谓条件成立,指的是返回值为True的布尔表达式。3.2循环 3.1 for循环
for each for in ----------遍历容器循环
For 变量 in 容器 #缩进 #循环体
For it 循环主要用于遍历可迭代对象(python是一种数据类型)
把 for 循环所的事情概括成一句话就是:于…其中的每一个元素,做…事情。
要注意range的几个点!!!!!
range()------------范围的意思------前闭后开 range()------------表示从0开始到参数结束打印此区间所有的整数,前闭后开 range(参数1,参数2)------表示打印参数1到参数2区间内的整数,前闭后开 range参数1,参数2,step)------表示打印参数1到参数2区间内的整数,数据的变化随着step的变化而变化,默认的step的值为1,前闭后开。例如range(10) range(10,20)range(10,20,2)range(100,10,-2)
for i in range(10,100,2) 是10到100等差为2开始上升的
for i in range(100,10,-2) 是100到10等差为-2开始下降的
打印九九乘法表是循环当中的最基础的最可直观的循环
以下列子展示:
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}t'.format(i, j, i*j), end='')
print()
展示结果:
1x1=1 2x1=2 2x2=4 3x1=3 3x2=6 3x3=9 4x1=4 4x2=8 4x3=12 4x4=16 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=813.2 while循环
循环的作用就是让指定的代码重复的执行,while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
总结:只要…条件一成立,就一直做…
在循环过程中,可以使用 break 跳过循环,使用 continue 跳过该次循环。
在 Python 的 while 循环中,可以使用 else 语句,while … else 在循环条件为 false 时执行 else 语句块。如:
while 条件():
条件满足时,做的事情1
条件满足时,做的事情2
......
# 定义一个整数变量,记录循环的次数
i=1
# 开始循环
while i <= 3:
# 希望循环内执行的代码
print('hello python')
# 处理计数器
i+=1
输出的结果:
hello python hello python hello python
有 while … else 语句,当然也有 for … else 语句,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。如:
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print ('%d 是一个合数' % num)
break # 跳出当前循环
else: # 循环的 else 部分
print ('%d 是一个质数' % num)
运行结果:
10 是一个合数 11 是一个质数 12 是一个合数 13 是一个质数 14 是一个合数 15 是一个合数 16 是一个合数 17 是一个质数 18 是一个合数 19 是一个质数3.3 死循环
while True:
print('hello python')
4.数据结构
Python 有四种数据结构,分别是:列表、字典、元组、集合。我们先从整体上认识一下这四种数据结构:
list = [val1,val2,val3,val4] #列表
dict = {key1:val1,key2:val2} #字典
tuple = (val1,val2,val3,val4) #元组
set = {val1,val2,val3,val4} #集合
4.1列表(List)
列表中的每个元素都是可变的;
列表中的元素是有序的,也就是说每个元素都有一个位置;
列表中可以容纳 Python 中的任何对象。如下:
all_in_list = [
1, #整数
1.0, #浮点数
'a word', #字符串
print(1), #函数
True, #布尔值
[1,2], #列表中套列表
(1,2), #元祖
{'key':'value'} #字典
]
常用方法:append() -------- 向列表的尾部添加元素
insert(index,object) -------- 向指定的下标处添加元素
sort()-----------进行排序(从下到大 int类型)可以对字母进行排序
(ASCII值)类型不能混
index()-------- 返回的是元素在列表中的第一个位置
reverse()------将列表进行翻转
remove()----- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错
count()------- 返回的是某个元素在列表里面的个数
clear()-------- 清除元素
copy()-------- 浅拷贝对象 不等价与 =
extend()------ 合并列表
pop()-----------删除列表尾部的元素(与append相反),返回删除的元素,pop(i) i指的是下标
4.2 字典(Dict)字典中数据必须是以键值对的形式出现的;
逻辑上讲,键是不能重复的;
字典中的键(key)是不可变的,也就是无法修改的,而值(value)是可变的,可修改的,可以是任何对象。
下面是个例子:
NASDAQ_code = {
'BIDU':'Baidu',
'SINA':'Sina',
'YOKU':'Youku'
}
一个字典中键与值并不能脱离对方而存在,如果你写成了 {‘BIDU’:} 会引发一个语法错误:invalid syntax。
如果试着将一个可变(mutable)的元素作为 key 来构建字典,比如列表:key_test = {[]:‘a Test’} ,则会报一个错:unhashable type:‘list’。
同时字典中的键值不会重复,即便你这么做,相同的键值也只能出现一次:a = {‘key’:123,‘key’:123} 。
增删改查操作,在此省略了。
备注:
- 列表中用来添加多个元素的方法为extend,在字典中添加多个元素的方法为update()
- 字典是不能切片的,即这样的写法是错误的:chart[1:4]
元组可以理解为一个稳固版的列表,因为元组是不可以修改的,因此在列表中的存在的方法均不可以使用在元组上,但是元组是可以被查看索引的,方式和列表一样。
letters = ('a, 'b', 'c', 'd')
letters[0]
4.4 集合(Set)
集合则更接近数学上集合的概念。每一个集合中是的元素是无序的、不重复的任意对象,我们可以通过集合去判断数据的从属关系,有时还可以通过集合把数据结构中重复的元素减掉。
集合不能被切片也不能被索引,除了做集合运算之外,集合元素可以被添加还有删除:
a_set = {1,2,3,4}
a_set.add(5)
a_set.discard(5)
常用方法:
clear ---------- 清除
copy------------复制
remove --------如果元素不存在会报错
pop
add -------------添加 ,添加重复的元素的时候不会报错,但是不能成功添加,因为集合元素不能重复
difference ---- 差集
intersection— 交集
union ---------- 并集
update ---------更新意思 更新集合(合并集合)
discard--------- 移除元素,移除不存在的元素的时候,不会报错



